Topics to be Covered
- Amortized Analysis & Splay Trees (2 lectures)
- Randomized Algorithms: balls and bins, hashing, concentration inequalities, graph sparsification (4 lectures)
- Randomized Algorithms: polynomial identity testing, randomized algorithms for matching problems (1 lecture)
- Randomized Algorithms: random walks, mixing time & page rank (2 lectures)
- Linear programming & duality theorems (2 lectures)
- Approximation Algorithms: linear programming relaxation algorithms (1 lecture)
- Semidefinite Programming & duality theorems (2 lectures)
- Approximation Algorithms: semidefinite relaxation for max cut (1 lecture)
- Hardness of approximation (1 lecture)
- Multiplicative weights update method (1 lecture).
- Data streaming (1 lecture)
- Sublinear time algorithms (1 lecture)
- Online algorithms (2 Lectures)
- Distributed computing (1 lecture)
Lecture Schedule
A compiled (and really well edited) version of the lecture notes, written by Keven Qiu, can be found
here.
|
Date |
Topics |
Slides |
Lecture 0 |
May 9th |
Introduction & Overview of Course |
PDF |
Lecture 1 |
May 9th |
Introduction to Amortized Analysis |
PDF |
Lecture 2 |
May 11th |
Amortized Analysis: Splay Trees |
PDF |
Lecture 3 |
May 16th |
Concentration Inequalities |
PDF |
Lecture 4 |
May 18th |
Balls and Bins |
PDF |
Lecture 5 |
May 25th |
Hashing |
PDF |
Lecture 6 |
May 30th |
Graph Sparsification |
PDF |
Lecture 7 |
June 1st |
Verifying Polynomial Identities, Matchings, Isolation Lemma |
PDF |
Lecture 8 |
June 6th |
Sublinear Time Algorithms |
PDF |
Lecture 9 |
June 8th |
Random Walks, Mixing Time |
PDF |
Lecture 10 |
June 13th |
Fundamental Theorem of Markov Chains, Page Rank |
PDF |
Lecture 11 |
June 15th |
Linear Programming & Duality Theorems |
PDF |
Lecture 12 |
June 20th |
Applications of Duality Theorems |
PDF |
Lecture 13 |
June 22nd |
Linear Programming Relaxation and Rounding |
PDF |
Lecture 14 |
June 27th |
Positive Semidefinite Matrices & Semidefinite Programming (SDP) |
PDF |
Lecture 15 |
June 29th |
Semidefinite Programming, Duality Theorems & SDP relaxations |
PDF |
Lecture 16 |
July 4th |
SDP Relaxations & Max Cut |
PDF |
Lecture 17 |
July 6th |
Online Algorithms: Paging |
PDF |
Lecture 18 |
July 11th |
Multiplicative Weights Update Method (MWU) |
PDF |
Lecture 19 |
July 13th |
Data Streaming |
PDF |
Lecture 20 |
July 18th |
Hardness of Approximation |
PDF |
Lecture 21 |
July 20th |
Matrix Multiplication & Exponent of Linear Algebra |
PDF |
Lecture 22 |
July 25th |
Zero Knowledge Proofs |
PDF |
Lecture 23 |
July 27th |
Distributed Algorithms: Consensus |
PDF |
Lecture 24 |
August 1st |
Conclusion |
PDF |
Suggested Reading
|
Topics |
Suggested Reading |
Lecture 1 |
Introduction to Amortized Analysis |
Jeff Erickson’s notes |
Lecture 2 |
Amortized Analysis: Splay Trees |
Anna’s notes |
Lecture 3 |
Concentration Inequalities |
Lap Chi’s notes |
Lecture 4 |
Balls and Bins |
Lap Chi’s notes |
Lecture 5 |
Hashing |
Lap Chi’s notes |
Lecture 6 |
Graph Sparsification |
Lap Chi’s notes |
Lecture 7 |
Verifying Polynomial Identities, Matchings, Isolation Lemma |
Lap Chi’s notes |
Lecture 8 |
Sublinear Time Algorithms |
Ronitt’s notes |
Lecture 9 |
Random Walks, Mixing Time |
Lap Chi’s notes &
Lap Chi’s notes |
Lecture 10 |
Fundamental Theorem of Markov Chains, Page Rank |
Lap Chi’s notes &
Lap Chi’s notes &
Hannah Cairns notes |
Lecture 11 |
Linear Programming & Duality Theorems |
Lap Chi’s notes |
Lecture 12 |
Applications of Duality Theorems |
Slides only |
Lecture 13 |
Linear Programming Relaxation and Rounding |
|
Lecture 14 |
Positive Semidefinite Matrices & Semidefinite Programming |
|
Lecture 15 |
Semidefinite Programming & Duality Theorems |
Notes |
Lecture 16 |
SDP Relaxations & Max Cut |
Notes |
Lecture 17 |
Online Algorithms: Paging |
Karger’s notes |
Lecture 18 |
Multiplicative Updates Method (MWU) |
Yaron’s notes &
Lap Chi’s notes, Lec 20 |
Lecture 19 |
Data Streaming |
Woodruff’s notes &
Lap Chi’s notes |
Lecture 20 |
Hardness of Approximation |
Luca’s survey |
Lecture 21 |
Matrix Multiplication & Exponent of Linear Algebra |
|
Lecture 22 |
Zero Knowledge Proofs |
Resources in slides |
Lecture 23 |
Distributed Algorithms: Consensus |
Nancy Lynch’s course notes |