This is the tentative lecture schedule.
| Lecture 1 (25 Sep) | Introduction. Basic correctness and runtime analysis. |
| Lecture 2 (30 Sep) | Binary search |
| Lecture 3 (2 Oct) | Divide and Conquer |
| Lecture 4 (7 Oct) | Divide and Conquer |
| Lecture 5 (9 Oct) | Divide and Conquer |
| Lecture 6 (14 Oct) | Dynamic Programming |
| Lecture 7 (16 Oct) | Dynamic Programming |
| Lecture 8 (21 Oct) | Dynamic Programming |
| Lecture 9 (23 Oct) | Dynamic Programming |
| Lecture 10 (28 Oct) | Greedy Algorithms |
| Lecture 11 (30 Oct) | Greedy Algorithms |
| Lecture 12 (4 Nov) | Greedy Algorithms |
| Lecture 13 (6 Nov) | Greedy Algorithms |
| Lecture xx (11 Nov) | University Holiday -- Unofficial Midterm Review |
| Lecture xx (13 Nov) | In-Class Midterm |
| Lecture xx (18 Nov) | Midterm Solutions |
| Lecture 14 (20 Nov) | Reductions, NP-Hardness |
| No lecture (25 Nov) | Thanksgiving week |
| No lecture (27 Nov) | Thanksgiving week |
| Lecture xx (2 Dec) | Review |
| Lecture 15? (4 Dec) | TBD (Students propose a topic) |