# Automata and Computation Theory (Spring 2018)

**Time and Location:** TTh 1:30-2:45pm, Hodson 210.

**Instructor:** Xin Li. **Office hours:** Wednesdays 10:30am-12:00pm, Malone 215, or by appointment

Syllabus

**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 600.271 and 600.471 for the same degree.

**Pre Requisite:** discrete math or permission.

**Required Textbook:** Michael Sipser, Introduction to the Theory of Computation, Second Edition.

Learning paragraph writing 1

Homework 1 Solution

Learning paragraph writing 2

Homework 2 Solution

Learning paragraph writing 3

Homework 3 Solution

Midterm 1 practice problems

Learning paragraph writing 4

Homework 4 Solution

Homework 5 Solution

Midterm 1 Solution

Midterm 2 practice problems

Learning paragraph writing 5

Learning paragraph writing 6

Homework 6 Solution

Midterm 2 Solution

Learning paragraph writing 7

Homework 7 Solution

Learning paragraph writing 8

Homework 8 Solution

Final Exam practice problems

**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