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
Next