Theory of Computing: Regular Languages (#regLangMOOC)

Zielgruppe: Studierende
Programm: Tech
Autor/in: Andreas Schäfer
Average Workload: ≈ 45 Hours
Course Start: Flexibel
Field of Knowledge: Selbstlernkurs Enrol

What awaits you in this course?

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 can 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.


  1. Organization
  2. Motivation
  3. Finite-State Automata – Determinism and Nondeterminism
  4. Finite Automata – Closure Properties
  5. Regular Expressions
  6. Finite Automata – Minimization
  7. Decidable Properties and the Pumping Lemma

Further authors

Prof. Dr. Andreas Schäfer

Andreas Schäfer received his PhD 2007 from the Carl von Ossietzky University in Oldenburg, Germany. 

He then worked at the European Patent Office for 5 years. Since 2012 he is Professor of Computer 

Science  at the Technische Hochschule Lübeck. His interests include Automata Theory, Logic and Formal Methods. 

Confirmation of participation

In this course, you can earn Badges and Training certificate.