| Class | Day | Date | Topic | Notes |
| -- | Tue | Jan 14 | ||
| 1 | Thu | Jan 16 | Introduction Models of computation |
|
| 2 | Tue | Jan 21 | Models of Computation Brent's scheduling principle |
|
| 3 | Thu | Jan 23 | Prefix Sums | |
| 4 | Tue | Jan 28 | Selection Mergesort |
|
| 5 | Thu | Jan 30 | Sorting networks | |
| 6 | Tue | Feb 4 | Sorting networks | |
| 7 | Thu | Feb 6 | Homework 1 out | |
| 8 | Tue | Feb 11 | ||
| 9 | Thu | Feb 13 | List Ranking: Wyllie's pointer hopping, randomized MIS | |
| 10 | Tue | Feb 18 | List Ranking: deterministic MIS | |
| 11 | Thu | Feb 20 | Tree algorithms: Euler circuit, expression tree evaluation | Homework 1 due |
| 12 | Tue | Feb 25 | ||
| 13 | Thu | Feb 27 | Lowest Common Anscestors, Range Minima Queries | Homework 2 out |
| 14 | Tue | Mar 4 | ||
| 15 | Thu | Mar 6 | Connected components, Minimum spanning tree | |
| 16 | Tue | Mar 11 | O(log n) time connected components | |
| 17 | Thu | Mar 13 | Bi-connected components | Homework 2 due Homework 3 out |
| 18 | Tue | Mar 18 | All-pairs shortest paths, matrix multiplication | |
| 19 | Thu | Mar 20 | Computational Geometry: Convext hull | |
| -- | Tue | Mar 25 | Spring Break | |
| -- | Thu | Mar 27 | Spring Break | |
| 20 | Tue | Apr 1 | ||
| 21 | Thu | Apr 3 | Homework 3 due | |
| 22 | Tue | Apr 8 | ||
| 23 | Thu | Apr 10 | ||
| 24 | Tue | Apr 15 | Computational Geometry: Half-plane intersection, 2-variable linear programming | |
| 25 | Thu | Apr 17 | Homework 4 out | |
| 26 | Tue | Apr 22 | ||
| 27 | Thu | Apr 24 | ||
| 28 | Tue | Apr 29 | Computational Geometry: Plane sweep tree | |
| 29 | Thu | May 1 | Advanced models of computation: PEM, GPU, MapReduce | Homework 4 due |
| 30 | Tue | May 6 | Project presentation. Limits of parallelism | Project due |