Instructor(s)
Prof. Scott Aaronson
MIT Course Number
6.045J / 18.400J
As Taught In
Spring 2011
Level
Undergraduate
Course Description
Course Features
Course Description
This course provides a challenging introduction to some of the central ideas of theoretical computer science. Beginning in antiquity, the course will progress through finite automata, circuits and decision trees, Turing machines and computability, efficient algorithms and reducibility, the P versus NP problem, NP-completeness, the power of randomness, cryptography and one-way functions, computational learning theory, and quantum computing. It examines the classes of problems that can and cannot be solved by various kinds of machines. It tries to explain the key differences between computational models that affect their power.
Other Versions
Other OCW Versions
Archived versions: