Theory & Programming Languages

Software development engineerResearch Labs & Groups

Algorithms & Complexity
We study a broad variety of theoretical problems, with the aim of gaining insight into some of the fundamental issues in computer science. Research areas of particular interest include streaming algorithms, pseudorandomness, approximation algorithms, theoretical networking, hardness of approximation, and cryptography

Programming Languages Laboratory
Spans many areas of programming languages and includes type systems, language design, type inference, efficient implementation of higher-order typed languages, side effects, concurrency, security, and metaprogramming.



Vladimir Braverman

Michael Dinitz

Abhishek Jain

S. Rao Kosaraju

Xin Li

Scott Smith


Back to top