- Department of Computer Science
- Vision, Mission, & Values
- Degrees & Programs
- Courses
- First Year Transfer Students
- Current Students
- Prospective Students
- Faculty & Staff
- Professors Emeritus
- Industrial Advisory Board
- Financial Assistance
- Employment Opportunities
- Donate
- Graduate Capstone
- Careers for Majors
- Resources
- Contact Us
- Help for Students
CS 4170 Theory of Automata (4) 2005
Catalog Description
Formal models of automata, language, and computability and their relationships. Finite automata and regular languages. Push-down automata and context-free languages. Turing machines, recursive functions, algorithms and decidability. Prerequisites: MATH 2101, MATH 2150, MATH 2304 CROSS-LISTED: MATH 4170
Course Outline:
- Basic notation, preliminaries
Proofs; induction (if necessary)
Strings and alphabets
Algorithms - Regular languages
Regular expressions: definition and use
Finite automata: deterministic, nondeterministic
Non-regular languages; pumping lemma - Context-free languages Grammars, parse trees, derivations, ambiguity
Push-down automata: definition and use
Properties of context-free languages
Non-context-free languages - Recursive and Recursively Enumerable Languages
Turing machines: definition and use, examples Variations on Turing machines
Church's Thesis: computability and algorithms
Grammars: context-sensitive, unrestricted Halting Problem - Chomsky Hierarchy and Applications
Regular, Context-free, and Turing machine languages
Recursive vs. Recursively enumerable
Undecidable problems
Note: Above cannot be covered thoroughly in one quarter; instructor may skim in some areas or omit some sections and/or certain proofs. Students need experience doing formal proofs.
Recommended Texts
- Sipser, Introduction to the Theory of Computation
- Floyd and Beigel, The Language of Machines
- Lewis and Papadimitriou, Elements of the Theory of Computation
- Hopcroft and Ullman, Intro. to Automata Theory, Languages, and Computation
- Cohen, Introduction to Computer Theory
- Kozen, Automata and Computability, Springer