Lectures
Note that the lecture topics are subject to change.
Introduction
Lecture 1
Wednesday, September 3
Course Introduction
Classic Algorithms
Lecture 2
Monday, September 8
Dynamic Programming
Lecture 3
Wednesday, September 10
Divide and Conquer and FFT
Lecture 4
Monday, September 15
Network Flows and Applications
Lecture 5
Wednesday, September 17
Hardness within P
Randomization
Lecture 6
Monday, September 22
Probability Review
Lecture 7
Wednesday, September 24
Randomized Algorithms
Lecture 8
Monday, September 29
Hashing
Lecture 9
Wednesday, October 1
Consistent Hashing
Exam
Monday, October 6
Midterm Examination
Approximation and Optimization
Lecture 10
Monday, October 20
Approximation Algorithms
Lecture 11
Wednesday, October 22
Linear Programming
Lecture 12
Monday, October 27
Duality
Lecture 13
Wednesday, October 29
LPs for Approximate Algorithms
New Computational Models
Lecture 14
Monday, November 3
Online Algorithms
Lecture 15
Wednesday, November 5
Streaming Algorithms
Lecture 16
Monday, November 10
Algorithms with Machine Learning Predictions
Lecture 17
Wednesday, November 12
Distributed Algorithms
Information and Codes
Lecture 18
Monday, November 17
Information and Compression
Lecture 19
Wednesday, November 19
Error Correcting Codes
Lecture 20
Monday, December 1
TBD
Lecture 21
Wednesday, December 3
TBD
Exam
Tuesday, December 16
Final Examination