Tentative schedule
Date | Topic | Readings | Homework (out) | Homework (due) | |
1 | 8/30 | Overview | Chapter 1 | ||
2 | 9/1 | Optimality | Chapter 1 | ||
3 | 9/6 | Measuring algorithm performance: Big O | Chapter 2, 3 | ||
4 | 9/8 | Recurrences and Master Theorem | Chapter 4.2, 4.3 | HW1 | |
5 | 9/13 | Quicksort, Mergesort | Chapter 7, Chapter 2.3 | ||
6 | 9/15 | Heapsort | Chapter 6 | ||
7 | 9/20 | Sorting in Linear Time | Chapter 8 | HW2 | HW1 |
8 | 9/22 | Selection: Max, Min, and Medians | Chapter 9 | ||
9 | 9/27 | Hash Tables | Chapter 11 | ||
10 | 9/29 | Red-Black Trees | Chapter 12.1-3, Chapter 13 | ||
11 | 10/4 | Red-Black Trees | |||
12 | 10/6 | Amortized Analysis | Chapter 17 | HW3 | HW2 |
13 | 10/11 | Disjoint Sets (Union-Find) | Chapter 21 | ||
14 | 10/13 | Review | |||
15 | 10/18 | Midterm | |||
16 | 10/20 | Graph Representations, BFS, DFS | Chapter 22.1-3 | ||
17 | 10/25 | Topological Sort, SCC | Chapter 22.4, 22.5 | ||
18 | 10/27 | Strongly Connected Components | Chapter 23.1 | ||
19 | 11/1 | Minimum Spanning Trees: Kruskal Algorithm | Chapter 23.2 | ||
20 | 11/3 | Single-Source Shortest Paths: Dijkstra's Algorithm | Chapter 24.3 | HW4 | HW3 |
21 | 11/8 | All-Pairs Shortest Paths: Floyd-Warsh algorithm | Chapter 25.2 | ||
22 | 11/10 | Dynamic Programming | Chapter 15.2-3 | ||
23 | 11/15 | NP-Completeness | Chapter 34 | ||
24 | 11/17 | NP-Completeness | Chapter 34 | HW5 | HW4 |
25 | 11/22 | Approximation Algorithms | Chapter 35 | ||
26 | 11/24 | Thanksgiving holiday (No lecture) | |||
27 | 11/29 | Parallel Algorithms | Handout | ||
28 | 12/1 | Parallel Algorithms | Handout | ||
29 | 12/6 | Review | HW5 | ||
12/13 | Final Exam | 10:30AM-12:30PM |