Lectures

All chapters are taken from Theory of Computation by Michael Sipser.

Date # Topic Chapters
Sep 6 1 Course Overview
Sep 11 2 DFAs 1.1
Sep 13 3 NFAs 1.2
Sep 18 4 Regular Expressions 1.2-1.4
Sep 20 5 The Pumping Lemma 1.2-1.4
Sep 25 6 Context-Free Grammars 2.1, 2.3
Sep 27 7 Pumping Lemma for CFLs 2.1, 2.3
Oct 2 8 Turing Machines 3.1-3.2
Oct 4 9 Turing Machine Variations 3.2-3.3
Oct 9 10 Decidability 4.1-4.2
Oct 11 11 Rice's Theorem 5.3, Problem 5.28
Oct 16 12 Mapping Reductions 5.1-5.3
Oct 18 13 Time Complexity, P, NP, etc. 7.1-7.3
Oct 23 14 Poly-time Reductions and NP-Completeness 7.4-7.5
Oct 25 15 The Cook-Levin Theorem 7.4
Oct 30 16 NP-Completeness II 7.4-7.5
Nov 1 17 NP-Completeness III 7.4-7.5
Nov 6 18 Time Complexity Wrap-Up, Co-NP 7.3
Nov 8 19 Space Complexity 8.1-8.6
Nov 13 20 Space Complexity II 8.1-8.6
Nov 15 21 Space Complexity III 8.1-8.6
Nov 20 --- No Class - Happy Thanksgiving!
Nov 22 --- No Class - Happy Thanksgiving!
Nov 27 22 Approximation Algorithms 10.2
Nov 29 23 Approximation Algorithms II 10.2
Dec 4 24 Interactive Proofs 10.1
Dec 6 25 Zero-Knowledge Proofs