Designing protocols for proving the correctness of computations, in which the prover and verifier are highly efficient both in theory and in practice.

Developing efficient streaming and sketching algorithms for basic tasks that are often performed on large data sets.

Understanding the power of low-degree polynomials to approximate Boolean functions. Answering these questions has a variety of applications in complexity theory, private data analysis, and learning theory.

If you are a bright and motivated student interested in algorithms or theoretical
computer science more broadly,
I highly encourage you to contact me (and to apply to Georgetown)!

A. Chakrabarti, G. Cormode, A. McGregor, and J. Thaler
Annotations in Data Streams [Note: This paper supersedes a preliminary version by Chakrabarti, Cormode, and McGregor that appeared in ICALP 2009.]
Accepted to ACM Transactions on Algorithms

Miscellaneous Links

An expository blog post (up-to-date as of September 2013) I wrote surveying recent efforts toward developing
practical protocols for verifiable computation. I hope the post will help make sense of this extremely active area.