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: iterative rounding, approximation algorithms (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)
- Cache-oblivious algorithms (1 lecture)
- Parallel algorithms (1 lecture)
- Distributed Computing (1 lecture)
- Zero-Knowledge Proofs (1 Lecture)
Lecture Schedule
|
Date |
Topics |
Slides |
Lecture 0 |
September 9 |
Introduction & Overview of Course |
PDF |
Lecture 1 |
September 9 |
Amortized Analysis & Union Find |
PDF |
Lecture 2 |
September 14 |
Amortized Analysis & Splay Trees |
PDF |
Lecture 3 |
September 16 |
Balls and Bins |
PDF |
Lecture 4 |
September 21 |
Hashing |
PDF |
Lecture 5 |
September 23 |
Data Streaming |
PDF |
Lecture 6 |
September 28 |
Concentration Inequalities |
PDF |
Lecture 7 |
September 30 |
Sublinear Time Algorithms |
PDF |
Lecture 8 |
October 5 |
Graph Sparsification |
PDF |
Lecture 9 |
October 7 |
Dimension Reduction |
PDF |
Lecture 10 |
October 19 |
Verifying Polynomial Identities, Parallel Algorithms for Matching Problems |
PDF |
Lecture 11 |
October 21 |
Random Walks, Mixing Time, Page Rank |
PDF |
Lecture 12 |
October 26 |
Linear Programming & Duality Theorems (min-max principles) |
PDF |
Lecture 13 |
October 28 |
Multiplicative Updates Method |
PDF |
Lecture 14 |
November 2 |
Linear Programming Relaxation and Rounding |
PDF |
Lecture 15 |
November 4 |
Approximation Algorithms for Travelling Salesman Problem |
PDF |
Lecture 16 |
November 9 |
Semidefinite Programming |
PDF |
Lecture 17 |
November 11 |
Goemans-Williamson SDP Relaxation for Max Cut |
PDF |
Lecture 18 |
November 16 |
Hardness of Approximation |
PDF |
Lecture 19 |
November 18 |
Online Algorithms: Paging |
PDF |
Lecture 20 |
November 23 |
Online Algorithms: k-server problem |
PDF |
Lecture 21 |
November 25 |
Parallel Algorithms: “Linear Algebra in Parallel” |
PDF |
Lecture 22 |
November 30 |
Cache-Oblivious Algorithms |
PDF |
Lecture 23 |
December 2 |
Zero-Knowledge Proofs |
PDF |
Lecture 24 |
December 7 |
Distributed Algorithms: Consensus |
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 |
Balls and Bins |
Lap Chi’s notes |
Lecture 4 |
Hashing |
Lap chi’s notes |
Lecture 5 |
Data Streaming |
Woodruff’s notes |
Lecture 6 |
Concentration Inequalities |
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 |
Lecture 12 |
Linear Programming & Duality Theorems (min-max principles) |
Lap Chi’s notes |
Lecture 13 |
Multiplicative Updates Method |
Yaron’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 |
Parallel Algorithms: “Linear Algebra in Parallel” |
Original Paper by Berkowitz |
Lecture 22 |
Cache-Oblivious Algorithms |
Original Paper mentioned in lecture |
Lecture 23 |
Zero-Knowledge Proofs |
Goldreich’s book, Chapter 6 |
Lecture 24 |
Distributed Algorithms: Consensus |
Nancy Lynch’s course notes |