Lectures

Note that the lecture topics are subject to change.

Introduction

Introduction

Lecture 1 Wednesday, September 2
Course Introduction
Classic Algorithms

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

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

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

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

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