Simulators for Teaching Computer Science

This web page can be found at /simulators/.

This is the index page for eight simulators that have been written to augment the undergraduate computer science curriculum.

The simulators are all written in Java and can be run either as a Java application or as an applet through a browser. You can try out any of the simulators by running them remotely from the table below. The simulators will run on any system with a modern Java runtime environment (at least version 1.2, but 1.4 or higher is preferred).

If you are reading this file from a CD, rather than a remote web site, it is possible that your OS will have trouble reading the long filenames on this CD. If this is the case, you can use the file on the CD to load an image of the CD directly on your machine. You may request a copy of the CD using the email address given below. The zip file can also be downloaded from the web at /simulators/

The first seven of the simulators support the undergraduate operating systems curriculum. So far, there is one simulator that supports the teaching of a beginning Java course. All of the simulators are indexed through this page. Simulators have been created at a rate of about one per year. This index is up to date through 2007.
Simulator User's Guide Run Now Download Latest Version Curriculum Resources SIGCSE paper
Process (CPU) Scheduling ps_doc.html ps.html ps_cur.html SIGCSE 1999
Producer Consumer Synchronization pc_doc.html pc.html pc_cur.html SIGCSE 2000
Starving Philosophers sp_doc.html sp.html sp_cur.html SIGCSE 2001
Fork-Pipe Simulator ring_doc.html ring.html ring_cur.html SIGCSE 2002
Disk Head Scheduling disk_doc.html disk.html disk_cur.html SIGCSE 2004
Address Translation address_doc.html address.html address_cur.html SIGCSE 2005
Concurrent I/O io_doc.html io.html io_cur.html SIGCSE 2006
Java Execution js_doc.html js.html js_cur.html SIGCSE 2007

Each simulator has a user's guide and each has been described in a paper presented at SIGCSE.

If you have any questions about these simulators you may contact me at

The simulators are freely available for you to use. If you would like to use any of the simulators in a course, you can become an official user site.
This gives you access to email support. For additional information, use the above email address.

Steve Robbins
Department of Computer Science
University of Texas at San Antonio
One UTSA Circle
San Antonio, TX 78249