The Theory of Computing Group studies questions in algorithm design and computational complexity. See the offered courses and research talks.
Faculty and students in the Theory of Computing group explore fundamental questions in computer science, such as: What defines computation? Which computational problems can be solved efficiently, and why? Additionally, we use computation as a lens to gain new insights into challenges across the natural, social, and engineering sciences.
Our active research spans several key areas in the theory of algorithms and complexity. This includes computational questions in number theory and algebra, classification of counting problems, lower bounds for NP-complete problems, the role of randomness in computation, and cryptography (classic & post-quantum) and secure computation. We also have strong expertise in the algorithmic foundations of machine learning and statistics, sublinear and streaming algorithms, property testing, algorithmic game theory, and quantum computing.
A list of faculty, graduate students and alumni
Descriptions of the courses offered in recent years
Activities, events, and talks of the TOC group