Theory of Computation

Here you’ll find learning resources on the fundamentals of Theoretical Computer Science.

All of these resources are based on an introductory course taught by Javier Esparza at TUM in the summer term of 2021.

I’ll continuously update and extend these resources as the course progresses.


  1. Languages and Grammars. Handout. Slides.
  2. Regular Languages. Handout. Slides.
  3. Context-Free Languages. Handout. Slides.
  4. Decidability and Computability. Handout. Slides.
  5. Complexity Theory. Handout. Slides.
  6. List of Problems. Handout. Slides.