Tue 1/28 - Notes 1 - Getting Started
Kickoff Survey (Due 1/31)
Thu 1/30 - Notes 2 - Analytical Foundations
Thu 1/30 - proofs (logic statement worksheet, ChatGPT proof)]
Homework 0: Algorithm Design (Set Cover) (Due 2/6)
Tue 2/4 - Notes 3 - Stable matching (Steps 1 and 2)
Homework 1: Stable Matching (Due 2/17)
Tue 2/11 - Notes 4 - Stable matching (Steps 3 and 4)
Tue 2/11 - Notes 5 - Asymptotics (intro, big-O)
Thu 2/13 - Notes 5 - Asymptotics (intro, big-O)
Tue 2/18 - Notes 5 - Asymptotics (intro, big-O)
Tue 2/18 - Notes 6 - Asymptotics (big-Ω, big-Θ)
Homework 2: Asymptotics (Due 2/24)
Thu 2/20 - Notes 7 - Algorithmic analysis (asymptotics workshop)
Tue 2/25 - Notes 8 - Problem Workshop
Tue 2/25 - Notes 9 - Graphs (BFS/DFS)
Homework 3: Graphs (traversals) (Due 3/6)
Thu 2/27 - Notes 10 - Graphs (bipartite)
Quiz 1 (Due 3/3)
Tue 3/4 - Notes 11 - Graphs (directed)
Homework 4: Graphs (bipartite & directed) (Due 3/13)
Thu 3/6 - Notes 12 - Greedy algorithms (single-source shortest paths)
Tue 3/11 - Notes 13 - Greedy algorithms (MST)
Thu 3/13 - Notes 14 - Greedy algorithms (interval problems)
Homework 5: Greedy algorithms (Due 4/1)
Tue 3/18 - NO CLASS - Spring break
Thu 3/20 - NO CLASS - Spring break
Quiz 2 (Due 3/28)
Tue 3/25 - Notes 15 - Dynamic programming (foundations)
Thu 3/27 - Notes 16 - Dynamic programming (knapsack)
Homework 6: Dynamic Programming (Due 4/8)
Thu 4/3 - Notes 18 - Divide-and-conquer (unified method)
Homework 7: Divide-and-conquer (Due 4/22)
Tue 4/8 - Notes 19 - Network flow (Steps 1 and 2)
Thu 4/10 - Notes 20 - Network flow (Steps 3 and 4)
Homework 8: Network flow (Due 4/29)
Quiz 3 (Due 4/18)
Tue 4/15 - Notes 21 - Intractability (P and NP)
Thu 4/17 - Notes 22 - Intractability (NP-completeness)
Homework 9: Intractability (Due 5/6)
Tue 4/22 - Work time for group modules
Thu 4/24 - Work time for group modules
Tue 4/29 - NO CLASS - Community Day
Thu 5/1 - Group modules
Tue 5/6 - Group modules