Prerequisites: CS 150
Description: Covers phrase structure grammars and languages; turing machines; relation of languages to automata; solvable and unsolvable problems; and theoretical limitations of computers. Also examines algorithmic complexity theory; polynomial reducibility; the classes P and NP; and correctness proofs.
Credit: May be taken Satisfactory (S) or No Credit (NC) with consent of instructor and graduate advisor.