Calendar

Below is the tentative schedule (subject to frequent updates, with most currently TBD). Reading assignments and references will be included.

DateWeekLectureReading
08/311Introduction to Algorithm Design Slides NotesUnderstanding Science through the Computational Lense by Richard Karp, Kleinberg and Tardos 2.1, 2.2, 2.4
09/02 Asymptotic Notations and Graph Basics NotesKleinberg and Tardos 2.2, 3.1
09/072 Labor Day  
09/09 Depth First Search, Cycles and Strong Components NotesKleinberg and Tardos 3.2, 3.5, 3.6
09/143Graph Shortest Paths: Dijkstra and Bellman-Ford NotesKleinberg and Tardos 4.4, 6.8
09/16 Greedy Algorithms for Scheduling NotesKleinberg and Tardos 4.1, 4.2
09/214Quiz 1 (In class) 
09/23 Greedy Approximation: Set Cover Notes 
09/285DP: Weighted Interval Scheduling 
09/30 DP: LCS and Edit Distance 
10/056DP: Chain Matrix Multiplication 
10/07 Quiz 2 (In class) 
10/12-137 Fall Break  
10/14 DP: All-Pairs Short Paths and Floyd-Warshall 
10/198Network Flows: Basic Concepts 
10/21 Network Flows: Basic Concepts 
10/269Network Flows: Algorithms 
10/28 Quiz 3 (In class) 
11/210Network Flows: Circulations and Applications 
11/4 Randomized Algorithms 
11/911NP-Completeness: Basic Definitions 
11/11 NP-Completeness: 3SAT and Independent Set 
11/1612Quiz 4 (In class) 
11/18 NP-Completeness: Clique, Vertex Cover, and Dominating Set 
11/2313Approximation: Vertex Cover and TSP 
11/25-29  Thanksgiving Break  
11/3014Approximation: Subset Sum 
12/2 Quiz 5 (In class) 
12/715Quantum Algorithms 
12/9 Final Review