CSE 541 Formal Language and Automata Theory

Code and Name CSE 541 Formal Language and Automata Theory
Type Elective
Credit Hours 3
Pre-requisites None

This course will give an introduction to formal languages and automata theory. Automata and formal languages appear (possibly in various disguises) in almost every branch of computer science. A formal language is a set of strings where a string is a finite sequence of symbols. An example of a formal language is the set of all “syntactically correct” Pascal programs (accepted by a certain compiler). A main problem that will be discussed is how to define an infinite language in a finite way. A related problem is to construct an algorithm that can decide whether a string is in the language or not. Both problems are of practical importance, for instance for constructing compilers and design of programming languages. At the end of the course, students will be introduced to the theory of computability.