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 31 T Introduction, Karatsuba/Strassen
[Lecture Notes | Slides | Video | CLRS 1, 2, 4.2]
HW1 out
2 Sep 2 Th Asymptotic analysis, recurrences
[Lecture Notes | Slides | Video | CLRS 3, 4]
3 Sep 7 T Probabilistic analysis, randomized quicksort
[Lecture Notes | Slides | Video | CLRS 5, 7, Appendix C]
HW1 due, HW2 out
4 Sep 9 Th Linear time selection/median
[Lecture Notes | Slides | Video | CLRS 9]
5 Sep 14 T Sorting: O(n) algorithms and Ω(n log n) lower bound
[Lecture Notes | Slides | Video | CLRS 8]
6 Sep 16 Th Balanced Search Trees
[Lecture Notes | Slides | Annotated Slides | Video |
CLRS 12, 13, 18]
HW2 due, HW3 out
7 Sep 21 T Amortized Analysis
8 Sep 23 Th Heaps
9 Sep 28 T Union-Find HW3 due, HW4 out
10 Sep 30 Th Universal and Perfect Hashing
11 Oct 5 T Dynamic Programming I
12 Oct 7 Th Dynamic Programming II HW4 due, HW 5 out
13 Oct 12 T Basic Graph Algorithms
14 Oct 14 Th Single-Source Shortest Paths
15 Oct 19 T All-Pairs Shortest Paths
[Slides | Annotated Slides | Video | CLRS 25]
HW5 due, HW 6 out
16 Oct 21 Th Minimum Spanning Trees
17 Oct 26 T Matroids and Greedy Algorithms
18 Oct 28 Th Max-Flow Min-Cut
[Lecture Notes | Slides | Annotated Slides | Video |
CLRS 26.1 - 26.3]
HW6 due, HW7 out
19 Nov 2 T Max-Flow II: Bipartite Matching, Edmonds-Karp
[Lecture Notes | Slides | Annotated Slides | Video |
CLRS 26.1 - 26.3]
20 Nov 4 Th Linear Programming
21 Nov 9 T NP-Completeness I HW7 due, HW8 out
22 Nov 11 Th NP-Completeness II
23 Nov 16 T Approximation Algorithms
24 Nov 18 Th Online Algorithms HW8 due, HW9 out
Nov 23 T No Class: Thanksgiving break
Nov 25 Th No Class: Thanksgiving break
25 Nov 30 T Algorithmic Learning Theory
26 Dec 2 Th Algorithmic Game Theory HW9 due
Dec 16 Th Final Exam