Class 1 (21 January 2010): Theory and Practice, Definitions, Proofs [PDF] [PPTX]

Class 2 (26 January 2010): Problems, Finite Automata [PDF] [PPTX] (Notes [PDF])

Class 3 (28 January 2010): Historical Perspectives (guest lecture by Gabe Robins) [PPTS (212MB download, but well worth the wait!)]

Class 4 (2 February 2010): Nondeterminism [PDF] [PPTX] (defining NFAs, computational model for NFAs, equivalence of NFA and DFA, Regular Expressions, equivalence of REs and NFAs)

Class 5 (4 February 2010): Non-Regular Languages [PDF] [PPTX] (ps1, language recognition game, pumping lemma, proving non-regularity)

Class 6 (9 February 2010): Pushdown Automata [PDF] [PPTX] (revisiting the pumping lemma, recognizing non-regular languages, deterministic pushdown automata)

Class 7 (11 February 2010): Context-Free Languages [PDF] [PPTX] (nondeterministic pushdown automata, language models of computing, humans vs. non-humans, context-free grammars)

Class 8 (16 February 2010): Non-Context-Free Languages [PDF] [PPTX] (limits of context-free grammars, pumping lemma for context-free languages)

Class 9 (18 February 2010): Context-Free Languages Contextually [PDF] [PPTX] (ps2, ww is not context-free, closure properties of context-free language, parsing)

Class 10 (23 February 2010): DFAs in Practice [PDF] [PPTX] (preparing for Exam 1, deterministic PDAs and less powerful than nondeterministic PDAs, string searching and malware scanning)

Class 11 (25 February 2010): Moore, Mealy, and Markov [PDF] [PPTX] (Moore Machines, learning machines, Mealy Machines, equivalent of Moore and Mealy machines, Markov Models, Hidden Markov Models)

Class 12 (2 March 2010): Exam 1

Class 13 (4 March 2010): Historical Perspectives (guest lecture by Gabe Robins) [PPTS (same slides continued from Class 3)

Class 14 (16 March 2010): Turing Machines [PDF] [PPTX] (revisiting language classes, recognizing non-context free languages, 2-stack DPDA, simulating 3-stack DPDA, Turing Machine, TM computing model)

Class 15 (18 March 2010): Church-Turing Thesis [PPTX] [PDF] (computing with Turing Machines, deciders vs. recognizers, Alan Turing, Church-Turing Thesis)

Class 16 (23 March 2010): Unrecognizable Languages [PPTX] [PDF] (Gödel’s Proof, uncountable numbers, Turing’s proof, unrecognizable languages)

Class 17 (25 March 2010): Undecidable Languages [PPTX] [PDF] (Diagonolizing SELF-REJECTING, deciding vs. recognizing, proving *A _{TM}* is undecidable, Universal Turing Machines, the Halting problem, Model Checking)

Class 18 (30 March 2010): Proving Undecidability [PPTX] [PDF] (Revisiting Halting problem, reduction proofs, Rice’s Theorem)

Class 19 (1 April 2010): Barbara Liskov’s talk

Class 20 (6 April 2010): Busy Beavers [PPTX] [PDF] (Reductions Redux, SINGLETON is undecidable, type checking, Busy Bunny, Busy Beavers)

Class 21 (8 April 2010): Undecidability in Theory and Practice [PPTX] [PDF] (Unrestricted Grammars are equivalent to Turing machines, universal programming languages, geometry of innocent flesh on the bone, vulnerability detection, Ali G problem)

Class 22 (13 April 2010): Introducing Complexity [PPTX] [PDF] (Complexity classes, asymptotic operators, analyzing gaussSum)

Class 23 (15 April 2010): P = NP? [PPTX] [PDF] (Exam 2 problems, algorithm analysis, robustness of TM model, Class P, nondeterministic TMs)

Class 24 (20 April 2010): NP-Completeness [PPTX] [PDF] (Dilbert on Decidability, P=NP, Proving a problem is in NP, NP-Complete, 3SAT)

Class 25 (22 April 2010): NP-Complete Appetizers [PPTX] [PDF] (Proving NP-Completeness, SAT, SUBSET-SUM, KNAPSACK, History of P=NP)

Class 26 (27 April 2010): NP-Complete Entrees (DNA with a side of Gödel) [PPTX] [PDF] (Gödel and von Neumann, Genome Assembly)

Class 27 (29 April 2010): NP-Complete Desserts (DNA, RSA, BQP, NSA) [PPTX] [PDF] (DNA computers, the coolest PowerPoint animation ever!, cryptography and complexity, RSA, BQP, quantum computers)

Class 28 (4 May 2010): Cakes and Jeopardy! [PPTX] [PDF]; Jeopardy: [PPTX] [PDF, 1 slide per page, not for printing]