Theoretical Computer Science

This field comprises two sub-fields: the theory of algorithms, which involves the design and analysis of computational procedures; and complexity theory, which involves efforts to prove that no efficient algorithms exist in certain cases, and which investigates the classification system for computational tasks. Time, memory, randomness and parallelism are typical measures of computational effort.

Theoretical computer science is a natural bridge between mathematics and computer science, and both fields have benefited from the connection. The field is very active, with exciting breakthroughs and intriguing challenges. The P =? NP problem is one of the seven of the Clay Millennium Problems. The recent polynomial time primality algorithm received a Clay Math research award.

MIT has been the leading center for theoretical computer science for several decades. A strong group of EECS Department faculty also works in this field and runs joint activities with the Mathematics faculty through CSAIL. The RSA cryptosystem and Akamai Technologies are two important success stories that were developed by Mathematics and EECS Department faculty.

Our group investigates active areas such as quantum computation, approximation algorithms, algorithms in number theory, distributed computing and complexity theory.

Department Members in This Field


Instructors & Postdocs

  • Mitali Bafna Theoretical Computer Science
  • Manik Dhar Combinatorics, Theoretical Computer Science
  • Jason Gaitonde Algorithms, Learning Theory, Probability Theory, Networks
  • Alexander Poremba Quantum computation, cryptography
  • Yihui Quek Quantum Computing, Complexity Theory, Quantum Noise and Error Correction
  • Michael Simkin Probabilistic combinatorics, random graphs, and random processes
  • Anirudh Sridhar Statistical inference, network cascades, graph algorithms, graph matching

Graduate Students*

*Only a partial list of graduate students