Syllabus
Here is my course syllabus: [pdf]. As noted, this is only a rough guideline, and it might change depending on how each lecture progresses.
- Introduction/Recurrences. [slides]
- Recurrences/Divide & Conquer: Karatsuba, Strassen. [L2] (Slides are not annotated due to Jarnal crash.)
- Divide & Conquer (DC): Selection, closest pair, van emde Boas queues. [L3]
- DC: van emde Boas queues, Fast Fourier Transform. [L4]
- DC: Fast Fourier Transform, Dynamic Programming (DP)[L5]
- DP: Posters, Matrix Chain Multiplication [L6] (Slides are not annotated due to Jarnal crash.)
- DP: Typesetting, Seam Carving, Gerrymandering [L7]
- Greedy: Scheduling, Huffman [L8]
- Graphs: MST, Prim, Kruskal [L9]
- Amortized Analysis, Binary counter, Fibonacci Heaps [L10]
- Sarita Adve Lecture
- Fibonnaci heaps, shortest paths [L12]
- Shortest paths: Dijkstra, BellmanFord; All-pairs shortest paths: Floyd-Warshall, Johnson [L13]
- Sofya Raskhodnikova Lecture: Transitive-closure Spanners [Her Slides]
- Adam Smith Lecture: Pinning Down “Privacy” in Statistical Databases
- Max-flow/min-cut, Ford-Fulkerson [L16]
- Max-flow: Edmonds-Karp, Push-Relabel [L17]
- Push-Relabel [L18]
- Scott Aaronson lecture: The Limits of Quantum Computing
- Applications of Max-flow [L20]
- Vertex-disjoint paths, Baseball elimination [L21]
- Linear Programming [L22]
- Simplex, Duality, Zero-Sum Games [L23]
- Zero-Sum Games, Correlated Equilibria [L24]
- Correlated Equilibria, Randomized Algorithms [L25]
- Randomized Algorithms: Global mincut, Solitaire, Freivald [L26]
- Randomized Algorithms: Freivald, Selection, String matching [L27 (not annotated)]
- Vertex Cover Approx, Set-cover approx [L28]