computational complexity theory; complexity classes, such as P, NP, PSPACE, and so on; resource-limited computation; NP-completeness and other completeness concepts; oracle analogues of complexity classes; complexity-theoretic computational models such as automata, circuits; regular languages; context-free languages; applications of complexity theory to finite model theory, logic and discrete mathematics.

history | excerpt history