Honestly, I never made use of Turing machine simulators when I taught computability theory, but they can be quite fun to play with and allow you to run programs that are far more complicated than you could ever step through with pencil and paper. The list below could be considered an update of the list found quite a ways down this page of the Alan Turing Internet Scrapbook, with broken links removed, new links added, and notes on whether the simulator requires plug-ins or proprietary software. Anything past the first category has not been tested by me personally.
As a bonus, here’s a beautiful physical Turing machine, by Mike Davey.
Run in browser and require no change to my settings:
- Very fun simulator by Anthony Morphett; has examples but also allows you to write your own programs.
- Choose from three programs by Andrew Hodges on the Alan Turing Internet Scrapbook page.
- Basic, clean simulator by David Klick. Instructions are a little thin, as it is specifically for one of his courses, and you must write your own program. I wrote a program to change any trailing (left-end) 0s to 1s as “start:0:start:1:right [line break] start:1:halt::” and it worked as planned.
Run in browser but I allow insufficient Java (i.e., gave me “missing plug-in”):
- xTuringMachine Lab: supplement to David Eck’s book The Most Complex Machine; has many exercises.
- Amir Ben-Amran
- Tom Briggs
- Suzanne Britton
- Eliot Eshelman
- Kenneth Schweller
Must be downloaded:
- Multi-platform pre-compiled: JFLAP, which also covers regular languages, context-free languages, and L-systems; Tuatara Turing Machine Simulator.
- Java: B.J. Dweck, Wendy Myrvold, Tom Ventimiglia.
- C and related: Scott Ainsworth (Windows/C#), Alex Vinokur (C++), TM by David Woodruff (C), group effort out of Taiwan (.exe or ANSI-C).
- Specific OS: Sergey Berezin (UNIX), Alexander Clauss (iPad/iPhone/iPod touch), John Kennedy (MS-DOS), Brian Shelburne (MS-DOS).
- Et cetera: David Matuszek (Python), Uri Levy (requires NumRun from Numerit), Jimmy Mårdell (TI-86) (!!).