Course Information


Course Information
Course Title Code Semester L+U Hour Credits ECTS
ALGORITHM DESIGN AND COMPLEXITY 805100715010 3 + 0 3.0 8.0

Prerequisites None

Language of Instruction Turkish
Course Level Graduate Degree
Course Type Compulsory
Mode of delivery
Course Coordinator
Instructors Yılmaz AR
Assistants
Goals The main aim of this course is to show a problem solution which is given and coding process of any programming tool.
Course Content Week 1 Introduction to Programming and Problem Solving: Problem Solving Concepts and Strategies Week 2 Problem Solving Process and Tools. Week 3 Logic Structures: Introduction to Programming Structure Week 4 Problem Solving Approaches, Sequential Logic Structure, Decision Structures Week 5 Loops, Case Logic Structure Week 6 Sort Algorithms Week 7 Search Algorithms Week 8 Algorithmic Puuzles Week 9 Problem Solving Approaches: Problem Solving with Arrays Week 10 Problem Solving with Pointers and Dynamic Memory Week 11 Problem Solving with Classes Week 12 Problem Solving with Recursion Week 13 Problem Solving with Code Reuse Week 14 Thinking like a programmer.
Learning Outcomes 1) Students will learn about problem solving concepts and strategies.
2) Students will have acquired the ability to understand and critique of problem solving process.
3) Students will use problem solving tools.

Weekly Topics (Content)
Week Topics Teaching and Learning Methods and Techniques Study Materials
1. Week Introduction to Programming and Problem Solving: Problem Solving Concepts and Strategies Lecture

Problem Based Learning
Activity (Web Search, Library Work, Trip, Observation, Interview etc.)
2. Week Problem Solving Process and Tools. Lecture

Problem Based Learning
Activity (Web Search, Library Work, Trip, Observation, Interview etc.)
3. Week Logic Structures: Introduction to Programming Structure Lecture

Problem Based Learning
Activity (Web Search, Library Work, Trip, Observation, Interview etc.)
4. Week Problem Solving Approaches, Sequential Logic Structure, Decision Structures Lecture

Problem Based Learning
Activity (Web Search, Library Work, Trip, Observation, Interview etc.)
5. Week Loops, Case Logic Structure Lecture

Problem Based Learning
Activity (Web Search, Library Work, Trip, Observation, Interview etc.)
6. Week Sort Algorithms Lecture

Problem Based Learning
Activity (Web Search, Library Work, Trip, Observation, Interview etc.)
7. Week Search Algorithms Lecture

Problem Based Learning
Activity (Web Search, Library Work, Trip, Observation, Interview etc.)
8. Week Algorithmic Puzzles Lecture
Brainstorming
Problem Based Learning
Activity (Web Search, Library Work, Trip, Observation, Interview etc.)
9. Week Problem Solving Approaches: Problem Solving with Arrays Lecture

Problem Based Learning
Activity (Web Search, Library Work, Trip, Observation, Interview etc.)
10. Week Problem Solving with Pointers and Dynamic Memory Lecture

Problem Based Learning
Activity (Web Search, Library Work, Trip, Observation, Interview etc.)
11. Week Problem Solving with Classes Lecture

Problem Based Learning
Activity (Web Search, Library Work, Trip, Observation, Interview etc.)
12. Week Problem Solving with Recursion Lecture

Problem Based Learning
Activity (Web Search, Library Work, Trip, Observation, Interview etc.)
13. Week Problem Solving with Code Reuse Discussion

Problem Based Learning
Activity (Web Search, Library Work, Trip, Observation, Interview etc.)
14. Week Thinking like a programmer Discussion

Problem Based Learning
Activity (Web Search, Library Work, Trip, Observation, Interview etc.)

Sources Used in This Course
Recommended Sources
Cormen, T. H., Charles, E. L., Ronald, L. R., & Clifford, S. (2009). Introduction to Algorithms (3rd edition). Cambridge, MA: MIT Press.
Cormen, T. H., Leiserson, C. E., Rivest, R. L. & Stein, C. (2009).Introduction to Algorithms. Massacusette Institute of Technology:USA.
Çölkesen, R. (2002). Veri yapıları ve algoritmalar. Papatya Yayınları.
Levitin, A. (2011). Algorithmic Puzzles. Oxford University Press.
Skiena, S. S. (2009).The Algorithm Design Manual. Springer London.
Soner Çelikkol (2001). Programlamaya giriş ve algoritmalar. Akademi Yayınları.
Spraul, A. (2012). Think Like a Programmer: An Introduction to Creative Problem Solving. No Starch Press: San Fransisco.
Vatansever, F. (2009). Algoritma geliştirme ve programlamaya giriş. Seçkin Yayınları.
Wang, W. (2008). Beginning Programming All-In-One Desk Reference For Dummies (First Edition). For Dummies.

Relations with Education Attainment Program Course Competencies
Program RequirementsContribution LevelDK1DK2DK3
PY35400
PY45040
PY85004

*DK = Course's Contrubution.
0 1 2 3 4 5
Level of contribution None Very Low Low Fair High Very High
.

ECTS credits and course workload
Event Quantity Duration (Hour) Total Workload (Hour)
Course Duration (Total weeks*Hours per week) 14 3
Work Hour outside Classroom (Preparation, strengthening) 14 3
Homework 14 3
Midterm Exam 1 1
Time to prepare for Midterm Exam 1 20
Final Exam 1 1
Time to prepare for Final Exam 1 50
14 3
Total Workload
Total Workload / 30 (s)
ECTS Credit of the Course
Quick Access Hızlı Erişim Genişlet
Course Information