Tentative Schedule

This schedule is very preliminary: the number of lectures and order of the topics are likely to change.

Lec. Date Day Topic Notes
1 Sep 5 T Introduction, Karatsuba/Strassen
[Lecture Notes | CLRS 1, 2, 4.2]
2 Sep 7 Th Asymptotic analysis, recurrences
[Lecture Notes | CLRS 3, 4]
HW1 out
3 Sep 12 T Probabilistic analysis, randomized quicksort
[Lecture Notes | CLRS 5, 7, Appendix C]
4 Sep 14 Th Linear time selection/median
[Lecture Notes | CLRS 9]
HW1 due, HW2 out
5 Sep 19 T Sorting: O(1) algorithms and Ω(n log n) lower bound
[Lecture Notes | CLRS 8]
6 Sep 21 Th Balanced Search Trees
[Lecture Notes | CLRS 12, 13, 18]
HW2 due, HW3 out
7 Sep 26 T Amortized Analysis
[Lecture Notes | CLRS 17]
8 Sep 28 Th Heaps HW3 due, HW4 out
9 Oct 3 T Union-Find
[Lecture Notes | CLRS 21]
10 Oct 5 Th Universal and Perfect Hashing HW4 due, HW5 out
11 Oct 10 T Dynamic Programming I
[Lecture Notes | CLRS 15]
12 Oct 12 Th Dynamic Programming II
[Lecture Notes | CLRS 15]
HW5 due, HW6 out
13 Oct 17 T BFS, DFS, topological sort, strongly-connected components
[Lecture Notes | CLRS 22]
14 Oct 19 Th Shortest Paths
[Lecture Notes | CLRS 24, 25]
HW6 due
15 Oct 24 T Minimum Spanning Trees
[Lecture Notes | CLRS 23]
Oct 26 Th Midterm
HW7 out
16 Oct 31 T Matroids and Greedy Algorithms
[Lecture Notes | CLRS 16.4]
17 Nov 2 Th Max-Flow Min-Cut HW7 due, HW8 out
18 Nov 7 T Max-Flow:Edmonds-Karp
19 Nov 9 Th Linear Programming
[Lecture Notes from Avrim Blum | CLRS 29.1, 29.2]
HW8 due, HW9 out
20 Nov 14 T NP-Completeness I
[Lecture Notes | CLRS 34]
21 Nov 16 Th NP-Completeness II HW9 due, HW10 out
Nov 21 T No Class: Thanksgiving break
Nov 23 Th No Class: Thanksgiving break
22 Nov 28 T Approximation Algorithms
[Lecture Notes | CLRS 35]
23 Nov 30 Th Online Algorithms HW10 due, HW11 out
24 Dec 5 T Machine Learning Theory
25 Dec 7 Th Algorithmic Game Theory HW11 due
Dec 15 2pm-5pm Final Exam