| Lect | Date | Topic | Reference | |
| 1 | 08/25 | Introduction | [KT Ch 1,2,3] | |
| I. Design Techniques | ||||
| 2 | 08/27 | Divide and Conquer | [KT Ch 5, Ed Ch 2] | |
| 3 | 09/01 | Prune and Search | [Ed Ch 3] | |
| 4 | 09/03 | Greedy Algorithms | [KT Ch 4, Ed Ch 5] | |
| 5 | 09/08 | Dynamic Programming | [KT Ch 6, Ed Ch 4] | |
| II. Data Structures | ||||
| 6 | 09/10 | Binary Search Trees | [CLRS Ch 12, Ed Ch 6, Ta Ch 4] | |
| 7 | 09/15 | Amortization, Union-Find | [CLRS Ch 17,21, Ta Ch 2] | |
| 8 | 09/17 | Union-find with path compression | [CLRS Ch 21, Ed Ch 16, Ta Ch 2] | |
| III. Graph Algorithms | ||||
| 9 | 09/22 | Graph search | [KT Ch 3] | |
| 10 | 09/24 | Minimum spanning trees | [KT Ch 4] | |
| 11 | 09/29 | Shortest paths | [KT Ch 4,6] | |
| IV. Algebraic Algorithms | ||||
| 12 | 10/01 | Polynomial Identity Testing Polynomial Multiplication |
[JACM paper, KT Ch 5] | |
| 13 | 10/08 | Fast Fourier Transform | [KT Ch 5] | |
| V. Data Structures II | ||||
| 14 | 10/13 | Randomized Search Trees, Skip List | [Er Lec 6] | |
| 10/15 | MIDTERM | |||
| 15 | 10/20 | Hashing | [Er Lec 7] | |
| VI. Geometric Algorithms | ||||
| 16 | 10/22 | Closest Pair, Nearest Neighbor Searching | [KT Ch 5] | |
| 17 | 10/27 | Delaunay Triangulation | [Ed Lect 21] | |
| VII. Linear Programming | ||||
| 18 | 10/29 | Examples, Geometry, Duality | [Er Lect I, CLRS Ch 29] | |
| 19 | 11/03 | Simplex Algorithm | [Er Lect J, CLRS Ch 29] | |
| VIII. Graph Algorithms II | ||||
| 20 | 11/05 | Max Flow & Min Cut | [KT Ch7, Er Ch 15] | |
| 21 | 11/10 | Max Flow Algorithms & Applications | [KT Ch 7, Er Ch 16, 17] | |
| IX. Intractability | ||||
| 22 | 11/12 | Easy and Hard Problems | [KT Ch 8, Ed Ch 23] | |
| 23 | 11/17 | NP Completeness | [KT Ch 8, Ed Ch 24] | |
| 24 | 11/19 | Approximation Algorithms | [KT Ch 11, Ed Ch 25] | |
| 25 | 11/24 | Limited Space Computation | ||
| 12/11 | FINAL EXAM | |||