Theoretical Computer Science

A building with several windows.


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