M Aug 31 | Introduction; read Chapters 1-2 for background |
W Sep 02 | Sums; read lecture notes. |
W Sep 02 | Flipped: LaTeX (optional, for those w/o LaTeX background) |
F Sep 04 | Asymptotic notations |
F Sep 04 | Flipped: Asymptotic Notations |
M Sep 07 | Sorting lower bounds; read Chapter 8.1 |
T Sep 08 | Flipped: Finding the 2nd Largest Element |
W Sep 09 | Adversarial lower bounds; finding second largest element |
T Sep 10 | Flipped: Divide and Conquer |
F Sep 11 | Adversarial lower bounds; divide and conquer; read Chapter 4 |
M Sep 14 | Flipped: Strassen's matrix multiplication |
M Sep 14 | Strassen's matrix multiplication; read Chapter 30 |
T Sep 15 | Flipped: Fast Fourier Transform, Part I |
W Sep 16 | Fast Fourier Transform |
R Sep 17 | Flipped: Fast Fourier Transform, Part II |
F Sep 18 | Fast Fourier Transform |
M Sep 21 | Fast Fourier Transform; Greedy Algorithms; Giving Change |
M Sep 21 | Flipped: Greedy Algorithms: Giving Change |
W Sep 23 | Greedy Algorithms and Matroids; read Chapter 16 |
W Sep 23 | Flipped: Greedy Algorithms and Matroids |
F Sep 25 | Greedy Algorithms and Matroids; Bipartite Matching |
F Sep 25 | Flipped: Bipartite Matching |
M Sep 28 | Dynamic Programming - Coin Change; read Chapter 15 |
M Sep 28 | Flipped: Dynamic Programming - Coin Change (review) |
W Sep 30 | Dynamic Programming - Longest Common Subsequence |
T Oct 1 | Flipped: Matrix Chain video |
F Oct 2 | Dynamic Programming - Matrix Chain Multiplication |
M Oct 05 | Flipped: Amortized Analysis of the Multipop Stack (review) |
M Oct 05 | Amortized Analysis; read Chapter 17 |
M Oct 05 | Flipped: Amortized Analysis of vector::push_back (review) |
W Oct 07 | Dynamic Programming, Amortized Analysis |
F Oct 09 | Review |
M Oct 12 | Midterm exam |
W Oct 14 | Graph algorithms, BFS, DFS |
W Oct 14 | Flipped: Topological Sorting |
F Oct 16 | Topological Sorting, Strongly Connected Components |
F Oct 16 | Flipped: Strongly Connected Components |
M Oct 19 | Graph Algorithms, Strongly Connected Components, Shortest Path Algorithms |
W Oct 21 | Graph Algorithms: Shortest Path Algorithms |
F Oct 23 | Randomized Algorithms: Basics of Probability Theory |
F Oct 23 | Flipped: Probability Theory (review) |
M Oct 26 | Randomized Algorithms: Minimum Cut |
W Oct 28 | Randomized Algorithms: Quicksort |
F Oct 30 | Randomized Algorithms: Randomized Selection |
M Nov 02 | Complexity Theory: The Complexity Classes P and NP |
W Nov 04 | Complexity Theory: NP-Completeness |
F Nov 06 | Complexity Theory: NP-Completeness of SAT and 3SAT |
F Nov 06 | Flipped: Read Chapter 34 in CLRS |
M Nov 09 | Complexity Theory: NP-Completeness of 3SAT and Vertex Cover |
W Nov 11 | Complexity Theory: NP-Completeness of Clique and Independent Set |
F Nov 13 | Approximation Algorithms |
M Nov 16 | Approximation Algorithms, 2SAT |
W Nov 18 | Undecidability |
F Nov 20 | Undecidability |
M Nov 23 | Undecidability |
W Nov 25 | Reading day: no class. Read Knuth's Satisfiability |
F Nov 27 | no class |
M Nov 30 | Sudoku |
W Dec 02 | Sudoku and SAT |