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

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
Next