Lecture Topics (tentative)
Video recordings of all the lectures can be found on
videonote .
1/24 —
Introduction
Reading: §1.2
1/26 —
Stable matching I: Gale–Shapley algorithm
Reading: §1.1
1/29 —
Stable matching II: Analysis of Gale–Shapley
Reading: §1.1
1/31 —
Greedy algorithms I: Interval Scheduling
Reading: §4.1
2/2 —
Greedy algorithms II: Minimizing Lateness
Reading: §4.2
2/5 —
Greedy algorithms III: Minimum Spanning Tree
Reading: §4.5, 4.6
2/7 —
Dynamic programming I: Weighted Interval Scheduling
Reading: §6.1
2/9 —
Dynamic programming II: Subset Sums and Knapsacks
Reading: §6.4
2/12 —
Dynamic programming III: RNA Secondary Structure
Reading: §6.5
2/14 —
Dynamic programming IV: Shortest Paths in a Graph
Reading: §6.8
2/23 —
Review of Material for Prelim 1
2/26 —
Divide and Conquer I: Multiplying Integers
Reading: §5.5
2/28 —
Divide and Conquer II: Counting Inversions
Reading: §5.3
3/2 —
Divide and Conquer III: Closest Pair of Points in the Plane
Reading: §5.4
3/5 —
Network Flow I: Definition
Reading: §7.1
3/7 —
Network Flow II: Ford-Fulkerson
Reading: §7.2
3/9 —
Network Flow III: Bipartite Matching
Reading: §7.5
3/12 —
Network Flow IV: Baseball Elimination
Reading: §7.12
3/14 &mash;
Network Flow V: Image Segmentation
Reading: §7.10
3/16 —
Network Flow VI: The Edmonds-Karp Algorithm
Reading:
Lecture notes on the Edmonds-Karp Algorithm
3/19 —
NP-Completeness I: 3SAT
Reading: §8.1, 8.3, 8.4 (first half)
3/21 —
NP-Completeness II: Independent Set, Clique, Vertex Cover
Reading: §8.2, 8.4 (second half)
3/23 —
NP-Completeness III: Hamiltonian Cycle, Traveling Salesman
Reading: §8.5
3/26 —
NP-Completeness IV: 3-Dimensional Matching
Reading: §8.6
3/28 —
NP-Completeness V: Subset Sum
Reading: §8.8
3/30 —
NP-Completeness VI: Review, Panorama of Complexity Classes
Reading: §8.9, 8.10
4/9 —
Computability Theory I: Turing Machine Definitions
Reading: Notes on Turing Machines, §1,2
4/11 —
Prelim 2 Review
Reading: None
4/13 —
Computability Theory II: Multi-Tape Turing Machines
Reading: Notes on Turing Machines, §3
4/16 —
Computability Theory III: Universal Turing Machine
Reading: Notes on Turing Machines, §3
4/18 —
Computability Theory IV: Diagonalization
Reading: Notes on Turing Machines, §4
4/20 —
Computability Theory V: Undecidability of the Halting Problem
Reading: Notes on Turing Machines, §4
4/23 —
Computability Theory VI: More on undecidability; Rice's Theorem
Reading: Notes on Turing Machines, §4
4/25 —
Approximation Algorithms I: Greedy approximation algorithms
Reading: §11.1, 11.3
4/27 —
Approximation Algorithms II: Dynamic programming and rounding
Reading: §11.8
4/30 —
Approximation Algorithms III: Linear programming and rounding
Reading: §11.3
5/2 —
Approximation Algorithms IV: Primal-dual
Reading: §11.4