Our programming languages research spans many areas and includes type systems, language design, type inference, efficient implementation of higher-order typed languages, side effects, concurrency, security, and metaprogramming.

Our researchers also investigate a broad variety of theoretical problems with the goal of gaining insights into some of the most important issues in computer science today. Active research areas include streaming algorithms, pseudorandomness, approximation algorithms, theoretical networking, hardness of approximation, and cryptography.

Research Groups and Labs

Algorithms and Complexity

Studying a broad variety of theoretical problems to gain insight into some of the most fundamental problems of computer science.

Programming Languages Laboratory

Focusing on fundamental problems in programming languages.

Computer scientists take fresh run at classic ski rental problem

Researchers seek optimal choices at the ski lodge and inside the operating system.