0

Schedule (subject to adjustments)

Class Number Date Topics Reading HW Assigned HW Due
1 9/8 Introduction, Strassen's Matrix Multiplication Skim CLRS 1-2
2 9/10 Asymptotic notation CLRS 3 HW 1

3 9/17 Recurrences CLRS 4

4 9/22 Heapsort, Loop invariants CLRS 6
5 9/24 Lower bounds for sorting, Counting Sort, Radix Sort CLRS 8.1-8.3, 9.1, 9.3 HW 2
9/25 HW 1

6 9/29 Deterministic Selection, Randomized Analysis CLRS 5
7 10/1 Indicator Random Variables CLRS 5

8 10/6 Quicksort, Randomized Selection CLRS 7, 9.2
9 10/8 Dynamic Programming CLRS 15 HW 3
10/9 HW 2

10 10/13 Dynamic Programming CLRS 15
11 10/15 Dynamic Programming CLRS 15

12 10/20 Greedy Algorithms CLRS 16
13 10/22 Greedy Algorithms, Amortized Analysis CLRS 16, 17 HW 4 (short)
10/23 HW 3

14 10/27 Amortized Analysis CLRS17   
15 10/29 Graph Algorithms, BFS, DFS, Topological Sort CLRS 22.1-22.4  
10/30 HW 4

M
11/5 MIDTERM IN CLASS HW 5

16 11/10 Strongly Connected Components, Minimum Spanning Trees, Disjoint Sets CLRS 22.5, 23, 21
17 11/12 Single-source shortest paths, relaxation, Bellman-Ford CLRS24.1, 24.5

18 11/17 Shortest paths in dags, Dijkstra's algorithm CLRS 24.2-24.3
19 11/19 All pairs shortest paths CLRS 25 HW 6
11/20 HW 5

20 11/24 Maximum Flows CLRS 26.1-26.2

21 12/1 NP-completeness CLRS 34
22 12/3 NP-completeness CLRS 34

23 12/8 NP-completeness CLRS 34

24 12/10 Approximation Algorithms CLRS 35
12/11 HW 6

12/22, 4:10PM Final


CLRS = Introduction to Algorithms, 3rd edition, by Cormen, Leiserson, Rivest and Stein