1 Oct
1.4. Gale-Shapley analysis (Glenn)
K&T: 1.1 (p. 7-12 only) and
reading
3 Oct
1.5. Running time (Nathan)
K&T: 2.1-2.4
HW1 Intro/Correctness
HW2 Gale–Shapley/Running Time
6 Oct
2.1. Intro to divide and conquer (Nathan)
8 Oct
2.2. The technique of computing more (Nathan)
10 Oct
2.3. Sorting (Nathan)
K&T 5.3-5.4
HW2 Gale–Shapley/Running Time
HW3 Divide and Conquer
13 Oct
3.1. Graph traversal (Glenn)
K&T: 3.1-3.4
15 Oct
3.2. Implication graphs (Glenn)
K&T: 3.5-3.6
HW1 Intro/Correctness
17 Oct
3.3. Minimum spanning trees (Glenn)
K&T: 4.5
HW3 Divide and Conquer
HW4 Graphs
20 Oct
3.4. Shortest paths (Glenn)
K&T: 4.4
22 Oct
Flex/review (TBD)
HW2 Gale–Shapley/Running Time
27 Oct
4.1. Intro to dynamic programming (Nathan)
29 Oct
4.2. Adding new parameters (Nathan)
K&T: 6.4, 6.8
HW3 Divide and Conquer
31 Oct
4.3. DP on intervals (Nathan)
K&T: 6.5
HW5 Dynamic Programming
5 Nov
5.1. Intro to greedy algorithms (Glenn)
HW4 Graphs
7 Nov
5.2. Scheduling problems (Glenn)
K&T: 4.1-4.2
HW5 Dynamic Programming
HW6 Greedy Algorithms
10 Nov
5.3. Non-optimal greedy algorithms (Glenn)
K&T: 11.1
12 Nov
6.1. Intro to flows (Nathan)
K&T: 7.1
14 Nov
6.2. Flow modeling (Nathan)
HW6 Greedy Algorithms
HW7 Flows
17 Nov
6.3. Flows for matchings (Nathan)
K&T: 7.5
19 Nov
Flex/review (TBD)
HW5 Dynamic Programming
24 Nov
7.1. Intro to NP-completeness (Glenn)
K&T: 8.3-8.4
26 Nov
7.2. Using SAT solvers (Glenn)
HW6 Greedy Algorithms
HW8 NP and SAT
27 Nov
Thanksgiving Day (no class)
28 Nov
Native American Heritage Day (no class)
1 Dec
7.3. Backtracking and SAT solving (Glenn)
3 Dec
7.4. Proving problems hard (Glenn)
K&T: 8.1-8.2, 8.7
HW7 Flows
5 Dec
Courses end
Flex/final review (Nathan/Glenn)
HW8 NP and SAT
HW8 NP and SAT