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