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 Hardness of Approximation PDF
Lecture 21 July 8th Matrix Multiplication & Exponent of Linear Algebra PDF
Lecture 22 July 10th Zero Knowledge Proofs PDF
Lecture 23 July 12th Distributed Algorithms: Consensus 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 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
Next