When you can see inside a computer...
Students following a first course in computing often experience
difficulty in understanding the fundamentals of computer operation. A sound
basis cannot be developed without a working knowledge of the capabilities and
limitations of a stored program computer. Unfortunately it is not possible for
inexperienced students to study computing with any degree of success as there
is no computer that is both realistic and easy to use. TOM has been developed
in order that such initial instruction can be given, involving suitable
practical experience to allow students to develop their confidence and
competence before their initial enthusiasm is exhausted.
TOM stands for Thoroughly Obedient Moron, and consists of a
number of components each designed to teach the fundamentals of computing via
simple interactions. The above screen shows TOM's machine which gives a full
simulation of how each TOM instruction is executed.
The student can interact with the above screen to gain a deep
understanding of precisely how a computer achieves its task.
This simple computer has a safe and friendly interface which is
entirely mouse driven.
TOM has 20 instructions, a manageably small number which
nevertheless enables real programs to be written. The entire status of TOM is
visible at all times giving instant feedback on the state of the execution.
Programs may be executed, single stepped, saved, restored, and
modified.
The main TOM screen, shown above, behaves exactly as with version 1
but additional options allow programming of memory mapped output and interrupts
for the more advanced aspects of current computing courses. In addition, Stack
Pointer and Status registers can be enabled to allow a greater range of
programs to be written.
The above screen shot shows the optional keyboard device which can provoke processor interrupts for which the students can provide interrupt handlers. Also shown is the memory mapped output device which maps the ASCII collating sequence to displayable characters.
These additional components give students a firm grasp of how
input/output operations and subroutine calls are performed by modern
computers.
All programs written for TOM can be executed by TOM's machine, as
shown on the previous page, where each aspect of execution can be seen in
detail.
TOM has been enhanced to allow copying, cutting and pasting of
memory contents to facilitate program correction and can display memory
contents in decimal, hexadecimal and binary.
Logic gates are the fundamental building bricks of digital
computers. No student can completely understand the modern digital computer
without a firm grasp of what logic gates do and how they can be connected to
achieve complex logic circuits.
Interactive screens take the user through:
Each interactive display shows an active truth table and explanation
text wherever relevant and is backed up by Help File and tutorial style
documentation.
The above screen shows the flip-flop display which gives a blow by
blow display of Set and Reset sequences.
TOM builds upon this layer of abstraction to show how via the
Controlled Flip-Flop a set of memory elements can be built and
addressed.
A succession of screens takes the user interactively through how the
components of memory are constructed, from a simple array of controlled
flip-flops, address decoding, finally to the above screen which interactively
demonstrates how values are fetched from particular memory
addresses.
There is a substantial context sensitive Windows Help file and User
Manual. The manual gives background information on all aspects of TOM and
includes discussions of:
The TOM manual includes exercises on each topic and can be
successfully used in a self-teaching mode leaving the instructor free to
supervise. TOM has been used most successfully for at least five years during a
Fundamentals of Computer Science course and is now widely used in British
schools. It is suitable for all students who are starting their studies of
computers.
Review of TOM Simulator from Parents & Computing
Download TOM Simulator Demo (2.4MB)
Click on this to down load a self-expanding file. Copy the file to
an empty directory and run it. install using setup.exe. See the file 'demo.txt'
for instructions on using TOM.