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