This course covers concepts and methods of theoretical computer science. This course covers finite deterministic and nondeterministic automata, pushdown automata, Turing machines, regular expressions and languages, context-free grammars and languages, properties of regular and context-free languages, algorithms and decision procedures for context-free languages, unrestricted grammars, undecidability, intractable problems, and complexity classes.
Prerequisites
CS 290 or its equivalent or CS 501 or its equivalent