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