Course Unit Code | Course Unit Title | Type of Course Unit | Year of Study | Semester | Number of ECTS Credits | 190105000104 | ALGORITHM ANALYSIS | Elective | 4 | 8 | 6 |
|
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 |
1 | Express and compare the time and space complexities of different algorithms using asymptotic notation. | 2 | Select and apply appropriate design paradigms (divide and conquer, greedy, dynamic programming) to develop efficient algorithms. | 3 | Analyze 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 |
|
1 | Asymptotic Notation and Complexity Classes | | | 2 | Comparative Analysis: Worst/Average/Best Case | | | 3 | Divide and Conquer: Merge Sort, Quick Sort | | | 4 | Greedy Algorithms and Case Studies | | | 5 | Dynamic Programming: Core Concepts and Applications | | | 6 | Introduction to Graph Algorithms on Data Structures | | | 7 | Depth-First Search (DFS) and Breadth-First Search (BFS) | | | 8 | Midterm Exam | | | 9 | Shortest Path Algorithms: Dijkstra, Bellman-Ford | | | 10 | Minimum Yayılım Ağacı (Kruskal, Prim) | | | 11 | Backtracking and Branch & Bound Techniques | | | 12 | NP-Complete and NP-Hard Problems; Case Studies | | | 13 | Approximation and Randomized Algorithms | | | 14 | Further Topics in Complexity Theory: P vs. NP and Recent Developments | | | 15 | Final Exam | | | 16 | Final 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 | |
Midterm Examination | 1 | 100 | SUM | 100 | |
Final Examination | 1 | 100 | SUM | 100 | Term (or Year) Learning Activities | 40 | End Of Term (or Year) Learning Activities | 60 | SUM | 100 |
| Language of Instruction | Turkish | Work Placement(s) | None |
|
Workload Calculation |
|
Midterm Examination | 1 | 1 | 1 |
Final Examination | 1 | 2 | 2 |
Self Study | 16 | 6 | 96 |
Individual Study for Mid term Examination | 8 | 4 | 32 |
Individual Study for Final Examination | 8 | 6 | 48 |
|
Contribution of Learning Outcomes to Programme Outcomes |
LO1 | 5 | 5 | 4 | 4 | 5 | 5 | 4 | 5 | 4 | 5 | 4 | 5 | 4 | LO2 | 5 | 4 | 5 | 4 | 4 | 4 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | LO3 | 4 | 4 | 4 | 5 | 4 | 5 | 5 | 5 | 5 | 5 | 4 | 5 | 5 |
|
* 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
|