Visit

Methodology for developing and analyzing efficient algorithms. Understanding the inherent complexity of natural problems via polynomial-time algorithms, advanced data structures, randomized algorithms, approximation algorithms, and NP-completeness. Additional topics may include algebraic and number theoretic algorithms, circuit lower bounds, online algorithms, or algorithmic game theory.