Course Description:

The Language and Automata Theory (LAT) course introduces students to the foundational concepts of formal languages, automata, and computational theory. This course provides a mathematical framework to understand how computers process and interpret different types of languages, from simple sequences to more complex programming constructs.

Objectives:

  • To explore the structure and classification of formal languages, such as regular languages, context-free languages, and context-sensitive languages.
  • To understand the different computational models, including finite automata, pushdown automata, and Turing machines.
  • To learn how to define and manipulate regular expressions and context-free grammars.
  • To study the Chomsky hierarchy, which classifies languages based on their complexity and computational power.
  • To examine the limits of computation, focusing on decidability, recognizability, and undecidability.
Level: L2