You are here

Theoretical Computer Science

abstract image


The Theoretical Computer Science group explores the limits of computation in developing algorithms and protocols that provide provable performance guarantees such as correctness and privacy. We have strengths in developing algorithms that take advantage of geometric and topological properties to solve classic problems such as maximum flow and network design as well as more newly developed, applied problems, for example, in routing. We also develop cryptographic tools that allow sensitive data to be used in arbitrary computations while simultaneously maintaining privacy.

Sub Areas

  • Algorithms
  • Computational Geometry and Topology
  • Cryptography

Related Courses

  • CS 321: Introduction to the Theory of Computation
  • CS 325: Analysis of Algorithms
  • CS 420/520: Graph Theory with Applications to CS
  • CS 419/519: Introduction to Cryptography
  • CS 516: Theory of Computation & Formal Languages
  • CS 519: Advanced Cryptography
  • CS 515: Algorithms and Data Structures
  • CS 517: Theory of Computation
  • CS 519: Special Topics in Computational Geometry
  • CS 527: Error Correcting Codes
  • CS 523: Advanced Algorithms


Photo of Glencora Borradaile

Glencora Borradaile
Approximation algorithms; planar graphs; combinatorial algorithms

Photo of Amir Nayyeri

Amir Nayyeri 
Computational geometry; computational topology

Photo of Eugene Zhang

Eugene Zhang  
Computer graphics; visualization; geometry processing; computational topology

Photo of Paul Cull

Paul Cull
Algorithms, theory of computation, mathematical biology

Photo of Mike Rosulek

Mike Rosulek 
Cryptography; secure multi-party computation

Affiliated Faculty

Photo of Liang Huang

Liang Huang
Natural language processing, including parsing and translation; structured machine learning; programming languages; automata and formal language theory; RNA structure prediction and protein folding