I am not your standard programmer by any stretch of the imagination. My formal schooling in programming includes one semester of Pascal as a High School student, and one semester of C++ as a college student. By schooling, I am a physicist. By current vocation, I am, if nothing else, an educator. Virtually from the beginning of my college experience, I have been involved in educational technology for physics. I began teaching myself Java as part of my work for Dr. Wolfgang Bauer. Since then, all the Java I know I have taught myself. The following is a list of the applets I have created thus far.
(Note: It is probably as instructive, if not moreso, to visit these applets themselves. They are all posted somewhere publically, with links provided along with their descriptions.)
My first task as a java programmer was to create an interactive simulation of the Lorenz system. This is a system of differential equations that is a classic example of chaotic behavior in physical systems. This applet has three aspects:
(Note: I have not included documentation for this applet, as it was never used by anyone but myself and Dr. Bauer. I will post something as soon as possible. In the meanwhile, to get the flavor of the simulation, set the "Stop Time" to twenty or so in press "Plot")
Trailblazer is a project that I was very excited about, but was not able to finish. It was a side project that I began, primarily for the purpose of my own education. It expanded my experience in the realms of networking and processing files with Java. It's actual purpose was to be a visual aid for web site designers. In a secondary way, it could serve as a web browsing assistant. What Trailblazer actually does is, starting with some home page, it sniffs out all of the links. It then represents those links visually as doorways that stretch out like a web from the original doorway, which is the starting homepage. The user can then tell Trailblazer to seek out the links extending from any of those doorways until as much of the site has been mapped out as the user is interested in seeing. Trailblazer has the following features:
(Note: The link to Trailblazer given here goes to a version of it located within the Physics and Astronomy Department at MSU. Due to security restrictions, when running as an applet, Trailblazer cannot peek at the content of web pages contained on other servers. Links to thos servers will be noted, but information cannot be collected from them. Nonetheless, there are plenty of links within the department's server to provide a decent example of Trailblazer's capabilities. Please be sure to press the "Directions" button before you use Trailblazer.)
The first (and only) applets that I wrote that were truly meant for public consumption were written for the LectureOnline project. LectureOnline itself is a system being developed within the Natural Science Department at Michigan State University. (Specifically, it is being developed by Gerd Kortemeyer in the Division of Mathematics and Science Education.) LectureOnline is a system which facilitates the development of online courses. Its aspects and capabilities are myriad, and I'll not outline them here. My employer, Dr. Wolfgang Bauer, played an integral role in it's conception, and created the first piece of content for it. (That content is the course PHY 231C, an introductory physics course for nonphysics majors.) My role in PHY 231 was to create java applets that teach physics concepts in a visual, interactive way. The content of PHY 231 was drawn from a CD-ROM created by Dr. Bauer which was a multimedia physics text. He had created this application in a multimedia authoring environment (Supercard) whose script capabilities were used to generate the predecessors to the simulations I wrote. Since (unlike the text and graphics on the CD-ROM) these script based simulations could not be directly ported to the web, it was my task to recreate them in Java, as well as write more of them. Altogether, I created 13 such simulations, each of which implements animation, simulation, and a simple usr interface. Rather then describe them all here in detail, it is probably most instructive to view them. They are posted here.