Formal Language and Automata Course Outline
Formal Language and Automata Course Outline
Course Description:
This course aims to develop the theoretical foundations of computer science through study of mathematical
and abstract models of computers and the theory of formal languages. It also, introduces some fundamental
concepts in automata theory and formal languages including grammar, finite automaton, regular
expression, formal language, pushdown automaton, and Turing machine. Not only do they form basic
models of computation, they are also the foundation of many branches of computer science, e.g. compilers,
software engineering, concurrent systems, etc.
3 Formal
Languages Symbol, Alphabets String and Language
Operation on Languages
Definition of a Grammar
Inductive Hypothesis
Arden’s Theorem
Lemma Theorem
Definition of CFG
5 Context Free Context Free Languages and Derivation Trees
Language Right-Linear Grammar
Right-Linear Gram mars and NFAs
Left-Linear Grammar
Definition of a Derivation Tree
Parsing and ambiguity
Ambiguous Grammars/Ambiguous Languages
Simplification of CFG
6 Pushdown
Automata
References
• An Introduction to Formal Languages and Automata, Third Edition, Peter Linz, 2001 or
new edition
• An Introduction to Formal Language Theory that Integrates Experimentation and Proof
Allen Stoughton, 2004 or new edition.