
The Java Applets developed as part of the STP Project make use of the Science Tools package developed by Wolfgang Christian at Davidson College. This package provides for inter-applet communication that can be controlled by JavaScript. There are usually one or more data-source applets and one or more data-listener applets. A data-source will run a simulation governed by a clock and export properties of the simulation. These properties are selectively imported by a data-listener and then displayed as graphs, tables, histograms, bar graphs, and animations.
JavaScript is used to link the data-sources to their corresponding data-listeners. In the JavaScript code the user can specify which variables should be read by the listeners, and can even filter the data by applying any analytical function to it. One of the advantages of this approach is that instructors can modify the functionality of the applet by modifying the JavaScript code rather than the Java source code itself. The applets run on any Java 1.1 capable browser with JavaScript-to-Java scripting capability (known as LiveConnect).
Wolfgang Christian's applets in this context, known as Physlets, are available on the Davidson College WebPhysics server.
Note: Most of the applets will not run on the Macintosh at present. Although the latest version of Java for the MacOS is excellent, both Internet Explorer 4.5 and Netscape 4.x do not support LiveConnect. Furthermore, Netscape 4.x does not fully implement Java 1.1. All applets have been tested on Netscape Navigator 4.5 and Internet Explorer 5.0 on Windows NT. They should also run on most Unix and Linux computers, but we have not tested them yet.
The Java Applets developed as part of the STP Project are released under the GNU General Public License. The source code is readily available from each applet's page. However, the Physlet framework used by these applets itself is not free software and should not be distributed.
If you have written a Java applet that might be of use in a statistical and/or theraml physics course, please send us the URL so we can list it.