Lectures occured on Tuesdays and Thursdays. Recitations took place on Wednesdays and Fridays. Optional problem sessions were held on Fridays.
Week | Lectures | Recitations | Problem Sessions | Key Dates |
---|---|---|---|---|
1 | Lecture 1: Introduction Lecture 2: Data Structures | Recitation 1 Recitation 2 | Problem Session 1 | Problem Set 0 Due |
2 | Lecture 3: Sorting Lecture 4: Hashing | Recitation 3 Recitation 4 | Problem Session 2 | Problem Set 1 Due |
3 | Lecture 5: Linear Sorting | Recitation 5 | Problem Session 3 | Problem Set 2 Due |
4 | Lecture 6: Binary Trees, Part 1 Lecture 7: Binary Trees, Part 2: AVL | Recitation 6 Recitation 7 | Problem Session 4 | Problem Set 3 Due |
5 | Lecture 8: Binary Heaps Lecture 9: Breadth-First Search | Recitation 8 Recitation 9 | Quiz 1 Review | Problem Set 4 Due Quiz 1 Review |
6 | Lecture 10: Depth-First Search Lecture 11: Weighted Shortest Paths | Recitation 10 Recitation 11 | Problem Session 5 | |
7 | Lecture 12: Bellman-Ford | Recitation 12 | Problem Session 6 | Problem Set 5 Due Quiz 1 |
8 | Lecture 13: Dijkstra's Algorithm Lecture 14: Johnson's Algorithm | Recitation 13 Recitation 14 | Problem Session 7
| Problem Set 6 Due Quiz 2 Review |
9 | Lecture 15: Dynamic Programming, Part 1: Recursive Algorithms Lecture 16: Dynamic Programming, Part 2: Subproblems | Recitation 15 Recitation 16 | Problem Session 8 | |
10 | Lecture 17: Dynamic Programming, Part 3: APSP, Parens, Piano | Recitation 17 | No problem sessions | Problem Set 7 Due Quiz 2 |
11 | Lecture 18: Dynamic Programming, Part 4: Pseudopolynomials Lecture 19: Complexity | Recitation 18 Recitation 19 | Problem Session 9
| Problem Set 8 Due Quiz 3 Review |
12 | Lecture 20: Course Review | Recitation 20 | No problem sessions | Quiz 3 |
13 | Lecture 21: Algorithms—Next Steps | No recitations | No problem sessions | |
14 | Final Exam |