Academic Catalog 2023–2024

jump to navigation

Courses

CSC380 Theory of Computation

[3–0, 3 cr.]

This course covers elementary computability, the classes P and NP, NP-completeness (Cook’s theorem), problem-reduction techniques, automata theory including deterministic and nondeterministic finite automata, equivalence of DFAs and NFAs, regular expressions, the pumping lemma for regular expressions, context-free grammars, Turing machines, nondeterministic Turing machines, sets and languages, the halting problem, Chomsky hierarchy, and the Church-Turing thesis. 

Prerequisite: CSC245 Objects and Data Abstraction.