Jan 8 
Administrivia and Course Overview. 
Chapters 13, Chapter 4.4, Chapter 5.15.2 
Jan 10 
Minimum Spanning Trees. Kruskal's Algorithm. UnionFind Data structure 
Chapter 4.54.6. Section 5.1.4 of this book chapter (from Dasgupta, Papadimitriou and Vazirani). Slides 
Jan 15 
Rest of UnionFind. Heaps. 
Chapter 2.5. Chapter 4.3 Slides 
Jan 17 
Optimal Cache Replacement. Greedy approximation algorithms  kcenter.  Chapter 4.4. Chapters 11.1  11.2. Slides 
Jan 22 
Greedy approximation algorithms  kcenter and set cover. Divide and conquer: Integer Multiplication, Strassen's Algorithm. 
Chapter 11.111.2. Chapter 5. Slides 
Jan 24 
Closest Pair of Points on the Plane. Dynamic Programming: String Reconstruction. Longest Common Subsequence. 
Chapter 6 Slides 
Jan 29 
Subset Sum. Independent Set in Trees. All Pairs Shortest Paths. 
Chapter 6. Slides 
Jan 31 
No lecture. Instructor out of town. 

Feb 5 
Dynamic Programming Problem Session. 
Chapter 6 
Feb 7 
Max Flows. Max Flow Min Cut Theorem. 
Chapter 7. Draft Slides 
Feb 12 
Midterm 

Feb 14 
Capacity Scaling. Preflow Push. 
Chapter 7 Draft Slides 
Feb 19 
Discussion of Midterm Solutions and Grading Scheme. Preflow Push Continued.  Chapter 7 Draft Slides 
Feb 21 
Finish up Preflow Push. Bipartite Matchings. Problem Session. 
Chapter 7 Slides 
Feb 26 
Randomized Algorithms. Karger's MinCut Algorithm. 
Chapter 13 Slides 
Feb 28 
Expectation, and Linearity of Expectation. 
Chapter 13 Slides 
Mar 5 
Instructor out of town. Practice problem session. 

Mar 7 
Randomized Selection and Sorting. MAX 3 SAT. 
Chapter 13 Slides 
Mar 12 
Concentration Inequalities  Markov, Chebyshev, Chernoff. Balls and bins. 
Chapter 13 Slides 
Mar 14 
Finish discussion of Practice Problem Set 5. Course Wrapup. 
Chapter 13 