Apr 30, 2026  
2026-2027 Undergraduate Catalog 
    
2026-2027 Undergraduate Catalog
Add to Catalog (opens a new window)

CSCI 472 - Automata Theory and Compiler Design


3 Credits
In this course students will explore the Automata Theory, algorithms, and data structures involved in the design and construction of language compilers. During the course, students will be engaged in programming language design and compiler construction in a hands-on environment. Topics may include Finite Automata, Regular Expressions, Context-Free Grammars, Pushdown Automata, Turing Machines, translators, interpreters, compilers, and the phases of compilation.
Prerequisite(s): CSCI 312  
Course Learning Outcomes:
1. Construct a language compiler that accepts a source code as input and produces machine code or intermediate code as output.
2. Assess if a context-free grammar representation of a programming language is in Chomsky normal form.
3. Differentiate between a translator, interpreter, and a compiler.
4. Differentiate between a regular language, a context-free language, and a Turing machine.



Add to Catalog (opens a new window)