Plan for Lectures

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 6th Introduction & Overview of Course PDF
Lecture 1 May 6th Introduction to Amortized Analysis PDF
Lecture 2 May 8th Amortized Analysis: Splay Trees PDF
Lecture 3 May 10th Concentration Inequalities PDF
Lecture 4 May 13th Balls and Bins PDF
Lecture 5 May 15th Hashing PDF
Lecture 6 May 17th Graph Sparsification PDF
Lecture 7 May 21st Verifying Polynomial Identities, Matchings, Isolation Lemma PDF
Lecture 8 May 22nd Sublinear Time Algorithms PDF
Lecture 9 May 24th Random Walks, Mixing Time PDF
Lecture 10 May 27th Fundamental Theorem of Markov Chains, Page Rank PDF
Lecture 11 May 29th Linear Programming & Duality Theorems PDF
Lecture 12 May 31st Applications of Duality Theorems PDF
Lecture 13 June 10th Linear Programming Relaxation and Rounding PDF
Lecture 14 June 12th Positive Semidefinite Matrices & Semidefinite Programming (SDP) PDF
Lecture 15 June 14th Semidefinite Programming, Duality Theorems & SDP relaxations PDF
Lecture 16 June 17th SDP Relaxations & Max Cut PDF
Lecture 17 June 19th Online Algorithms: Paging PDF
Lecture 18 June 21st Multiplicative Weights Update Method (MWU) PDF
Lecture 19 July 3rd Data Streaming PDF
Lecture 20 July 5th Matrix Multiplication & Exponent of Linear Algebra PDF
Lecture 21 July 8th Distributed Algorithms: Consensus PDF
Lecture 22 July 10th Hardness of Approximation PDF
Lecture 23 July 12th Zero Knowledge Proofs PDF
Lecture 24 July 15th 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, Ghaffari’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 Matrix Multiplication & Exponent of Linear Algebra
Lecture 21 Distributed Algorithms: Consensus Nancy Lynch’s course notes
Lecture 22 Hardness of Approximation Luca’s survey
Lecture 23 Zero Knowledge Proofs Resources in slides
Next