turingmachine.js 1.0.0 released

It took me quite a hassle, but eventually I released turingmachine.js tonight in version 1.0.0. You can spot the deployed version here:

http://lukas-prokop.at/proj/tm

What is it about? In previous years, I have been tutor for “Foundations of Computer Science” where students are introduced to turingmachines on a fundamental level. They have to write transition table for problems we give them. It was annoying for me that students could not try their program in a visualization and we tutors need to think through a set of testcases for all programs.

I started to write turingmachines in python first, but not everyone has python available (ironically today the courses uses python so the primary target audience has). So I started to port it to Javascript and two years ago, I had a very fundamental version running. Last year it was released to students, but it was really buggy which is also annoying for students.

The 1.0.0 release provides the same feature set but should work much more stable. Specifically:

  • Animation of writing / moving the tape. With options to disable it or make it faster/slower
  • A modifiable transition table at the bottom
  • You can inject a new tape using “Load tape”
  • Several example programs are provided and can be loaded dynamically. One program was contributed by Martina T.
  • You can import/export the whole state using JSON. Foswiki is used in the course. window.localStorage stores the example program selected currently
turingmachine.js 1.0.0 released