Plan for Lectures
Topics to be Covered
- Amortized Analysis: Union find, Splay Trees (2 lectures)
- Randomized Algorithms: balls and bins, hashing, data streaming, sublinear algorithms (4 lectures).
- Randomized Algorithms: Concentration inequalities, graph sparsification, dimension reduction (3 lectures).
- Randomized Algorithms: polynomial identity testing, randomized algorithms for matching problems (1 lecture).
- Randomized Algorithms: random walks, mixing time & page rank (1 lecture).
- Linear programming & duality theorems (1 Lecture)
- Approximation Algorithms: linear programming relaxation & rounding, approximation algorithms for TSP (2 lectures).
- Semidefinite Programming (1 Lecture)
- Approximation Algorithms: max cut, hardness of approximation (2 lectures)
- Multiplicative updates method (1 lecture).
- Online algorithms (2 Lectures)
- Algorithms for Linear Algebra (1 lecture)
- Distributed Computing (1 lecture)
- Zero-Knowledge Proofs (1 Lecture)
Lecture Schedule
|
Date |
Topics |
Slides |
Lecture 0 |
May 11 |
Introduction & Overview of Course |
PDF |
Lecture 1 |
May 11 |
Amortized Analysis: Union Find |
PDF |
Lecture 2 |
May 13 |
Amortized Analysis: Splay Trees |
PDF |
Lecture 3 |
May 18 |
Concentration Inequalities |
PDF |
Lecture 4 |
May 20 |
Balls and Bins |
PDF |
Lecture 5 |
May 25 |
Hashing |
PDF |
Lecture 6 |
May 27 |
Data Streaming |
PDF |
Lecture 7 |
June 1 |
Sublinear Time Algorithms |
PDF |
Lecture 8 |
June 3 |
Graph Sparsification |
PDF |
Lecture 9 |
June 8 |
Dimension Reduction |
PDF |
Lecture 10 |
June 10 |
Verifying Polynomial Identities, Parallel Algorithms for Matching Problems |
PDF |
Lecture 11 |
June 15 |
Random Walks, Mixing Time, Page Rank |
PDF |
Lecture 12 |
June 17 |
Linear Programming & Duality Theorems (min-max principles) |
PDF |
Lecture 13 |
June 22 |
Multiplicative Updates Method |
PDF |
Lecture 14 |
June 24 |
Linear Programming Relaxation and Rounding |
PDF |
Lecture 15 |
June 29 |
Approximation Algorithms for Travelling Salesman Problem |
PDF |
Lecture 16 |
July 6 |
Semidefinite Programming |
PDF |
Lecture 17 |
July 8 |
Goemans-Williamson SDP Relaxation for Max Cut |
PDF |
Lecture 18 |
July 13 |
Hardness of Approximation |
PDF |
Lecture 19 |
July 15 |
Online Algorithms: Paging |
PDF |
Lecture 20 |
July 20 |
Online Algorithms: k-server problem |
PDF |
Lecture 21 |
July 22 |
Matrix Multiplication & Exponent of Linear Algebra |
PDF |
Lecture 22 |
July 27 |
Distributed Algorithms: Consensus |
PDF |
Lecture 23 |
July 29 |
Zero-Knowledge Proofs |
PDF |
Lecture 24 |
August 4 |
Conclusion |
PDF |
Suggested Reading
|
Topics |
Suggested Reading |
Lecture 0 |
Introduction & Overview of Course |
PDF |
Lecture 1 |
Amortized Analysis: Union Find |
Anna’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 |
Data Streaming |
Woodruff’s notes &
Lap Chi’s notes |
Lecture 7 |
Sublinear Time Algorithms |
Ronitt’s notes |
Lecture 8 |
Graph Sparsification |
Lap Chi’s notes |
Lecture 9 |
Dimension Reduction |
Lap Chi’s notes |
Lecture 10 |
Verifying Polynomial Identities, Parallel Algorithms for Matching Problems |
Lap Chi’s notes |
Lecture 11 |
Random Walks, Mixing Time, Page Rank |
Lap Chi’s notes &
Lap Chi’s notes |
Lecture 12 |
Linear Programming & Duality Theorems (min-max principles) |
Lap Chi’s notes |
Lecture 13 |
Multiplicative Updates Method |
Yaron’s notes &
Lap Chi’s notes |
Lecture 14 |
Linear Programming Relaxation and Rounding |
Luca’s notes |
Lecture 15 |
Approximation Algorithms for Travelling Salesman Problem |
Luca’s notes |
Lecture 16 |
Semidefinite Programming |
Notes |
Lecture 17 |
Goemans-Williamson SDP Relaxation for Max Cut |
Notes |
Lecture 18 |
Hardness of Approximation |
Luca’s survey |
Lecture 19 |
Online Algorithms: Paging |
Karger’s notes |
Lecture 20 |
Online Algorithms: k-server problem |
Karger’s notes |
Lecture 21 |
Matrix Multiplication & Exponent of Linear Algebra |
The class notes |
Lecture 22 |
Distributed Algorithms: Consensus |
Nancy Lynch’s course notes |
Lecture 23 |
Zero-Knowledge Proofs |
Goldreich’s book, Chapter 6 |
Lecture 24 |
Conclusion |
N/A |