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