CSCI445 Formal Languages and Automata Theory (3 semester hours)

This course deals with the mathematical abstraction model of computation and its connection to formal languages. It is designed to introduce students to the theoretical development of computer science and provide conceptual tools used by practitioners in computer engineering. Students will understand how automata are used to describe computing machines and computation, as well as the concept that some things are computable while others are not. Students will comprehend the relationship between automata and computer languages, as well as describe the language hierarchy from regular expression to context free. (Prerequisite: CSCI340)