18.404J | Fall 2020 | Undergraduate, Graduate

Theory of Computation

Course Description

This course emphasizes computability and computational complexity theory. Topics include regular and context-free languages, decidable and undecidable problems, reducibility, recursive function theory, time and space measures on computation, completeness, hierarchy theorems, inherently complex problems, oracles, …
This course emphasizes computability and computational complexity theory. Topics include regular and context-free languages, decidable and undecidable problems, reducibility, recursive function theory, time and space measures on computation, completeness, hierarchy theorems, inherently complex problems, oracles, probabilistic computation, and interactive proof systems.
Learning Resource Types
Lecture Videos
Problem Sets
Exams
Lecture Notes
Instructor Insights
A man in front of a black screen with text and images.
Professor Michael Sipser teaching Lecture 14 of Theory of Computation. (Image by MIT OpenCourseWare.)