Schedule
Links
- PDF Schedule (last updated August 24th 2025)
- Cumulative Lecture Notes (all lectures in one document)
Week 1
| Tue 26-Aug | Lecture 1: Introduction, Algorithm Analysis, Linear-time Selection | [Notes] [Slides] |
| Thu 28-Aug | Lecture 2: Concrete Models and Lower Bounds | [Notes] [Slides] |
| Homework 1 released | [Homework 1] | |
| Fri 29-Aug | Recitation 1: Lower Bounds | [Recitation 1] [Solutions] |
Week 2
| Tue 02-Sep | Lecture 3: Integer Models and Integer Sorting | [Notes] [Slides] |
| Wed 03-Sep | Homework 1 due | [Solutions] |
| Thu 04-Sep | Lecture 4: Hashing: Universal and Perfect Hashing | [Notes] [Slides] |
| Homework 2 released | [Homework 2] | |
| Fri 05-Sep | Recitation 2: Integer Sorting and Hashing | [Recitation 2] [Solutions] |
Week 3
| Tue 09-Sep | Lecture 5: Fingerprinting | [Notes] [Slides] |
| Programming Problem 1 Released | [Programming 1] | |
| Wed 10-Sep | Homework 2 due | [Solutions] |
| Thu 11-Sep | Lecture 6: Range Query Data Structures | [Notes] [Slides] |
| Homework 3 released | [Homework 3] | |
| Fri 12-Sep | Recitation 3: Fingerprinting and Range Queries | [Recitation 3] [Solutions] |
Week 4
| Tue 16-Sep | Lecture 7: Amortized Analysis | [Notes] [Slides] |
| Wed 17-Sep | Homework 3 orals | |
| Thu 18-Sep | Lecture 8: Union-Find (More Amortized Analysis!) | [Notes] [Slides] |
| Homework 3 orals | ||
| Fri 19-Sep | Recitation 4: Amortized Analysis and Union Find | [Recitation 4] [Solutions] |
| Homework 3 orals | [Solutions] | |
| Programming Problem 1 due |
Week 5
| Tue 23-Sep | Midterm One at 7:00pm | |
| Thu 25-Sep | Lecture 9: Dynamic Programming I | [Notes] [Slides] |
| Homework 4 released | [Homework 4] | |
| Fri 26-Sep | Recitation 5: Dynamic Programming | [Recitation 5] [Solutions] |
Week 6
| Tue 30-Sep | Lecture 10: Dynamic Programming II | [Notes] [Slides] |
| Programming Problem 2 Released | [Programming 2] | |
| Wed 01-Oct | Homework 4 due | [Solutions] |
| Thu 02-Oct | Lecture 11: Network Flows I: Flows, Cuts, and Matchings | [Notes] [Slides] |
| Homework 5 released | [Homework 5] | |
| Fri 03-Oct | Recitation 6: Network Flows | [Recitation 6] [Solutions] |
Week 7
| Tue 07-Oct | Lecture 12: Network Flows II: Polynomial-time Algorithms | [Notes] [Slides] |
| Wed 08-Oct | Homework 5 due | [Solutions] |
| Thu 09-Oct | Lecture 13: Network Flows III: Minimum-cost Flows | [Notes] [Slides] |
| Fri 10-Oct | Recitation 7: Advanced Network Flow | [Recitation 7] [Solutions] |
| Programming Problem 2 due |
Fall Break!
| Mon 13-Oct | Fall Break begins | |
| Fri 17-Oct | Fall Break ends |
Week 8
| Tue 21-Oct | Lecture 14: Game Theory | [Notes] |
| Programming Problem 3 Released | [Programming 3] | |
| Thu 23-Oct | Lecture 15: Linear Programming | [Notes] |
| Homework 6 released | [Homework 6] | |
| Fri 24-Oct | Recitation 8: Game Theory and LPs | [Recitation 8] [Solutions] |
Week 9
| Tue 28-Oct | Lecture 16: Linear Programming II: Duality | [Notes] [Slides] |
| Wed 29-Oct | Homework 6 orals | |
| Thu 30-Oct | Lecture 17: Linear Programming III: Integrality and Polytopes | [Notes] [Slides] |
| Homework 6 orals | ||
| Fri 31-Oct | Recitation 9: More Linear Programming | [Solutions] |
| Homework 6 orals | [Solutions] | |
| Programming Problem 3 due |
Week 10
| Tue 04-Nov | Midterm Two at 7:00pm | |
| Thu 06-Nov | Lecture 18: Approximation Algorithms | [Notes] [Slides] |
| Homework 7 released | [Homework 7] | |
| Fri 07-Nov | Recitation 10: Approximation Algorithms | [Solutions] |
Week 11
| Tue 11-Nov | Lecture 19: Online Algorithms | [Notes] [Slides] |
| Programming Problem 4 Released | [Programming 4] | |
| Wed 12-Nov | Homework 7 due | [Solutions] |
| Thu 13-Nov | Lecture 20: Streaming Algorithms | [Notes] [Slides] |
| Homework 8 released | [Homework 8] | |
| Fri 07-Nov | Recitation 11: Online and Streaming Algorithms | [Solutions] |
Week 12
| Tue 18-Nov | Lecture 21: Computation Geometry I: Fundamentals and the Convex Hull | [Notes] [Slides] |
| Wed 19-Nov | Homework 8 due | [Solutions] |
| Thu 20-Nov | Lecture 22: Computational Geometry II: Randomized Incremental Algorithms | [Notes] [Slides] |
| Homework 9 released | [Homework 9] | |
| Fri 21-Nov | Recitation 11: Computational Geometry | [Solutions] |
| Programming Problem 4 due |
Week 13
| Tue 25-Nov | Lecture 23: Splay Trees | [Notes] [Slides] |
| Wed 26-Nov | Thanksgiving Break | |
| Thu 27-Nov | Thanksgiving Break | |
| Fri 28-Nov | Thanksgiving Break |
Week 14
| Tue 02-Dec | Lecture 24: The Algorithmic Magic of Polynomials | [Notes] [Slides] |
| Wed 03-Dec | Homework 9 orals | |
| Thu 04-Dec | Lecture 25: The Fast Fourier Transform | [Notes] [Slides] |
| Homework 9 orals | ||
| Fri 05-Dec | Recitation 13: Polynomials, FFT | [Recitation 13] [Solutions] |
| Homework 9 orals | [Solutions] |
Finals
| Tue 09-Dec | Final Exam at 5:30PM |