Date | Topic | Reading | Problem Sets | |
Week 1 | 12-Jan | Stable matching; representative problems | KT 1.1-1.2 | |
15-Jan | Algorithm efficiency; Stable matching implementation | KT 2.1-2.3 | PS1 Out | |
Week 2 | 19-Jan | Asymptotic order of growth | KT 2.2, 2.4 DPV 0.3 |
|
22-Jan | Priority queues data structure | KT 2.5 DPV 4.5 |
||
Week 3 | 26-Jan | Graphs and graph traversals Graph traversal using stacks and queues |
KT 3.1-3.3 DPV 3.1 - 3.3 |
|
29-Jan | DAGs and topological ordering Strong connectivity in directed graphs |
KT 3.5, 3.6 DPV 3.4 |
PS1 Due PS2 Out |
|
Week 4 | 2-Feb | Greedy algorithms: Scheduling | KT 4.1 | |
5-Feb | Shortest paths | KT 4.4 DPV 4.4 - 4.7 |
||
Week 5 | 9-Feb | Midterm 1 (held in 20 WVF 6-8 pm) | ||
12-Feb | Minimum spanning trees | KT 4.5 DPV 5.1 |
PS2 Due PS3 Out |
|
Week 6 | 16-Feb | Kruskal's algorithm implementation | KT 4.6 DPV 5.1 |
|
19-Feb | Divide-and-conquer: Mergesort | KT 5.1 DPV 2.3 |
||
Week 7 | 23-Feb | Solving recurrence relations | KT 5.1-5.2 DPV 2.2 |
|
26-Feb | Finding closest pair of points | KT 5.4 | PS3 Due PS4 Out |
|
Week 8 | 1-Mar | Dynamic programming: Weighted interval scheduling | KT 6.1-6.2 | |
4-Mar | Shortest paths with negative weights | KT 6.8 DPV 4.6 |
||
Week 9 | Spring Break | |||
Week 10 | 15-Mar | Knapsack Sequence alignment |
KT 6.4, 6.6 DPV 6.3, 6.4 |
PS4 Due PS5 Out |
18-Mar | Midterm 2 (held in 20 WVF 6-8 pm) | |||
Week 11 | 22-Mar | Network flows: Ford-Fulkerson algorithm | KT 7.1-7.3 DPV 7.2 |
|
25-Mar | Maximum flow and minimum cuts | KT 7.1-7.3 | ||
Week 12 | 29-Mar | Bipartite matching Image segmentation |
KT 7.5, 7.10 | PS5 Due PS6 Out |
1-Apr | Flows and cuts: Project selection | KT 7.11 DPV 7.3 |
||
Week 13 | 5-Apr | P, NP, and NP-completeness | KT 8.1-8.2 DPV 8.1-8.2 |
|
8-Apr | NP-completeness reductions | KT 8.3-8.4 DPV 8.3 |
||
Week 14 | 12-Apr | More NP-completeness reductions | PS6 Due | |
15-Apr | Review | |||
Week 15 | 20-Apr | Final Exam (held in 168 SN 6-9 pm) |