Prerequisites:COS110 and COS151
This module introduces students to a framework for investigating both computability and complexity of problems. Topics include, but are not limited to: finite-state machines, regular expressions and their application in a language such as awk, the Halting problem, context-free grammars, P vs NP problem, NP-complete class, reduction techniques, regular languages, DFAs and NFAs, Lattices, Church-Turing thesis.