15-451/651: Algorithm Design and Analysis (Spring 2025)

Schedule

Links

Week 1

Tue 14-JanLecture 1: Introduction, Algorithm Analysis, Linear-time Selection [Notes] [Slides]
Thu 16-JanLecture 2: Concrete Models and Lower Bounds [Notes] [Slides]
Homework 1 released[Homework 1]
Fri 17-JanRecitation 1: Lower Bounds[Recitation 1] [Solutions]

Week 2

Tue 21-JanLecture 3: Integer Models and Integer Sorting [Notes] [Slides]
Wed 22-JanHomework 1 due[Solutions]
Thu 23-JanLecture 4: Hashing: Universal and Perfect Hashing [Notes] [Slides]
Homework 2 released[Homework 2]
Fri 24-JanRecitation 2: Integer Sorting and Hashing[Recitation 2] [Solutions]

Week 3

Tue 28-JanLecture 5: Fingerprinting [Notes] [Slides]
Programming Problem 1 Released[Programming 1]
Wed 29-JanHomework 2 due[Solutions]
Thu 30-JanLecture 6: Streaming Algorithms [Notes] [Slides]
Homework 3 released[Homework 3]
Fri 31-JanRecitation 3: Fingerprinting and Streaming[Recitation 3] [Solutions]

Week 4

Tue 04-FebLecture 7: Amortized Analysis [Notes] [Slides]
Wed 05-FebHomework 3 orals
Thu 06-FebLecture 8: Union-Find (More Amortized Analysis!) [Notes] [Slides]
Homework 3 orals
Fri 07-FebRecitation 4: Amortized Analysis and Union Find[Recitation 4] [Solutions]
Homework 3 orals[Solutions]
Programming Problem 1 due

Week 5

Tue 11-FebMidterm One at 7:00pm
Thu 13-Feb Lecture 9: Range Query Data Structures [Notes] [Slides]
Homework 4 released[Homework 4]
Fri 14-FebRecitation 5: Range Queries[Recitation 5] [Solutions]

Week 6

Tue 18-Feb Lecture 10: Dynamic Programming I [Notes] [Slides]
Programming Problem 2 Released[Programming 2]
Wed 19-FebHomework 4 due[Solutions]
Thu 20-Feb Lecture 11: Dynamic Programming II [Notes] [Slides]
Homework 5 released[Homework 5]
Fri 21-FebRecitation 6: Dynamic Programming[Recitation 6] [Solutions]

Week 7

Tue 25-FebLecture 12: Network Flows I: Flows, Cuts, and Matchings [Notes] [Slides]
Wed 26-FebHomework 5 due[Solutions]
Thu 27-Feb Lecture 13: Network Flows II: Polynomial-time Algorithms and Minimum-cost Flows [Notes] [Slides]
Fri 28-FebRecitation 7: Network Flow[Recitation 7] [Solutions]
Programming Problem 2 due

Spring Break!

Mon 03-MarSpring Break begins
Fri 07-MarSpring Break ends

Week 8

Tue 11-MarLecture 14: Game Theory [Notes] [Slides]
Programming Problem 3 Released[Programming 3]
Thu 13-MarLecture 15: Linear Programming [Notes] [Slides]
Homework 6 released[Homework 6]
Fri 14-MarRecitation 8: Game Theory and LPs[Recitation 8] [Solutions]

Week 9

Tue 18-MarLecture 16: Linear Programming II: Duality [Notes] [Slides]
Wed 19-MarHomework 6 orals
Thu 20-MarLecture 17: Linear Programming III: Seidel's Algorithm [Notes] [Slides]
Homework 6 orals
Fri 21-MarRecitation 9: More Linear Programming[Recitation 9] [Solutions]
Homework 6 orals[Solutions]
Programming Problem 3 due

Week 10

Tue 25-MarMidterm Two at 7:00pm
Thu 27-Mar Lecture 18: Online Learning and the Multiplicative Weights Algorithm [Notes] [Slides]
Homework 7 released[Homework 7]
Fri 28-MarRecitation 10: Online Learning and the Multiplicative Weights Algorithm[Recitation 10] [Solutions]

Week 11

Tue 01-AprLecture 19: Approximation Algorithms [Notes] [Slides]
Wed 02-AprHomework 7 due[Solutions]
Thu 03-AprCarnival begins
Sat 05-AprCarnival ends

Week 12

Tue 08-AprLecture 21: Online Algorithms [Notes] [Slides]
Programming Problem 4 Released[Programming 4]
Thu 10-AprLecture 22: Computation Geometry I: Fundamentals and the Convex Hull [Notes] [Slides]
Homework 8 released[Homework 8]
Fri 11-AprRecitation 11: Approximation and Online Algorithms[Recitation 11] [Solutions]
Programming Problem 4 due

Week 13

Tue 15-AprLecture 23: Computational Geometry II: Randomized Incremental Algorithms[Slides]
Wed 16-AprHomework 8 due[Solutions]
Thu 17-AprLecture 20: The Algorithmic Magic of Polynomials [Notes] [Slides]
Homework 9 released[Homework 9]
Fri 18-AprRecitation 12: Computational Geometry[Recitation 12] [Solutions]

Week 14

Tue 22-AprLecture 24: The Fast Fourier Transform[Slides]
Wed 23-AprHomework 9 orals
Thu 24-AprLecture 25: Gradient Descent[Slides]
Homework 9 orals
Fri 25-AprRecitation 13: Polynomials, FFT, Gradient Descent[Recitation 13] [Solutions]
Homework 9 orals[Solutions]

Finals

TBDFinal Exam