Lectures

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)