Algorithms, data structures, computational complexity, cryptography, formal verification, logic, and type theory.
Structural connections linking subfields, mathematical foundations, and courses across disciplines.
MIT · Michael Sipser
This course is a foundational introduction to computational complexity theory, covering Turing machines, decidability, complexity classes (P, NP, PSPACE), and the P vs. NP problem, defining the core of the subfield.
MIT · 47 lectures
Demaine's work on algorithmic lower bounds and hardness of approximation directly addresses fundamental questions within computational complexity theory.
Carnegie Mellon University · 100 lectures
O'Donnell's research on analysis of Boolean functions and hardness of approximation directly contributes to the theoretical foundations of computational complexity.