A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algorithm. (Wikipedia)
Who was Alan Turing?
Describe the "theoretical" parts that make up a Turing Machine. Are there any real world limitations?
Create a Turing Machine in Python. Hard code the algorithm that controls the machine's operation. (Ask the instructor for the algorithm.)
Display the state of the machine for every step the algorithm takes.
Allow the user to code an algorithm in Python. Have your Turing Machine simulation import the file. This allows the user to experiment with various algorithms without changing the simulation's code.
Hint:Note: You need to create user documentation on creating an algorithm and using the simulation. In other words, how to connect the user's algorithm and the simulation.
Turing Machine (University of Cambridge)
Busy Beaver #4 Turing Machine Simulation (YouTube)
Turing Machine Simulator -- Instructions
CSE104, Lec 2: Turing machine simulations (YouTube)
Turing Machine (written Javascript)
See https://www.turingsimulator.net/github for the source code.
TMSL (TURING MACHINE SIMULATION LANGUAGE)
Language Manual and Project Report