Select the Course Number to get further detail on the course. Select the desired Schedule Type to find available classes for the course. |

CS 3800 - Theory of Computation |

Introduces the theory behind computers and computing aimed at answering the question, “What are the capabilities and limitations of computers?” Covers automata theory, computability, and complexity. The automata theory portion includes finite automata, regular expressions, nondeterminism, nonregular languages, context-free languages, pushdown automata, and noncontext-free languages. The computability portion includes Turing machines, the Church-Turing thesis, decidable languages, and the Halting theorem. The complexity portion includes big-O and small-o notation, the classes P and NP, the P vs. NP question, and NP-completeness. Prereq. (a) CS 1500 or CS 2510 and (b) CS 2800.
4.000 Credit hours 4.000 Lecture hours Levels: Undergraduate Schedule Types: Lecture Computer Science Department Course Attributes: NU Core Math/Anly Think Lvl 2, Computer&Info Sci |