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.