TMCM Labs and Applets
Downloading and Information Page

This page contains links for downloading a set of labs and applets that were written by David Eck for use with his introductory computer science textbook, The Most Complex Machine. The labs and applets are also available on line at Information about using this material is in the README files for the downloads, which are also available below for reading on line.

In addition to the archives, a "pdf" version of the labs and applet information is available, at the bottom of this page.

Note that many of the downloads are available in two formats: ZIP archives (with file names ending in .zip) and TAR.GZ archives (with file names ending in .tar.gz). The contents are identical, except that text files in ZIP archives are in Windows/DOS format while text files in TAR.GZ archives are in Linux/UNIX/MacOSX format. For most purposes, it doesn't matter which archive you use, as long as you can unpack it.

ZIP archives can be used directly in Windows XP. In any version of Windows, you can unpack a ZIP archive using WinZip (available from or Aladdin Expander (available from You Web browser might already be configured to unpack the archive when you download it.

In MacOS X, your Web browser should unpack any archive that you download. If not, you can use Stuffit Expander (available from If you are still using MacOS 9.0 or earlier, see the bottom of this page.

On Linux/UNIX, you should be able to unpack a TAR.GZ archive named archive.tar.gz with the command tar zxf archive.tar.gz or with the two commands gunzip archive.tar.gz followed by tar xf archive.tar.gz. This requires that you have gzip software installed.

Download the Entire Web Site

Use one of the following links to download a complete archive of the TMCM Labs and Applets Web site. You are welcome to post an unmodified copy of this material on your own Web site. You can also use it on your own computer. However, when you use the applets on your own computer, the applets on the web pages in this archive will probably not be able to read the example files that they are supposed to read. This is a security feature of applets, but it can be annoying at times. To deal with this problem, you might also want to download the "Lab and Tutorial Examples" archives below.   (for Windows)   (for Linux/UNIX)

You can take a look at the README file for this archive. The README file explains in detail how to use the applets on your own web pages and how to run the applets as stand-alone applications.

Applet Jar Files (Software)

The seven applets are packaged as "jar files." These files can be run as standalone applications, and they can be used for putting the applets on your own web pages. The jar files are part of the complete web archive that you can download in the previous section of this page. See the README file from that archive for complete information about how to use them. You can also download individual jar files using the following links:

DataReps.jar xLogicCircuits.jar xComputer.jar
xTuringMachine.jar xTurtle.jar xSortLab.jar

On some computers, you can run one of these files simply by double-clicking on it. If you have a recent version of Java from Sun Microsystems, you can try commands of the following form on the command line:

             java  -jar  xLogicCircuits.jar

If you are using Microsoft's version of Java in Internet Explorer in Windows, then you can use the "jview" command in a command window to run the programs. The command takes a form such as:

             jview  -cp  xLogicCircuits.jar  tmcm.xLogicCircuitsFrame

Here, "tmcm.xLogicCircuitsFrame" is the name of the Java class within the jar file that actually defines the programs. Similar names are used in the other jar files.

Lab and Tutorial Examples

Here are two archives that make it easy to run the Labs examples and Information/Tutorial examples outside of a Web browser. One advantage of this is that you will be able to load and save files.

The Labs examples and applets (from the "The Labs" section of the main page):   (for Windows)   (for Linux/UNIX)

You can view the README file from the Labs archive for more information.

The Information/Tutorial examples and applets (from the "The Applets" section of the main page):   (for Windows)   (for Linux/UNIX)

You can view the README file from this archive for more information.

PDF File for Printing

The following PDF file contains copies of all the lab worksheets and applet information pages from (Except that where an applet should appear on a page, you'll just see a note that Java is not available.) This file is provided primarily to make it easy to produce print outs. You can read it using Adobe Acrobat Reader

If you click on the above link, your browser might use a PDF plugin to let you see the contents of the file. If it does not have the plugin, it should let you download the file. If you do have the plugin and still want to download the file, try right-clicking or Control-clicking the link.

Java Source Code

The Java source code for the applets can be browsed on-line and is included in the complete web site archive that can be downloaded at the top of the page. However, for convenience, you can also download the source code separately using one of the following links:   (for Windows)   (for Linux/UNIX)

You can view the README file from this archive. Note that this code was written for version 1.0 of Java and uses many features that should not appear in modern Java code. It was not written with the intent of publishing it, and it has almost no comments. I have made the source code available because a number of people have requested it.

For Users of MacOS 9 (or Earlier)

If are still running MacOS 9, or earlier, on an old PowerMac computer, you cannot and will never be able to use versions of Java newer than version 1.1. The changes that were made to this web site in June 2004 are irrelevant to you. You might want to use the following Macintosh-format archives of the old version of this site:

The complete Web site from March 2000:   (for Macintosh)

The Labs and Tutorials examples in a single archive from March 2000:   (for Macintosh)

The Java source code files from March 2000:   (for Macintosh)

David Eck (, June 2004