CS 483 Theory of Computation
The concept of algorithm, correctness and efficiency of algorithm, decidable vs. undecidable problems, recursion, halting problem, formal languages, context free and context-sensitive grammars, and introduction to automata and parallel algorithms.
Grade C- or better in both CS 253
and either MATH 217
or MATH 218