L01 [May 12, Introduction] (keynote, pdf, notes, puzzle soln)Â
L02 [May 14, Divide-and-conquer, solving recurrences] (Lap Chi L02, notes on the Fibonacci recurrence, puzzle 02, soln)
L03 [May 19, Optimality of algorithms] (keynote, pdf, notes on FFT)
L04 [May 21, More divide-and-conquer] (Lap Chi L03, puzzle 04)
L05 [May 26, May 28, Induction and Graph algorithms: breadth first search] (Lap Chi L05, notes on induction)
L06 [June 2, June 4, Graph algorithms II: depth first search] (Lap Chi L06, additional notes on algorithm for cut vertices)
L07 [June 9, June 11, Directed graphs] (Lap Chi L07, notes on SCC)
L08 [June 11, June 16, Greedy algorithms I: scheduling problems] (Lap Chi L08, additional notes)
L09 [June 16, June 18, Greedy algorithms II: single-source shortest paths] (Lap Chi L09)
L10 [June 23, Minimum Spanning Tree] (Lap Chi L10)
L11 [June 25, Dynamic programming I: weighted interval scheduling and knapsack] (Lap Chi L11)
L12 [June 30, July 2, Dynamic programming II: longest increasing subsequence (LIS), longest common subsequence (LCS)] (Lap Chi L12, notes on LIS)
L13 [July 2, July 7, Dynamic programming III: graphs] (Lap Chi L14)
L14 [July 7, July 9, Maximum Flow] (Lap Chi L16)