Skip to main content



Syllabus

Readings refer to the course text: Kleinberg and Tardos, Algorithm Design, Addison Wesley/Pearson, 2005. ISBN 0-321-29535-8.

Lecture topics are subject to change.

DATE LECTURE/EVENT NOTES/READINGS
1/21 Welcome and introduction 1.2
1/23 The stable matching problem 1.1
1/25 Greedy algorithms I: Interval scheduling and the “greedy stays ahead” analysis technique 4.1
1/28 Greedy algorithms II: Scheduling to minimize lateness and the “exchange argument” analysis technique 4.2, 4.3
1/30 Greedy algorithms III: Minimum spanning tree algorithms 4.5
1/31 Homework 1 due
2/1 Greedy algorithms IV: Data structures for fast minimum spanning tree implementations 4.6
2/4 Dynamic programming I: Weighted interval scheduling 6.1–6.3
2/6 Dynamic programming II: Edit distance, aka sequence alignment 6.6
2/8 Dynamic Programming III: Bellman-Ford shortest path algorithm 6.8
2/10 Homework 2 due
2/11 Divide-and-conquer I: Closest pair of points in the plane 5.4
2/13 Divide-and-conquer II: Fast multiplication of integers and matrices 5.5
2/15 Divide-and-conquer III: Fast Fourier transform, polynomial multiplication 5.6
2/18 Dynamic programming IV: RNA secondary structure 6.5
2/20 Prelim 1 review Review sheet
2/21 Prelim 1, 7:30–9pm, Uris G01
2/22 Network Flow I: Basic definitions 7.1
2/24 Homework 3 due
2/25 Network Flow II: The Ford-Fulkerson Algorithm 7.1
2/27 Network Flow III: Max-Flow Min-Cut, Bipartite Matching 7.2, 7.5
3/1 Network Flow IV: Further examples of flow reductions 7.10–7.12
3/4 Network Flow V: Extensions to network flow 7.7–7.9
3/6 Network Flow VI: Polynomial-time max-flow algorithms 7.3, Notes on the Edmonds-Karp algorithm, Notes on Dinic's algorithm
3/7 Homework 4 due
3/8 NP-Completeness I: Reductions between SAT and Clique 8.2, Notes on reductions and NP-completeness
3/11 NP-Completeness II: Formal Definition of the Class NP. More NP-Complete Problems in Graph Theory 8.1, 8.3
3/13 NP-Completeness III: Covering problems. Set Cover, Exact Cover, Three-Dimensional Matching 8.6
3/15 NP-Completeness IV: Colorability 8.7
3/18–22 Spring Break
3/25 NP-Completeness V: Hamiltonian Cycle 8.5
3/26 Homework 5 due
3/27 NP-Completeness VI: NP-complete numerical problems. Subset sum, Partition, Knapsack 8.8
3/29 Review of NP-completeness, discussion of other complexity classes. (L, #P, PSPACE) 8.10
4/1 Turing machine definitions Notes on TMs, §1,2
4/3 Turing machine examples. Multitape Turing machines Notes on TMs, §2,3
4/5 Universal Turing machine Notes on TMs, §4
4/7 Homework 6 due
4/8 Prelim 2 review Review sheet
4/9 Prelim 2, 7:30–9pm, Kimball B11 (aab227–jdb387), Olin 155 (jdh339–sra57), Olin 165 (ss2249–zp34)
4/10 Diagonalization and undecidability Notes on TMs, §4
4/12 Decidable and undecidable problems Notes on TMs, §5,6
4/15 The Cook-Levin Theorem Notes on the Cook-Levin theorem
4/17 Greedy approximation algorithms: load balancing 11.1
4/19 Greedy approximation algorithms: center selection 11.2
4/21 Homework 7 due
4/22 Greedy approximation algorithms: set cover 11.3
4/24 Approximation algorithms via rounding and dynamic programming: the knapsack problem 11.8
4/26 Randomized algorithms I: Randomized algorithms, linearity of expectation, waiting times for independent trials 13.1, 13.3
4/29 Randomized algorithms II: k-th element, quicksort, 3SAT 13.4, 13.5
5/1 Randomized algorithms III: Universal hashing 13.6
5/3 No lecture — slope day
5/5 Homework 8 due
5/12 Final exam review, 4–6pm, Upson B17
5/16 Final Exam, 9–11:30am (exam period Q), Statler Hall 185 (Statler Auditorium)