Carnegie Mellon University has a strong and diverse group in Algorithms and Complexity Theory. The goals of the group are, broadly speaking, to provide a mathematical understanding of fundamental issues in Computer Science, and to use this understanding to produce better algorithms, protocols, and systems, as well as identify the inherent limitations of efficient computation. Research interests include data structures, algorithm design, complexity theory, coding theory, parallel algorithms and languages, machine learning theory, cryptography and security, computational aspects of economics, online algorithms, and scientific computing.

The faculty routinely offer advanced courses on various topics in the frontier of research in theoretical computer science (there are typically 2-3 such courses every semester). We also have a very active schedule of research seminars, including a weekly theory seminar, ACO seminar, and theory lunch (which is run by our graduate students): see the seminars' page for the schedule.

Our Algorithms and Complexity group maintains strong ties to other areas, such as computer systems, programming languages, and artificial intelligence, and we welcome students who have a combination of theoretical and application-oriented research interests. See also the ACO Program home page for the inter-disciplinary program in Algorithms, Combinatorics and Optimization.

**We're excited to have Pravesh Kothari joining our group in 2019!**

**
**