This course introduces the theory of computation through a set of abstract machines that serve as models for computation - finite automata, pushdown automata, and Turing machines - and examines the relationship between these automata and formal languages. Additional topics beyond the automata classes themselves include deterministic and non-deterministic machines, regular expressions, context free grammars, undecidability, and the P = NP question.
This course introduces the mathematical foundations of computation. By the end of this course, students will be able to: 1. Develop a Formal Understanding of Computation 2. Analyze and Design Finite-State Computational Models 3. Model Hierarchical and Recursive Structures 4. Understand the Limits of Algorithmic Computation 5. Classify Problems by Computational Complexity 6. Strengthen Formal Reasoning and Proof Skills Beyond theory, the course emphasizes how these abstract models power real systems including: * Search engines and pattern matching * Compilers and programming languages * Network protocol verification * Input validation and cybersecurity * Artificial intelligence parsing systems The goal is not memorization of definitions, but understanding how different computational models capture different levels of machine capability.
| Week | Topic |
|---|---|
| 1 | Introduction to Theory of Computation |
| 2 | Mathematical Preliminaries and Notation |
| 3 | Deterministic Finite Automata (DFA) |
| 4 | Nondeterministic Finite Automata (NFA) |
| 5 | NFA to DFA Conversion |
| 6 | Regular Expressions |
| 7 | Properties of Regular Languages |
| 8 | Context-Free Grammars (CFG) |
| 9 | Midterm Exam |
| 10 | Pushdown Automata (PDA) |
| 11 | Equivalence of CFG and PDA |
| 12 | Turing Machines |
| 13 | Decidability and Undecidability |
| 14 | Compilers and Parsing |
| Method | % Each | Quantity |
|---|---|---|
| Homework | 20 | 1 |
| Midterm Exam(s) | 30 | 1 |
| Final Exam | 40 | 1 |
| Other | 10 | 1 |
An introduction to formal languages and automata; Peter Linz, Susan H. Rodger; (7th Edition), Jones & Bartlett Learning, [2023]; ISBN 9781284231601 Introduction to Theory of Computation, Anil Maheshwari, Michiel Smid, 2024