Class | Date | Day | Topic | Reading | Activity | Lecturer |
1 | Jan 15 | Tue | Intro & Admin. Karatsuba multiplication | GM | ||
2 | Jan 17 | Thu | Asymptotics, Recurrences | 1-4 | Asst 1 Ready | GM |
3 | Jan 22 | Tue | Probabilistic analysis. Randomized Quicksort. | 5, 7 | GB | |
4 | Jan 24 | Thu | Linear-time selection (randomized and deterministic). | 9 | GM | |
5 | Jan 29 | Tue | Lower bounds for comparison sorting. | 8.1 | Asst 1 Due | GM |
6 | Jan 31 | Thu | Dynamic Programming | 15 | Asst 2 Ready | GB |
7 | Feb 5 | Tue | Balanced Trees | 12, 18 | GB | |
8 | Feb 7 | Thu | Amortized Analysis | 17 | GM | |
9 | Feb 12 | Tue | Self-adjusting lists and trees. | Asst 2 Due | GM | |
10 | Feb 14 | Thu | Radix Structures | 8 | Asst 3 Ready | GB |
11 | Feb 19 | Tue | Exam 1 | |||
12 | Feb 21 | Thu | Hashing | 11 | GB | |
13 | Feb 26 | Tue | Graph algs I: MST (Prim and Kruskal). | 22, 23 | Asst 3 Due | GM |
14 | Feb 28 | Thu | Union-Find | 21 | Asst 4 Ready | GM |
15 | Mar 5 | Tue | Shortest Paths | 24, 25 | GB | |
Mar 7 | Thu | Midsemester break | ||||
16 | Mar 12 | Tue | Strongly Connected Components & related algorithms | 22.5 | Asst 4 Due | GB |
17 | Mar 14 | Thu | Network Flows and Matchings I | 26 | Asst 5 Ready | GB |
18 | Mar 19 | Tue | Network Flows and Matchings II | GB | ||
19 | Mar 21 | Thu | Linear Programming I | 29 | GB | |
20 | Mar 26 | Tue | Linear Programming II | Asst 5 Due | GB | |
21 | Mar 28 | Thu | Exam 2 | |||
Apr 2 | Tue | Spring Break I | ||||
Apr 4 | Thu | Spring Break II | Asst 6 Ready | |||
22 | Apr 9 | Tue | NP-completeness I | 34 | GB | |
23 | Apr 11 | Thu | NP-completeness II | GB | ||
24 | Apr 16 | Tue | Number-theoretic algorithms I | 31 | Asst 6 Due | GM |
25 | Apr 18 | Thu | Number-theoretic algorithms II | GM | ||
26 | Apr 23 | Tue | Computaional Geometry I | 33 | Asst 7 Ready | GM |
27 | Apr 25 | Thu | Computaional Geometry II | GM | ||
28 | Apr 30 | Tue | Approximation Algorithms | 35 | GM | |
29 | May 2 | Thu | Review | Asst 7 Due | GB/GM | |
May 6 | Mon | Final (5:30-8:30pm) |
The reading assignments all refer to CLRS, "Introduction to Algorithms"