This is the tentative lecture schedule.
| Lecture 1 (4 Aug) | Introduction. Basic correctness and runtime analysis. |
| Lecture 2 (6 Aug) | Divide and Conquer |
| Lecture 3 (11 Aug) | Divide and Conquer |
| Lecture 4 (13 Aug) | Dynamic Programming |
| Lecture 5 (18 Aug) | Dynamic Programming |
| Lecture 6 (20 Aug) | Dynamic Programming |
| Lecture 7 (25 Aug) | Midterm (Must attend) |
| Lecture 8 (27 Aug) | Greedy Algorithms |
| Lecture 9 (1 Sep) | Greedy Algorithms |
| Lecture 10 (3 Sep) | Greedy Algorithms |
| Lecture 11 (8 Sep) | NP-Hardness |
| Lecture 12 (10 Sep) | Final Exam (Must attend) |