This page,, is always under construction.

CS4330 Theory of Computation, Spring 2017

Prerequisite: C or better in Algorithms (CS:3330) or its equivalent

11:00-12:15 TuTh, 213 E120 AJB

Instructor: Hantao Zhang
Office: 201B MLH,
Tel: (319) 353 2545
Office hours: Tu, 1:00-2:30pm; Th, 9:00-10:30am; or by appointment
TA: Kyle Diederich
Office: 101N MLH,
Tel: (319) 353 2545
Office hours: Mon, 12:00-1:30pm; Wed, 11:00-12:30pm; or by appointment

Goals and Objectives

This course is a theoretic exploration of computing devices. Some of the questions we ask and attempt to answer are the following. Are there problems that cannot be solved on any computing device? How does one determine if a given problem can or cannot be computationally solved? If we place bounds on the resources (time and space) available to a computer, then what can be said about which problems can and which problems cannot be solved on a computer? How does the power of a computer change, if it has access to random bits?

In attempting to answer these questions we will study the following topics:

  1. Computation models: Finite State Automata.
  2. Regular Expressions and Regular Grammars.
  3. Context-free Grammars and Pushdown Automata.
  4. Computation models: Turing machines (TM).
  5. Turing-decidable and Turing-recognizable languages.
  6. Enhancements of TMs: multi-tape TMs, non-deterministic TMs. Equivalence of these and the standard TM.
  7. Diagonalization. Acceptance problem is undecidable; Acceptance problem is recognizable; the complement of the Acceptance problem is unrecognizable.
  8. Reductions. Examples of other undecidable languages. Rice's theorem. Post's Correspondence Problem (PCP) is undecidable.
  9. Running time of Turing Machines. The classes P, NP, NP-hard, and NP-complete.
  10. Cook-Levin Theorem, some reductions.
  11. Space complexity, Savitch's Theorem, PSPACE. Quantified boolean formula satisfiability is PSPACE-complete. So is Generalized Geography.
  12. The space heirarchy and the time heirarchy theorems.


Introduction to the Theory of Computation(third edition) by Professor Michael Sipser. The latest errata can be found at

Homeworks (10 homeworks, each counts for three percent of the final score)

LATE-DUE HOMEWORK ARE NOT ACCEPTED. In general you will be better off turning in what you have on time rather than seeking extra time to complete your work. There will be no make-up exams in general and exceptions will be rare and only for students whose reasons are included in the University's policy on "Excused Absences from Examinations".

Exams (two midterms and one quiz, all in class time)

The final grade is based on the final score and curved for those whose final score is at least 30% of the full final score.


For the policies on ACADEMIC DISHONESTY and PROCEDURE FOR COMPLAINT, see the Student Academic Handbook, of the Colleage of Liberal Arts and Sciences.


Lecture Notes

You are expected to study all the material in each chapter covered in the class even if that material is not explicitly discussed in class or in the homework.

The lecture notes are a supplement to the course textbooks. They are supposed to help you understand the textbook material better, they are a replacement for neither the textbook nor the lecture itself.

Please download/print the lecture notes on the day of the class as it will be updated most likely on that day.

Hantao Zhang