- Informal Definition of Turing Machines
- Formal Definition of Turing Machines
- Transition Function, Instantaneous Descriptions, and Moves
- Programming a Turing Machine
- Turing Machines as Acceptors
- Recognizing a Language
- Turing Machines as Transducers
- Sorting

Here is a simple definition of a Turing machine, showing how it can be represented as a table or as a finite-state automaton.

Here is another writeup with some background information about Alan Turing.

I found a nice on-line textbook for introductory computer science at the Memorial University of Newfoundland. It has fairly detailed sections on Algorithms and The Turing Machine Model of Computation, The Universal TuringMachine and an Unsolvable Problem, and Other Noncomputable Problems.

There is a short article on Turing machines in the Stanford Encyclopedia of Philosophy.

TurMac 1.0.3, from Asgard Software, is a Turing machine simulator for the Macintosh. Turing's World (also for the Macintosh) is a more sophisticated, commercial TM simulator. There are also simulators available for the Amiga, and for PCs with Windows 3.1 or Windows 95 (this one's in German). OK, here's one in English.

There is also a programming language called Turing, but the only connection to Turing machines is that both were named after Alan Turing.

If you are interested in Alan Turing as a person, there is a great set of pages about him. (However, now that the Communications Decency Act is law, the page on the The Turing Sex Test is probably illegal.)

Copyright © 1996 by David Matuszek

Last modified Mar 23, 1996