This course covers advanced topics of automata theory and its applications (e.g., computer-aided verification), including:

- learning of automata
- the connection of automata to second-order logic and Linear Temporal Logic
- automata on infinite words
- automata on trees
- synthesis of reactive systems

**Intended Audience:** The course is intended for computer science or math students with background in logic and theory of computation (familiarity with basic algorithms, logic, and the theory of computation will be assumed). Talk to the instructor if you are not sure if you have the background. Please attend the initial lecture for background material.

Further, students should (1) have "mathematical maturity" (e.g., you should be comfortable with proofs and abstract reasoning), (2) be interested in the material; and (3) are willing to spend time outside of class in order to better understand the material presented in lectures.

- Teacher: Niklas Gräf
- Teacher: Daniel Neider
- Teacher: Mahmoud Salamati