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) | Data structures |
Lecture 14 (11 Nov) | Data structures |
Lecture 15 (13 Nov) | In-Class Midterm |
Lecture 16 (18 Nov) | NP-Hardness |
Lecture 17 (20 Nov) | NP-Hardness |
No lecture (25 Nov) | Thanksgiving week |
No lecture (27 Nov) | Thanksgiving week |
Lecture 18 (2 Dec) | NP-Hardness in Practice |
Lecture 19 (4 Dec) | TBD (Students propose a topic) |