Course Title:
Theory of Computation
Course Description:
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.
Fall Offering:
None
Lab/Coreq 1:
Spring Offering:
None
Lab/Coreq 2:
Summer Offering:
None
Lab/Coreq Remarks:
Summer 1 Offering:
None
Prerequisite 1:
CS U213
Summer 2 Offering:
None
Prerequisite 2:
PHL U215
Cross-Listed Course 1:
Prerequisite 3:
Cross-Listed Course 2:
Prerequisite 4:
Cross-Listed Course 3:
Prerequisite 5:
Cross-Listed Course 4:
Prerequisite Remarks:
Cross-Listed Course 5:
Repeatable:
N
Additional Information:
Approved course: NU Core-Mathematical/Analytical Level 2