Explore the central ideas of theoretical computer science, from finite automata to quantum computing, in this challenging MIT online course.
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.
This course is highly recommended for students interested in theoretical computer science, algorithms, and the foundations of computation. It offers a comprehensive and rigorous exploration of the key ideas and concepts that have shaped the field.
Learn by Doing from Your Browser Sidebar
Simply install the browser extension and click to launch GetVM directly from your sidebar.
Choose your OS, IDE, or app from our playground library and launch it instantly.
Practice within the VM while following tutorials or videos side-by-side. Save your work with Pro for easy continuity.