Dec 08, 2025  
2024-25 Undergraduate Catalog 
    
2024-25 Undergraduate Catalog [ARCHIVED CATALOG]

CS 323 - Automata and Formal Languages


The goal of this course is to provide students with a foundational understanding of the theory of computation. Key objectives of such this course includes introducing the fundamental types of automata such as finite automata, pushdown automata, and Turing machines. This course will examine various classes of formal languages such as regular languages, context-free languages, and recursively enumerable languages. This involves understanding their syntax and grammar structures. This course will provide an insight into how complex various computational problems are, including an introduction to complexity classes like P, NP, and others.

Prerequisites CS 220  
Credits: 3

Class Level Junior Undergraduate
Program Undergraduate