This course introduces computability and the theory of computational complexity. Topics include automata, regular and context-free languages, the Church-Turing thesis, decidability, reducibility, and recursive function theory.
Prerequisite: MATH 215 and CSCI 157.