Lecture notes (draft quality) are here.
| Lecture 1 (24 Sep) | Introduction. Basic correctness and runtime analysis. |
| Lecture 2 (29 Sep) | Binary search |
| Lecture 3 (1 Oct) | Divide and Conquer |
| Lecture 4 (6 Oct) | Divide and Conquer |
| Lecture 5 (8 Oct) | Divide and Conquer |
| Lecture 6 (13 Oct) | Dynamic Programming |
| Lecture 7 (15 Oct) | Dynamic Programming |
| Lecture 8 (20 Oct) | Dynamic Programming |
| Lecture 9 (22 Oct) | Dynamic Programming |
| Lecture xx (27 Oct) | Midterm Review |
| Lecture xx (29 Oct) | In-Class Midterm |
| Lecture 10 (3 Nov) | Greedy Algorithms |
| Lecture 11 (5 Nov) | Greedy Algorithms |
| Lecture 12 (10 Nov) | Greedy Algorithms |
| Lecture 13 (12 Nov) | Greedy Algorithms |
| Lecture 14 (17 Nov) | Reductions, NP-Hardness |
| Lecture 15 (19 Nov) | Approximation Algorithms |
| No lecture (24 Nov) | Thanksgiving week |
| No lecture (26 Nov) | Thanksgiving week |
| Lecture xx (1 Dec) | Final Exam Review |
| Lecture xx (3 Dec) | Misc Topic (Students suggest a topic) |