Prerequisite(s): CSIT 212 and MATH 122 with a grade of C- or higher. Formal languages, theory, automata, Turing Machines. computability, the Church-Turing thesis, decidability, time and space complexity, and NP-completeness.