(3 credits)Prerequisites: C- or better in CSCI 2210 and C- or better in MATH 1920.
Introduces the theory of computation: automata and languages, computability theory, and complexity theory. Topics may include regular languages, context-free languages, the Church-Turing thesis, decidability, reducibility, time and space complexity, and intractability. Developing software projects that demonstrate real-world applications of course topics is an integral part of the course.