Description of Individual Course Units
Course Unit CodeCourse Unit TitleType of Course UnitYear of StudySemesterNumber of ECTS Credits
190105000104ALGORITHM ANALYSISElective486
Level of Course Unit
First Cycle
Objectives of the Course
The aim of this course is to develop the ability to quantitatively analyze the efficiency and resource usage of algorithms. Students will learn various algorithm design paradigms (divide and conquer, greedy, dynamic programming, etc.), calculate and compare time and space complexities, and evaluate the scalability and limitations of different solution approaches.
Name of Lecturer(s)
Prof. Dr. Çetin Kaya KOÇ
Learning Outcomes
1Express and compare the time and space complexities of different algorithms using asymptotic notation.
2Select and apply appropriate design paradigms (divide and conquer, greedy, dynamic programming) to develop efficient algorithms.
3Analyze and evaluate the correctness and performance of fundamental graph and tree algorithms.
Mode of Delivery
Daytime Class
Prerequisites and co-requisities
None
Recommended Optional Programme Components
None
Course Contents
The course begins with asymptotic notation (O, Ω, Θ), fundamental complexity classes (P, NP, NP-complete), and methods of comparative analysis. It then covers divide and conquer, greedy algorithms, and dynamic programming with practical examples. Sorting and searching algorithms are analyzed in detail, followed by graph algorithms (DFS, BFS, shortest paths, minimum spanning trees). Later topics include backtracking, branch and bound techniques, NP-hard problems, and approximation algorithms.
Weekly Detailed Course Contents
WeekTheoreticalPracticeLaboratory
1Asymptotic Notation and Complexity Classes
2Comparative Analysis: Worst/Average/Best Case
3Divide and Conquer: Merge Sort, Quick Sort
4Greedy Algorithms and Case Studies
5Dynamic Programming: Core Concepts and Applications
6Introduction to Graph Algorithms on Data Structures
7Depth-First Search (DFS) and Breadth-First Search (BFS)
8Midterm Exam
9Shortest Path Algorithms: Dijkstra, Bellman-Ford
10Minimum Yayılım Ağacı (Kruskal, Prim)
11Backtracking and Branch & Bound Techniques
12NP-Complete and NP-Hard Problems; Case Studies
13Approximation and Randomized Algorithms
14Further Topics in Complexity Theory: P vs. NP and Recent Developments
15Final Exam
16Final Exam
Recommended or Required Reading
Cormen, Leiserson, Rivest, Stein – Introduction to Algorithms Kleinberg, Tardos – Algorithm Design Dasgupta, Papadimitriou, Vazirani – Algorithms
Planned Learning Activities and Teaching Methods
Assessment Methods and Criteria
Term (or Year) Learning ActivitiesQuantityWeight
Midterm Examination1100
SUM100
End Of Term (or Year) Learning ActivitiesQuantityWeight
Final Examination1100
SUM100
Term (or Year) Learning Activities40
End Of Term (or Year) Learning Activities60
SUM100
Language of Instruction
Turkish
Work Placement(s)
None
Workload Calculation
ActivitiesNumberTime (hours)Total Work Load (hours)
Midterm Examination111
Final Examination122
Self Study16696
Individual Study for Mid term Examination8432
Individual Study for Final Examination8648
TOTAL WORKLOAD (hours)179
Contribution of Learning Outcomes to Programme Outcomes
PO
1
PO
2
PO
3
PO
4
PO
5
PO
6
PO
7
PO
8
PO
9
PO
10
PO
11
PO
12
PO
13
LO15544554545454
LO25454445555555
LO34445455555455
* Contribution Level : 1 Very low 2 Low 3 Medium 4 High 5 Very High
 
Iğdır University, Iğdır / TURKEY • Tel (pbx): +90 476 226 13 14 • e-mail: info@igdir.edu.tr