CS270

Theory of Computation


Instructor

Frederic Green, Mathematics/Computer Science, BP 334, ext. 7410. E-mail: fgreen at clarku dot edu. Office hours: TBA

Text

Introduction to the Theory of Computation, 3rd Edition, by Michael Sipser (Cengage). Purchase/rent here [although a 2nd edition would serve just as well].

Lectures

Tuesdays and Fridays, 12:00 - 1:15am, BP217/hybrid.

Course Goals

To explore the nature of computation in general, as formalized in terms of Turing machines. We review the notion of reducibility and how it is used to prove unsolvability. Some of the fundamental results of classical computability theory will be investigated, including including its application to mathematical logic in Gödel's incompleteness theorem. Most of the course revolves around complexity theory, which quantifies how easy or hard it is to solve problems algorithmically, assuming they are in fact solvable in principle. A problem is classified as "easy" or "hard" depending on how much of a certain resource is required to solve it, e.g., the amount of time or space required. The idea of time or space-bounded reducibility is a key to classifying problems according to their relative difficulty. Special emphasis will be placed on the P versus NP question and others of a similar nature. We will also explore applications such as cryptography and alternative models (time permitting) such as quantum computation.

Course Work and Grading Policies

Tests will consist of a midterm (20%) and a final (30%). The remaining 50% will be determined by graded homework assignments and class participation. The assignments will mostly deal with mathematical proofs.

Course Outline

Subject to change. Topics I hope to cover include [brackets indicating chapter sections or chapters in the text]:

Links


Back to Fred Green's Home Page