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 DesignUnderstanding Science through the Computational Lense by Richard Karp, Kleinberg and Tardos 2.1, 2.2, 2.4
09/02 Graph Basics and Depth First Search 
09/072Cycles and Strong Components 
09/09 Graph Shortest Paths: Dijkstra and Bellman-Ford 
09/143Greedy Algorithms for Scheduling 
09/16 Quiz 1 (In class) 
09/214Randomized Algorithms 1 
09/23 Randomized Algorithms 2 
09/285Greedy Approximation: Set Cover 
09/30 DP: Weighted Interval Scheduling 
10/056DP: LCS and Edit Distance 
10/07 Quiz 2 (In class) 
10/12-137 Fall Break  
10/14 DP: Chain Matrix Multiplication 
10/198DP: All-Pairs Short Paths and Floyd-Warshall 
10/21 Network Flows: Basic Concepts 
10/269Network Flows: Basic Concepts 
10/28 Quiz 3 (In class) 
11/210Network Flows: Algorithms 
11/4 Network Flows: Circulations and Applications 
11/911NP-Completeness: Basic Definitions 
11/11 NP-Completeness: 3SAT and Independent Set 
11/1612NP-Completeness: 3SAT and Independent Set 
11/18 Quiz 4 (In class) 
11/2313NP-Completeness: Clique, Vertex Cover, and Dominating Set 
11/25-29  Thanksgiving Break  
11/3014Approximation: Vertex Cover and TSP 
12/2 Approximation: Subset Sum 
12/715Quiz 5 (In class) 
12/9 Final Review