What is this course about?
Formal Languages and Automata provide the basis for analyzing user input from addresses in web forms to complex Java code. This 3-part course provides the basics of the theory. It also shows the limits of each machine model and finally the limits of computability in general.
This course, building on the previous one, features contextfree languages and pushdown automata.
What do you learn in this course?
With the help of this course, we want you to achieve the following learning outcomes:
- You can read and write the formal notation of a grammar and classify grammars with regard to the Chomsky hierarchy.
- You can eliminate epsilon productions from grammars.
- You can name operations that contextfree grammars are closed under.
- You can proof that a language is not contextfree.
- You can describe the idea and the mode of operation of pushdown automata.
- You can transfer contextfree grammars into pushdown automata.
How is the course structured?
- Elimination of Epsilon Productions
- Closure Properties of Contextfree Languages
- Pumping Lemma for Contextfree Languages
- Intersection and Complement
- Pushdown Automata
- Pushdown Automata and Contextfree Languages