Theory of Computation

Venn diagram of some major computational complexity classes.

Computer scientists are still investigating whether some computational complexity classes of decision problems may in fact be equal. A famous open area in computer science is the "Does P=NP?" question: are all YES/NO problems that can be verified quickly (NP) actually problems that can be directly solved quickly (P)? The Clay Mathematics Institute offers a $1 million reward for a proof to this question. (Image courtesy of Kayla Jacobs.)


MIT Course Number

18.404J / 6.840J

As Taught In

Fall 2006



Translated Versions


Cite This Course

Course Features

Course Description

This graduate level course is more extensive and theoretical treatment of the material in Computability, and Complexity (6.045J / 18.400J). Topics include Automata and Language Theory, Computability Theory, and Complexity Theory.

Sipser, Michael. 18.404J Theory of Computation, Fall 2006. (MIT OpenCourseWare: Massachusetts Institute of Technology), (Accessed). License: Creative Commons BY-NC-SA

For more information about using these materials and the Creative Commons license, see our Terms of Use.