CptS 317: Automata and Formal Languages


Course Information

Credit Hours: 3
Semester Taught: Fall/Spring
Textbook: Introduction to the Theory of Computation, Third Edition, Michael Sipser. 2013


Course Objectives

  • Introduce concepts in automata theory and theory of computation
  • Identify different formal language classes and their relationships
  • Design grammars and recognizers for different formal languages
  • Prove theorems in automata theory and language properties
  • Determine the decidability and intractability of computational problems

Prerequisites

  • CptS 122/132 – Data Structures
  • Math 216 – Discrete Structures

Learning Outcomes

At the conclusion of this course students will:

  • Have acquired a fundamental understanding of the core concepts in automata theory and
    formal languages
  • Be able to design grammars and automata (recognizers) for different language classes
  • Be able to identify formal language classes and prove language membership properties
  • Be able to prove theorems establishing key properties of formal languages and automata
  • Have acquired a fundamental understanding of core concepts relating to the theory of computation and computational models including decidability and intractability

Topics

  1. Introduction to automata theory
  2. Finite Automata (DFA and NFA)
  3. Regular expressions and languagues
  4. Properties of regular languages: pumping lemma, closure properties, decision properties, equivalence and minimization of automata
  5. Context-free grammars and languages
  6. Pushdown Automata
  7. Properties of context-free languages
  8. Turing machines and extensions
  9. Undecidability, diagonalization, problem reduction
  10. Intractable problems: P and NP, NP-completeness

Weekly Schedule

This is an example of what the week-by-week schedule of topics and assignments would look like.

WEEKS TOPICS ASSIGNMENTS
01 Intro to course, intro to computation theoryHW0 (survey) out
02 Review of math concepts, proof
techniques, finite automata
HW0 in; HW1 out
03 Finite AutomataNo class 9/2; HW1 in, HW2 out
04 Regular ExpressionsHW2 in, HW3 out
05 Nonreguar LanguagesHW3 in
06 Context-free LanguagesMid-term 1 on 9/25
07 Context-free GrammarsHW4 out
08 Pushdown AutomataHW4 in, HW5 out
09 CFG and PDA equivalenceHW5 in
10 Minimization of Automata; Deterministic CFLReview for Mid-term 2
11 Turing Machines IMid-term 2 (10/28); HW 6 Out
12 Turing Machines IIHW6 in
13 DecidabilityNo class 11/11; HW 7 out
14 ReducibilityHW 7 in
15 Thanksgiving break
16 Time Complexity, ReviewPractice
17 Finals WeekFinal Exam on Dec 9