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 Aug 27 Th Introduction, Karatsuba/Strassen
[Lecture notes | CLRS 1, 2, 4.2]
2 Sep 1 T Asymptotic analysis, recurrences
[Lecture Notes | CLRS 3, 4]
HW1 out
3 Sep 3 Th Probabilistic analysis, randomized quicksort
[Lecture Notes | CLRS 5, 7, Appendix C]
4 Sep 8 T Linear time selection/median
[Lecture Notes | CLRS 9]
HW1 due, HW2 out
5 Sep 10 Th Sorting: O(1) algorithms and Ω(n log n) lower bound
[Lecture Notes | CLRS 8]
6 Sep 15 T Amortized Analysis
[Lecture Notes | CLRS 17]
HW2 due, HW3 out
Prof. Dinitz out of town.
7 Sep 17 Th Union-Find
[Lecture Notes | CLRS 21]
Prof. Dinitz out of town
8 Sep 22 T Splay Trees HW3 due
9 Sep 24 Th Universal and perfect hashing
10 Sep 29 T Midterm 1
HW4 out
11 Oct 1 Th Dynamic Programming I
[Lecture Notes | CLRS 15]
12 Oct 6 T Dynamic Programming II
[Lecture Notes | CLRS 15]
HW4 due, HW5 out
13 Oct 8 Th BFS, DFS, topological sort, strongly-connected components
[Lecture Notes | CLRS 22]
14 Oct 13 T Shortest Paths
[Lecture Notes | CLRS 24, 25]
HW5 due, HW6 out
Oct 15 Th No Class (Monday schedule)
15 Oct 20 T Minimum Spanning Trees
[Lecture Notes | CLRS 23]
HW6 due, HW7 out
16 Oct 22 Th Matroids and Greedy Algorithms
[Lecture Notes | CLRS 16.4]
17 Oct 27 T Max-Flow Min-Cut HW7 due
18 Oct 29 Th Max-Flow: Edmonds-Karp
19 Nov 3 T Midterm 2
HW8 out
20 Nov 5 Th Linear programming
21 Nov 10 T NP-completeness I
[Lecture Notes | CLRS 34]
HW8 due, HW9 out
22 Nov 12 Th NP-completeness II
23 Nov 17 T Approximation algorithms
[Lecture Notes | CLRS 35]
HW9 due, HW10 out
24 Nov 19 Th Online algorithms
Nov 24 T No Class: Thanksgiving break
Nov 26 Th No Class: Thanksgiving break
25 Dec 1 T Machine Learning Theory HW10 due
26 Dec 3 Th Algorithmic Game Theory