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]:
- Review of Turing Machines, Decidability, Undecidability
and Reducibility [4, 5]
- The Recursion Theorem [6.1]
- Decidable and Undecidable Logical Theories [6.2]
- Descriptive Complexity [6.4]
- Time Complexity [7]
- MIDTERM (around week 7; TBA)
- Space Complexity [8]
- Intractability [9]
- Probabilistic Algorithms [10.2]
- Alteration [10.3]
- Interactive Proofs [10.4]
- Cryptography [10.6]
- Miscellaneous topics: Primality testing, quantum computing and information.
Links
Back to Fred Green's Home Page