| Week | Topics | Study Materials | Materials |
| 1 |
Introduction, Mathematical Review, Algorithm Analysis (Introduction)
|
Reading Assignment
|
Theory
|
| 2 |
Algorithm Analysis (Asymptotic Notations and Properties, Worst-case Analysis, Best-case Analysis, Average-case Analysis)
|
Reading Assignment
|
Theory
|
| 3 |
Algorithm Analysis (Iterative Algorithms)
|
Reading Assignment
|
Theory
|
| 4 |
Algorithm Analysis (Sort Functions)
|
Reading Assignment
|
Theory
|
| 5 |
Algorithm Analysis (Recursive Algorithms, Dynamic Programming)
|
Reading Assignment
|
Theory
|
| 6 |
Algorithm Analysis (Recurrence Relations, Decrease and Conquer)
|
Reading Assignment
|
Theory
|
| 7 |
Algorithm Analysis (Recurrence Relations, Master Method)
|
Reading Assignment
|
Theory
|
| 8 |
Algorithm Design (Introduction, State-Space Search, Decrease and Conquer, Divide and Conquer)
|
Reading Assignment
|
Theory
|
| 9 |
Algorithm Design (Randomized Algorithms, Blind Search)
|
Reading Assignment
|
Theory
|
| 10 |
Algorithm Design (Heuristic Algorithms, Branch and Bound)
|
Reading Assignment
|
Theory
|
| 11 |
Complexity Theory (Types of Problems)
|
Reading Assignment
|
Theory
|
| 12 |
Complexity Theory (Example Problems)
|
Reading Assignment
|
Theory
|
| 13 |
Complexity Theory (Reducibility, P, NP, NP-Complete, NP-Hard, Other Classes)
|
Reading Assignment
|
Theory
|
| 14 |
Complexity Theory (Turing Machines, Decidability)
|
Reading Assignment
|
Theory
|