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