The formal study of computation, including computability and computation with limited resources. Church's thesis and models of computation. Formal languages and machines as recognizers of languages. The Chomsky Hierarchy of language types. Topics may include Turing machines or other basic models of computation; decidability and undecidability; basic complexity theory; finite automata and regular languages; pushdown automata and context-free languages. The course will cover primarily theory, including assignments that utilize concepts covered in lectures.
CS 375 or consent of instructor.
Students should be familiar with logic, discrete mathematics, and comfortable using proof techniques such as induction.
Successful students will learn:
These five specific outcomes will be evaluated on the basis of student homeworks and exams that will contain problems specifically addressing these outcomes. They will also be evaluated on the basis of student self-assessment of their mastery of the five outcomes performed at the end of the semester.
Introduction to Languages and the Theory of Computation
McGraw Hill, 1991.
Introduction to the Theory of Computation
PWS Publishing Company