Lecture Notes
Week 1, Lecture 1: Computation and Functions
Week 1, Lecture 2: Undecidability
; Supplemental:
Reductions in Undecidability
Week 2: Greedy Algorithms and Matroids
Week 3: Turing Machines
Week 4: Divide and Conquer
Week 5: P, NP, PSPACE, and PH.
  Rough draft
notes with a sketch that TQBF is PSPACE-complete
.
Week 6: Dynamic Programming
Week 7: NP Completeness
 
Karp: Reducibility Among Combinatorial Problems
Week 8: Strassen's Algorithm
Week 9 - Randomness & Computation
FFT and String Matching
Matching Algorithms
Flows and Cuts