Education Forum
Rocky Ross · ACM SIGACT News · 1996
Java...Hot Java!What is that Brewing on the Web? Past Education Forum columns have discussed some of the potential benefits to computer science education--particularly theory education--promised by computer-based, interactive educational systems.The DynaLab t project in progress at Montana State University was presented as an example of of how a program animator can be used in laboratory experiments to teach time and space complexity.Work by John Stasko, Tom Naps, Marc Brown, and others on algorithm animation systems for illuminating the inner workings of important algorithms in an interactive fashion was summarized.The concept animations (e.g., nondeterministic pushdown automata) of Susan Rodger were covered as well.A review of the CD version of the Cormen, Leiserson, and Rivest Algorithms textbook--complete with interactive algorithm animations--was done.Most recently, the use of HTML, the World Wide Web, and Web browsers--such as Mosaic and Netscapc were promoted as combining to offer a very effective teaching and learning tool.In all of these discussions, some serious impediments to widespread use of these various systems was underscored: the program, algorithm, and concept animation systems only run on certain hardware/operating system platforms, as do the programs behind the textbook versions of CDs that require special software to do the animations.Interactive, hypertext teaching aids developed in HTML for the Web, on the other hand, run on any computer with the proper Web-browsing software, but including animations currently requires that a process be run on the remote host computer; not only is this slow, but again, the animations can only be run if the local computer has compatible output facilities (e.g., X-windows).A melding of program, algorithm, and concept animations with the general accessibility offered by HTML and the World Wide Web would be ideal.So goes the reverie, anyway.The idea is that as a student is studying a particular topic in, say, algorithms by way of an HTML document, upon encountering a description of an open hashing algorithm, she could simply click on an animation link and watch an example of that hashing algorithm unfold as she directed various actions with clicks of the mouse.This would mean that the animation would need to run on her client computer in much the same way that an HTML document is downloaded and interpreted locally. Java to the RescueWell, well, well.Just as we are contemplating the the benefits of such a union, guess what we smell brewing on the Web? Java, and Hot Java at that! Java provides just the tool we envisioned...well, pretty close, at least.What is Java?Technically, it is a programming language, but it is often thought of as a trinity consisting of:• a virtual computer with its own language, called j-code (remember the P-machine and P-code of UCSD Pascal?);