Turing Machines are among the most powerful abstractions in computer science. Given the ability to write to an infinite spool of tape, a Turing Machine can compute anything that is computable.

These important machines are often used in the study of CS theory. What if a service existed that allowed you to animate an arbitrary Turing Machine and step through its operation?

Our hack has two parts. First, we implemented a web app that executes an arbitrary Turing Machine on a given input. This web app provides advanced features such as saved machines, syntax checking, wildcards, and stepwise debugging. It is fully animated with CSS, and is implemented with HTML and JavaScript.

The second part of the hack involves an Intel Edison microcontroller. The embedded device executes an arbitrary TM via Cylon.js with a Javascript backend. The "infinite tape" of the machine is displayed on an attached LCD.

We hope you find our hack to be an appealing and elegant example of a classic CS concept.

dylanhunn.com/turing http://youtu.be/aizo5qWE_KU

Share this project: