| Jan 6 | Administrivia and Course Overview. | Chapters 1-3, Chapter 4.4, Chapter 5.1-5.2 |
| Jan 8 | Minimum Spanning Trees. Kruskal's Algorithm. Union-Find Data structure | Chapter 4.5-4.6. Section 5.1.4 of this book (from Dasgupta, Papadimitriou and Vazirani). Slides |
| Jan 13 | Rest of Union-Find. Heaps. | Chapter 2.5. Chapter 4.3. See slides for Jan 8 lecture. |
| Jan 15 | Optimal Cache Replacement. Greedy approximation algorithms - k-center. | Chapter 4.4. Chapters 11.1 - 11.2. See slides for Jan 8 lecture. |
| Jan 20 | Greedy approximation algorithms - set cover. Dynamic Programming: String Reconstruction. Longest Common Subsequence. | Chapter 11.1-11.2. Chapter 6. Slides |
| Jan 22 | Subset Sum. Independent Set in Trees. All Pairs Shortest Paths. | Chapter 6. See Slides for Jan 20 lecture. |
| Jan 27 | Dynamic Programming Problem Session. | |
| Jan 29 | No lecture. | |
| Feb 3 | Midterm. | |
| Feb 5 | Max Flows. Max Flow Min Cut Theorem. Ford-Fulkerson. | Chapter 7. Slides |
| Feb 10 | Midterm Solutions and Grading Scheme Discussed. Capacity Scaling. | See Slides for 2/5 lecture. |
| Feb 12 | Preflow Push. | See Slides for 2/5 lecture. |
| Feb 17 | Bipartite Matching. | Chapter 7 Slides |
| Feb 19 | Randomized Algorithms. Karger's Min Cut. Expectation. | Chapter 12 Slides |
| Feb 24 | Linearity of Expectation. Randomized Selection and Sorting. | Chapter 13. Slides for 2/19. |
| Feb 26 | Problem Session. |