W Jan 21 | Introduction; read Chapters 1-2 for background |
F Jan 23 | Sums; read lecture notes. |
S Jan 24 | Flipped: LaTeX (optional, for those w/o LaTeX background) |
M Jan 26 | Sums; read lecture notes. |
W Jan 28 | Asymptotic notations |
F Jan 30 | Asymptotic notations; read Chapter 3 and Lecture Notes |
S Jan 31 | Flipped: Asymptotic Notations |
M Feb 02 | Sorting lower bounds; read Chapter 8.1 |
W Feb 04 | Adversarial lower bounds; finding second largest element |
W Feb 04 | Flipped: Finding the 2nd Largest Element |
W Feb 04 | Flipped: Divide and Conquer |
F Feb 06 | Adversarial lower bounds; divide and conquer; read Chapter 4 |
M Feb 09 | Divide-and-Conquer; exploring the Master theorem |
M Feb 09 | Flipped: Strassen's matrix multiplication |
W Feb 11 | Strassen's matrix multiplication, Fast Fourier Transform; read Chapter 30 |
W Feb 11 | Flipped: Fast Fourier Transform, Part I |
F Feb 13 | Divide and Conquer. Fast Fourier Transform |
F Feb 13 | Flipped: Fast Fourier Transform, Part II |
M Feb 16 | Fast Fourier Transform |
W Feb 18 | Fast Fourier Transform; Greedy Algorithms; Giving Change |
W Feb 5 | Flipped: Greedy Algorithms: Giving Change |
F Feb 20 | Greedy Algorithms and Matroids; read Chapter 16 |
F Feb 20 | Flipped: Greedy Algorithms and Matroids |
M Feb 23 | Greedy Algorithms and Matroids; Bipartite Matching |
M Feb 23 | Flipped: Bipartite Matching |
W Feb 25 | Bipartite Matching; Dynamic Programming - Coin Change; read Chapter 15 |
F Feb 27 | Flipped: Dynamic Programming - Coin Change (review) |
F Feb 27 | Dynamic Programming - Longest Common Subsequence |
F Feb 27 | Flipped: Matrix Chain video |
M Mar 02 | Dynamic Programming - Matrix Chain Multiplication; Amortized Analysis |
W Mar 04 | Amortized Analysis; read Chapter 17 |
F Mar 06 | Amortized Analysis |
F Mar 06 | Flipped: Amortized Analysis of the Multipop Stack (review) |
F Mar 06 | Flipped: Amortized Analysis of vector::push_back (review) |
M Mar 09 | Midterm exam |
W Mar 11 | Graph algorithms, BFS |
F Mar 13 | Graph algorithms, DFS, Topological Sorting |
F Mar 13 | Flipped: Topological Sorting video |
M Mar 16 | Flipped: Strongly Connected Components |
Mar 16-20 | Spring Break |
M Mar 23 | Graph Algorithms, Strongly Connected Components |
W Mar 25 | Graph Algorithms: Shortest Path Algorithms |
F Mar 27 | Randomized Algorithms: Basics of Probability Theory |
F Mar 27 | Flipped: Probability Theory (review) |
M Mar 30 | Randomized Algorithms: Minimum Cut |
W Apr 01 | Randomized Algorithms: Quicksort |
F Apr 03 | No lecture |
M Apr 06 | Randomized Algorithms: Randomized Selection |
W Apr 08 | Randomized Algorithms: Birthday Problems |
F Apr 10 | Randomized Algorithms: 2SAT |
M Apr 13 | Complexity Theory: The Complexity Classes P and NP |
W Apr 15 | Complexity Theory: NP-Completeness |
F Apr 17 | Complexity Theory: NP-Completeness of SAT and 3SAT |
F Apr 17 | Flipped: Read Chapter 34 in CLRS |
M Apr 20 | Complexity Theory: NP-Completeness of 3SAT and Vertex Cover |
W Apr 22 | Complexity Theory: NP-Completeness of Clique and Independent Set |
F Apr 24 | Approximation Theory |
M Apr 27 | Approximation Theory |
W Apr 29 | Undecidability |
W Apr 29 | Flipped: Cantor's theorem and Uncomputable Functions |
F May 01 | Undecidability |
M May 04 | Undecidability, NPC of Minesweeper |
T May 05 | Homework Problems and Review |