Automata and Computation Theory (Spring 2021)
Time and Location: TTh 1:30-2:45pm, https://wse.zoom.us/j/149159926.
Instructor: Xin Li. Office hours: Wednesdays 4:00pm-5:00pm, https://wse.zoom.us/j/149159926, or by appointment
Yu Zheng (TA), Gautam Prabhu, Angela Benton, Nathan Daly, Sean Murray, Weina Dai, Emma Gan
Course description: This course is an introduction to the theory of computing. Topics include design of finite state automata, pushdown automata, linear bounded automata, Turing machines and phrase structure grammars; correspondence between automata and grammars; computable functions, decidable and undecidable problems, P and NP problems, NP-completeness, and randomization. Students may not receive credit for 601.231 and 601.631 for the same degree.
Pre Requisite: discrete math or permission.
Required Textbook: Michael Sipser, Introduction to the Theory of Computation, Third Edition.
Topics Covered and Textbook Correspondence
- Jan. 26 and Jan. 28: Introduction, review basic concepts and proofs, Textbook Chapter 0. Slides
- Feb. 2 and Feb. 4: DFA and regular language, designing DFAs, closure under union, Textbook Chapter 1.1.
- Feb. 9 and Feb. 11: NFA and equivalence to DFA, closure under concatenation, Textbook Chapter 1.2.
- Feb. 16 and Feb. 18: Closure under star, regular expressions and their equivalence to DFA, Textbook Chapter 1.2 and 1.3.
- Feb. 23 and Feb. 25: Finishig regular expressions and their equivalence to DFA, pumping lemma and non-regular languages, Textbook Chapter 1.3 and 1.4.
- Mar. 2: Decision problems of regular languages, Textbook Chapter 4.1. DFA minimization.
- Mar. 9 and Mar. 11: Basics of context free languages, starting designing context free grammar, Textbook Chapter 2.1.
- Mar. 16 and Mar. 18: Designing context free grammar, Pumping Lemma for CFL, Textbook Chapter 2.1 and 2.3.
- Mar. 23 and Mar. 25: Pumping Lemma for CFL, starting Turing Machine. Textbook Chapter 2.3 and 3.1.
- Apr. 6 and Apr. 8: Variants of Turing Machines, starting decidability. Textbook 3.2, 4.2
- Apr. 13 and Apr. 15: Undecidable and unrecognizable languages, mapping reduction, starting time complexity, P and NP. Textbook Chapter 4.2, 5.1, 5.3, 7.2, 7.3.
- Apr. 20: Polynomial time reduction, NP-completeness, start Cook-Levin Theorem. Textbook Chapter 7.2, 7.3, 7.4.
- Apr. 27 and Apr. 29: More NP-complete problems, decision vs search, conclusion of class. Textbook Chapter 7.5.
Introduction to mathematical arguments
Some Help on Reading Mathematics and Creating Proofs
An article about Alan Turing
A website about Turing and the history of modern computing
Godel's letter to von Neumann
Clay Institute's official page about the P vs. NP problem
Lance Fortnow's exposition of the P vs. NP problem