Lectures

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)