Comp. Sci. 601
Theory of Computation
Handouts and Notes:
- We will cover all of Sipser, with some supplementary material added.
- Information about
readings and topics to be coverered and other handouts will be posted on
the syllabus. Homework and reading quizzes, and answers to the
homeworks will be posted on moodle.
- If some of the symbols that I have been using seem Greek to you, here
is a Symbol Table to help you remember what they mean.
Dept. of Computer Science, Room 374
140 Governor's Dr.
University of Massachusetts
Amherst, MA 01003-4610
| CMPSCI 601: Office Hours, Spring 2013|
| Neil Immerman, CompSci Bldg 374,
firstname.lastname@example.org||Tu 2-3, Th 1-2, and by appointment.
|TA: Cibele Freire, ,|| by appointment.
What is this course about?
This course presents an in-depth introduction to the main
models and concepts of the mathematical theory of
computation, including: Computability, Complexity, and
Logic. I will emphasize the ability to go from a
concrete problem to a mathematical model; and, after
proving things about the mathematical model, to correctly
interpret what we have learned about the concrete
problem. For example, we will learn how to tell whether
a problem we need to solve is NP complete, or even
undecidable, and if so, what to do about it.
Introduction to the Theory of Computation, 3rd Edition by
Michael Sipser, (2012), Cengage Learning, ISBN-10: 1-133-18779-X
Meeting times: M,W 10:35 -- 11:50, CMPS 140.
First meeting Wed., Jan. 23, 2013.
Prerequisites: Mathematical maturity at the level of CS 250
is a minimal requirement. One nice book that helps with mathematical
background is, How
to Prove It by Daniel Velleman.
Most students will have had an undergraduate course in Automata and Formal
Languages such as Comp Sci 401.
For students who don't
know this material, it would be helpful to get the text in advance and read
Chapters 0 and 1 which we will cover quickly, i.e., in the first lecture.
Here is a diagram of the world of computability and complexity: