Lectures

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

Date # Topic Chapters Slides
Sep 10 1 Course Overview 0.0-0.4 Intro ; Math Review
Sep 15 2 DFAs 1.1 DFAs
Sep 17 3 NFAs 1.2 NFAs
Sep 22 4 Regular Expressions 1.2-1.4 Regexes
Sep 24 5 The Pumping Lemma 1.2-1.4 Pumping Lemma
Sep 29 6 Context-Free Grammars 2.1, 2.3 CFGs
Oct 1 7 Pushdown Automata 2.1, 2.3 PDAs
Oct 6 8 NCFLs; Turing Machines 3.1-3.2 NCFLs ; Turing Machines 1
Oct 8 9 Turing Machine Variations 3.2 Turing Machines 2
Oct 13 10 Algorithms; Undecidable Languages 4.1-4.2 Algorithms and TMs ; Undecidable Languages
Oct 15 11 Rice's Theorem 5.1 Reducibility & Rice's Theorem
Oct 20 12 Mapping Reductions 5.3 Mapping Reducibility
Oct 22 13 Time Complexity 7.1-7.2 Time Complexity
Oct 27 14 P and NP 7.4-7.5 P and NP
Oct 29 15 NP-Completeness 7.4 NP Completeness
Nov 5 16 NP-Completeness II 7.4-5 NP Completeness II
Nov 10 17 NP and CoNP 7.4-7.5 NP and CoNP
Nov 12 18 Space Complexity I 7.4-7.5 Space Complexity I
Nov 17 19 Space Complexity II 8.1-8.3 PSPACE-Complete
Nov 19 20 Space Complexity III 8.1-8.3 L and NL
Nov 24 21 Approximation Algorithms 8.4-8.6
Nov 26 No Class - Happy Thanksgiving!