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 features the basics starting with different types of automata and regular expressions.
What do you learn in this course?
With the help of this course, we want you to achieve the following learning outcomes:
- You are able to determine regular expressions and finite automata for simple regular languages.
- You understand the concept of non-determinism and employ non-determinism for constructing finite automata if appropriate.
- You are able to perform basic constructions for finite automata.
- You are able to develop new constructions for finite automata.
- You know the limitations of regular languages and can determine intuitively if a language is regular.
- You can prove that a language is not regular.
How is the course structured?
- Finite-State Automata – Determinism and Nondeterminism
- Finite Automata – Closure Properties
- Regular Expressions
- Finite Automata – Minimization
- Decidable Properties and the Pumping Lemma