15

HotJava - Capabilities and Its Use in Education

Embed Size (px)

Citation preview

HotJava { Capabilities and Its Use inEducation�Meryem Ispirliy Wojtek Furmanskiz Geo�rey C. FoxxNancy J. McCracken{AbstractWe investigate the new Internet browser HotJava for its capabilities in providingdynamic and interactive educational Web pages. The �rst task of the project was tomonitor Java-related activities on the Internet and to develop NPAC Web informationpages that summarize the current status of Java evolution by building a navigabledatabase of Java classes and applications. These are written using applets, programswritten in the Java language to run within HotJava. The second task was to explorethe use of applets in developing educational modules by modifying and adding newfunctionalities to the existing object classes.1 Introduction { EducationBy the 21st century, a di�erent type of school room is expected to exist, with technologyas the enabler [1]. Not only can the use of computing technology radically alter the wayschools schedule logistics and track student progress, but it can also have a major e�ect onthe educational process.Technology will enable us both to help the talented and gifted students and thechallenged students whose needs are the greatest obstacles for teachers. By providingenrichment opportunities to gifted students, they can be given the opportunity to learna greater depth of curriculum within the classroom. Technology can also be used by thechallenged students enabling them to be more motivated and able to learn by providingadditional practice, and instructional alternatives.A few advantages of the future school classroom are:� Resources from around the country and world can be brought into the classroom atthe touch of a button.� Instruction can be delivered from a distance, particularly bene�ting rural or disad-vantaged classrooms.�Project completed as part of the 1995 Research Experiences for Undergraduates (REU) Program in High-Performance Computing conducted by the Northeast Parallel Architectures Center (NPAC) at SyracuseUniversity. The National Science Foundation provides primary funding for the NPAC REU program,through NSF Grant CDA-9424332. Additional funding is provided by Syracuse University and NPAC.yResearch Apprentice, 1995 NPAC REU Program, [email protected]; Computer Engineering Major,Syracuse University, [email protected] Director, Northeast Parallel Architectures Center (NPAC); Research Professor of Physics,Syracuse University, [email protected], Northeast Parallel Architectures Center (NPAC); Professor of Computer Science and Physics,Syracuse University, [email protected].{Research Scientist, Northeast Parallel Architectures Center (NPAC), Syracuse University,[email protected]. 45

46 Ispirli, Furmanski, Fox & McCracken� Teachers can more easily stay current in their profession.� Teachers can �nd more time to act as facilitators, instructional planners and co-evaluators of student learning.The World Wide Web represents a rich source of information, but most information isnot in a form relevant for K-12 education. One of the goals of the National InformationInfrastructure (NII) is to link schools with high-speed digital networks supporting real-timevideo for interactive collaboration and data access. This will also support dynamic andinteractive Web pages, such as those demonstrated by the new Internet browser HotJava[2]. The interaction capability is needed for educational purposes, because instead of havingstatic data on the screen as a book, students are engaged by dynamic applications, canobtain feedback about what they are learning, and can have educational content structureddynamically in response to their performance.2 HotJavaHotJava is a World Wide Web browser that builds on the Internet browsing techniquesestablished by Mosaic and expands them by implementing the capability to add arbitrarybehavior, which transforms static data into dynamic applications. HotJava can executeapplets, programs written in the Java programming language [3] and included (like images)in HTML pages. The data viewed in other browsers is limited to text, illustrations, andlow-quality sound, and video. Using HotJava you can add applications that range frominteractive science experiments in educational material to games, specialized shoppingapplications, interactive advertising, and customized newspapers.One of the most signi�cant uses of HotJava is to provide interactive content. For exam-ple, someone could write a Java program following the HotJava Application ProgrammerInterface that implemented an interactive chemistry simulation. Then people using theHotJava browser on the Web could easily run this simulation on their own platforms andinteract with it, rather than just having a static picture with some text. They can do thisand be assured that the code that brings their chemistry experiment to life doesn't alsocontain malicious code that endangers their own system. Code containing bugs or virusescan't breach the walls placed around it by the security and robustness features of Java.Using Java, an author can also enable HotJava users to click on illustrations and see theanimation of algorithms. Using these dynamic facilities, content providers can de�ne newtypes of data and behavior that meet the needs of their speci�c audiences, rather thanbeing bound by a �xed set of objects.In addition, HotJava provides a way for users to access these applications. Softwaretransparently migrates across the network. There is no such thing as \installing" software;it just comes when you need it. Content developers for the World Wide Web don't have toworry about whether or not some special piece of software is installed in a user's system; itjust gets there automatically. This transparent acquisition of applications frees developersfrom the boundaries of the �xed media types like images and text.The main di�erence between the HotJava browser and others is that HotJava recognizesthe APP HTML tag and can display the interactive content those Java applets contain. Oncean applet is downloaded to the client, the connection to the server is closed. The programis executed locally on the client machine [2].

HotJava { Capabilities and Its Use in Education 473 JavaJava is a programming language and an environment. It was designed to solve a numberof problems in modern programming practice. Java began life as part of a larger projectto develop advanced software for consumer electronics. When the project was started,the developers' intention was to use C++, but they encountered a number of problems.Initially these problems consisted of compiler technology problems, but as time passed theyencountered a set of problems that were best solved by changing the language.Brie y, one can think of Java as a simpli�ed, safe, and portable version of C++. HotJavais an interactive Web browser written entirely in Java. Java is a simple, object oriented,distributed, interpreted, robust, secure, architecture neutral, portable, high performance,multithreaded, dynamic language. It is an object oriented programming language optimizedfor the creation of distributed, executable applications. Because Java is compiled intomachine independent bytecodes, applications written in Java can migrate transparentlyover the Internet and are accessible by anyone using the HotJava browser. Java programsare compiled into bytecodes because it is designed to support applications running onnetworks. A bytecode format is compact, making it relatively faster to transport over anetwork. The Java compiler generates an architecture-neutral object �le format to enableit to run applications on a variety of CPUs and operating systems. One of the goals of Javais to enable the construction of software that can run stand-alone in small machines.In summary, Java language provides a powerful addition to the tools that programmershave at their disposal. Java makes programming easier because it is object-oriented andautomatically handles memory allocation. In addition, because compiled Java code isarchitecture-neutral, Java applications are ideal for a diverse environment like the Internet[3].4 Scope of WorkJava is so far the most sophisticated component of Web software. The system was developedinternally by Sun Microsystems over the last �ve years, but it was announced only in April'95. The current system is still far from a production system and yet Java technology wasimmediately (in May '95) licensed by Netscape Corporation. This guarantees that the Javamodel will soon enter the mainstream of Web technologies, but at the moment, `gettingstarted with Java' is still a rather complex task. The system o�ers an extensive classlibrary (200+ classes) that covers basically all aspects of computing, including windowing,networking, graphics, text processing, event handling and multithreading. A switch to Javaprogramming is a major commitment. Since the Java documentation is voluminous, it doesnot always articulate the actual implementation status of various classes. Therefore, thecurrent capabilities of the system can be quanti�ed only after some experimentation period.A growing group of `early adopters' is already testing Java and publishing applet prototypeson the Internet. There are also several vigorous discussion groups and a set of Java mailinglists, where current imperfections of the system are detected, posted and publicly analyzed.Watching these developments seems to be the most e�cient way to break into the Javaworld and start application development.We therefore undertook a two-prong project consisting of:a) monitoring Java related activities on the Internet and developing Web informationpages that summarize the current status of Java evolution, building a navigable databaseof Java classes and applications, viewed from the perspective on near term educationalprototype development;

48 Ispirli, Furmanski, Fox & McCrackenb) adapting selected existing applets, already published on the Internet, for educationalpurposes, by customizing simulation parameters or modifying data/media or by adding newfunctionality in terms of other existing object classes. These were used to create a dynamiceducational applications at a kindergarten level.5 The Information and Application Sectors of the ProjectThe information sector of the project (task a), shown in Fig. 1, is the interface to the Javaand HotJava Packages [4]. By clicking on any of the packages, we get a page as in Fig. 2,which consists of� direct access to Sun's version of the documentation,� NPAC's summary version of each class,� indexes of variables, methods and constructors corresponding to each class, and� an example applet to the corresponding classes that may include any/all of thevariable, method and constructor indexes.By clicking on any of the indexes, we get a page as shown in Fig. 3. This page includesa table of all the items within the speci�ed index along with a detailed explanation ofeach item within the index table. All of these tables shown in Figures 1, 2 and 3 wereconstructed using the table HTML tag in the HTML 2.0 extensions. The example appletsare not implemented at the present time.The application sector of the project (task b) shown below consisted of the followingfour applets [4]:� Drawing Lines Applet - shown in Fig. 4, allows the user to draw lines, and a counterkeeps track of the number of lines drawn.� Word/Picture Recognition Applet - shown in Fig. 5, consists of mostly cartooncharacters and allows the user to recognize the spelling of corresponding words toeach picture as the words ticker away.� Hangman - shown in Fig. 6, allows the user to guess the correct letters in each wordand upon a successful guess the picture of the guessed word along with a sentenceincluding the word will appear on the screen.� Color Matching Edutainment Applet - allows the user to click-and-drag the currentletter (in a randomly generated color). Upon successful moves to the containers withthe matching color, meaningful words are generated.5.1 Color Matching Edutainment AppletThe Color Matching Edutainment Applet basically consists of three parts:� Interface - shown in Fig. 8 consists of a title and an interface to the three di�erentlevels.� Timer - used within the Advanced and Expert levels.� Intermediate level - is an interface to the three levels and are shown in Figures 9 and10.There are three di�erent levels { Beginner, Advanced and Expert { as shown in Fig. 11.

HotJava { Capabilities and Its Use in Education 496 ConclusionWe feel the information sector of this project was an improved version of Sun's documen-tation on HotJava/Java packages/classes. The version we implemented is more clear andlaid out in a more compact way and still detailed without the need for scrolling down thepage.The application sector of the project was successful where we were able to demonstratethe interactive content of programming in Java and express it in an educational environ-ment.Despite having no experience with Object Oriented programming prior to learning Java,we found that it was not di�cult to create applets in Java. The nice thing about the Javalanguage was we could go into code that someone has already written, make a few changeshere and there, and be able to see the di�erence immediately on the screen. After playingaround with existing codes, we were able to start writing our own code from scratch, andit was very helpful to be able to see the results displayed graphically on the screen as thecode was being developed.7 Future WorkThere are short term goals and long term goals for future work in this project. The shortterm goals include improving both the information and the application sectors. From theinformation sector we would like to �nish the metrics and include the applets correspondingto each of the classes under each package. We also need to add the functionality of beingable to launch the applets within the HotJava browser, therefore a CGI script is necessaryto start the HotJava browser and launch the chosen applets. From the application sectorwe would like to improve the educational content of the applets. The next planned stepsin improving these applets include:� Drawing Lines Applet { add intersection counter and prompt learner for a guess oranalytic formula.� Word/Picture Recognition Applet { add fake/wrong words and click-to-stop handlerwhen the corresponding correct word is clicked on. Also add levels of challenge i.e.increase in the amount of fake/wrong words.� Hangman Applet { add some more humanitarian intermediate penalties, e.g. you paya token when you fail and you hang yourself only when totally bankrupt (but youalso gain some cash/token when successful).Long term goals include developing more educational applets. At this point we feelthere is a need to consult educators to make sure the developed applets will be useful andpromote learning.AcknowledgementsFirst and foremost, I would like to thank Dr. Geo�rey Fox for giving me the opportunity toparticipate in the 1995 REU Program that lead to this research. I am especially indebtedto Dr. Wojtek Furmanski for his guidance and constant support during the course of thisproject. Special thanks to Dr. Nancy McCracken for her input and ideas in the preparationof this paper and to Dr. Paul Coddington for his patience and supervision of the program.Finally, I would like to thank my fellow REU students and NPAC sta� for their help.References

50 Ispirli, Furmanski, Fox & McCracken[1] Dan Wheeler, ed., Special Seminar on Technology and the Transformation of Education,available athttp://www.uc.edu/~wheeler/home989.html.[2] Sun Microsystems, The HotJava Browser: A White Paper, available athttp://java.sun.com/1.0alpha3/doc/overview/hotjava/index.html.[3] Sun Microsystems, The Java Language: A White Paper, available athttp://java.sun.com/1.0alpha3/doc/overview/java/index.html.[4] Available at http://www.npac.syr.edu/users/mispirli/JavaWork.html

HotJava { Capabilities and Its Use in Education 51

Fig. 1. Information Sector - digital libraries of Java classes and applets.

52 Ispirli, Furmanski, Fox & McCracken

Fig. 2. Information Sector - An example of one of the packages - Java.util.

HotJava { Capabilities and Its Use in Education 53

Fig. 3. Information Sector - An example of one of the indexes (Constructor) and itsexplanation.

54 Ispirli, Furmanski, Fox & McCracken

Fig. 4. Application Sector - Drawing Lines Applet.

HotJava { Capabilities and Its Use in Education 55

Fig. 5. Application Sector - Word/Picture Recognition Applet.

56 Ispirli, Furmanski, Fox & McCracken

Fig. 6. Application Sector - Hangman - Duke getting hanged.

Fig. 7. Application Sector - Hangman - Duke dancing.

HotJava { Capabilities and Its Use in Education 57

Fig. 8. Application Sector - Color Matching Edutainment Applet - Interface.

58 Ispirli, Furmanski, Fox & McCracken

Fig. 9. Application Sector - Color Matching Edutainment Applet - Go Stage.

Fig. 10. Application Sector - Color Matching Edutainment Applet - Going Stage.

HotJava { Capabilities and Its Use in Education 59

Fig. 11. Application Sector - Color Matching Edutainment Applet - Advanced Level.