Automata and Computation Theory (Spring 2022)

Time and Location: TTh 1:30-2:45pm,

Instructor: Xin Li. Office hours: Tuesdays 4:00pm-5:00pm,, or by appointment

Course Assistants: Yu Zheng (TA), Jiahua Guo, Yi Hong, Mung Yao Jia, Ege Seyithanoglu


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


Further readings

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