Mathematical models of computation, and the fundamental capabilities and limitations of computers. Topics include regular languages, finite automata, context-free languages, grammars, Turing machines, the Chomsky hierarchy, the halting problem, algorithms, decidable and undecidable problems, algorithmic reductions, complexity theory, the classes P, NP, and PSPACE, and NP-complete problems.
Counts towards the Mathematics major and minor.
Counts towards the Computer Science major and minor.
One of Mathematics 220, 230, or 255. (Offered Spring of odd-numbered years.)