Turing: a library to teach Introduction to the Theory of Computation (Fall'21)

The Turing project aims to offer the foundations of a course on introduction to the theory of computing. We are formalizing some content of the textbook Introduction to the Theory of Computation, by Michael Sipser.

Our library includes results on

  • Formal languages: common operators and language equality results
  • Regular languages: regular expressions, pumping lemma
  • Turing machines: acceptance, equality, map-reducibility, decidability.

This library has been used to teach 3 sessions of a course on introduction to theory of computation at UMass Boston. Slides, video recordings, and classroom exercises are freely available here:

https://cogumbreiro.github.io/teaching/cs420/f19/
https://cogumbreiro.github.io/teaching/cs420/s20/
https://cogumbreiro.github.io/teaching/cs420/f21/

Some of the live coding recordings of S20 are available on YouTube: Tiago Cogumbreiro - YouTube

I would love to meet other educators using a similar approach to teach intro to the theory of computation, and to connect with people curious to try out this work.

3 Likes

That’s very interesting! I will try to have a closer look next week.

Until then: Are you aware of the following project?

What a great resource! Thanks for the link.