Schedule (subject to adjustments)

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

3 1/29 Recurrences CLRS 4 HW 1
4 1/31 Heapsort, Loop invariants CLRS 6

5 2/5 Lower bounds for sorting, Counting Sort, Radix Sort CLRS 8.1-8.3, 9.1, 9.3
6 2/7 Deterministic Selection, Randomized Analysis CLRS 5
2/8 HW 1

7 2/12 Indicator Random Variables CLRS 5 HW 2
8 2/14 Quicksort, Randomized Selection CLRS 7, 9.2

9 2/19 Dynamic Programming CLRS 15
10 2/21 Dynamic Programming CLRS 15
2/22 HW 2

11 2/26 Dynamic Programming CLRS 15 HW 3
12 2/28 Greedy Algorithms CLRS 16

13 3/5 Greedy Algorithms, Amortized Analysis CLRS 16, 17
14 3/7 Amortized Analysis CLRS17   
3/8 HW 3

15 3/12 Graph Algorithms, BFS, DFS, Topological Sort CLRS 22.1-22.4  
16 3/14 Strongly Connected Components, Minimum Spanning Trees, Disjoint Sets CLRS 22.5, 23, 21

M
3/26 MIDTERM IN CLASS HW 4
17 3/28 minimum spanning tree, disjoint sets CLRS 23, 21


18 4/2 Single-source shortest paths, relaxation, Bellman-Ford, Shortest paths in dags, Dijkstra's algorithm CLRS 24.1-24.4,24.5
19 4/4 All pairs shortest paths CLRS 25
4/5 HW 4

20 4/9 Maximum Flows CLRS 26.1-26.2 HW 5
21 4/11 Maximum Flows CLRS 26.1-26.2

22 4/16 NP-completeness CLRS 34
23 4/18 NP-completeness CLRS 34
4/19 HW 5

24 4/23 NP-completeness, Approximation Algorithms CLRS 34, 35 HW 6
25 4/25 Approximation Algorithms CLRS 35

26 4/30 Online Algorithms
27 5/2 Online Algorithms
5/3 HW 6


Friday, May 10, 4:10 - 7:00 PM , Mudd 633 /td> Final


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