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)