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 | [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: Ninimum-cost Flows | [Notes] [Slides] |
Fri 10-Oct | Recitation 7: Advanced Network Flow | [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] [Slides] |
Programming Problem 3 Released | [Programming 3] | |
Thu 23-Oct | Lecture 15: Linear Programming | [Notes] [Slides] |
Homework 6 released | [Homework 6] | |
Fri 24-Oct | Recitation 8: Game Theory and LPs | [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
TBA | Final Exam at TBA |