CSE 5083 - Formal Languages and Automata Theory

Course Number: CSE 5083

Credit Hours: 3

Catalog Data: CSE 5083 Formal Languages and Automata Theory (3 credits). This course presents the theory of finite automata: finite-state machines, pushdown automata, bounded linear automata, and Turing machines. The corresponding theory of languages: regular, context-free, context-sensitive and recursively enumerable languages, is presented.

Possible Textbook: Introduction to Automata Theory, Languages and Computation, by Hopcroft and Ullman. Addison-Wesley 1979.

Coordinator: William Shoaff/Roger Marshall

Goals: This course introduces the students to the theory underlying the development of machines and languages. The student is introduced to the main classes of machines and languages they recognize. Questions of what can and cannot be computed with these machines are addressed. Besides learning abstract theory, which is useful in its own right, students will be exposed to data and control structures that are useful in many applications of computer science.

Prerequisite: Discrete Mathematics, Data Structures.

Course Outline

  1. Formal Grammars - The Chomsky Hierarchy
  2. Machines - Acceptors, Generators, Transducers, Enumerators
  3. Turing Machines and Recursively Enumerable Languages
    1. The Turing/Church thesis
    2. Computability/Enumerability
    3. Decidable/Undecidable problems
    4. Equivalence of different models of computation
    5. The Universal Turing Machine
  4. Linear Bounded Automata and Context-Sensitive Languages
  5. Pushdown Automata and Context-Free Languages
    1. Derivation Trees
    2. Ambiguity
    3. Chomsky and Greibach Normal Forms
    4. The Pumping Lemma
    5. Closure Properties of Context-free languages
    6. Decision algorithms for Context-free languages
    7. Self-Embedding Theorem
  6. Finite State Machines and Regular Languages
    1. Mealy and Moore Machines
    2. Deterministic and Nondeterministic Machines
    3. Machine Equivalence
    4. Regular Grammars
    5. Lambda Transitions
    6. Pumping Lemma
    7. Closure properties
    8. Decision algorithms
    9. Minimization of finite automata



wds@cs.fit.edu
Wed Nov 30 08:17:14 EST 1994