Java Applets in Education
You are here: irt.org | Articles | Java | Java Applets in Education [ previous next ]
Published on: Sunday 7th March 1999 By: Pankaj Kamthan
The last few years have seen a rapid emergence and broad acceptance of the WWW as a global medium for disseminating and processing information that is accessible in multiple formats (multimedia) and at extremely fast speeds (hypermedia). This has opened new vistas in education by taking full advantage of our basic "senses" of learning such as visualizing 3D objects and nonlinear nature of thought processes. Recent years have also seen the inception and development of Java, a powerful programming language from SUN Microsystems.
This article discusses the interplay of these two technologies - Java and the WWW - in context of education. In that effort, we address the following questions from a pedagogical viewpoint:
How can the present computational environment of Java and the WWW be integrated in education? In particular, how and where can Java applets be used? What issues should be considered before and during such a use?
We assumes that the user is familiar, at least at an elementary level, with the notion of Java applets. This article is by no means an introduction to Java; there are many good tutorials and books available for that purpose.
What are Java Applets?
Among the different types of programs that can be written in Java, we are primarily interested in applets. Java applets are programs written in Java that require a WWW browser or another Java application to run. (A Java application is a standalone program that requires the assistance of the Java interpreter, such as the Java Virtual Machine (JVM), to run.)
Advantages of Java as a programming language
It is said that a language is only as good as the applications that can be written in it. Java scales well to this measure, as is evident by its numerous applications, including those which are educational. We will introduce some of these later.
Advantages of Java are reflected in its definition:
A simple, object-oriented, distributed, interpreted, robust, secure, architectural neutral, portable, high-performance, multithreaded, and dynamic language.
These features have made Java a favourable language for programming on the WWW.
There are various specific advantages of using Java applets over existing programming environments:
- Speed. Java applets are accessible on the client-side, hence are faster than programs running on remote servers.
- User Interaction. Unlike Java, HTML is equipped with a limited set of graphical user interface (GUI) elements. Java applets can thus provide a better user interaction.
- Platform Independence and Portability. Multi-platform versions of educational software are scarce, and often have a strong dependency on the underlying hardware. On the other hand, users can access a Java applet using different types of architectures and Java-compliant browsers, but still all see the same information in nearly the same format.
- Distributed and Network Computing. Until recently, results from one application usually could not be shared by remote users in real-time. Java Application Programming Interface (API) has support for writing distributed and network programs which can access and share data residing at remote repositories, thus supporting data reusability.
- Development and Maintenance. Usually, the process of writing an educational program is:
main program (which does the computations) + graphics (which plots the results) + user interface,
each of them often in different languages. This can be difficult to extend and maintain. With the support of Java API, these three components can be integrated into one unified environment.
Limitations of current educational practices and advantages of Java Applets
There are various inherent limitations in the current practices of teaching and learning. Some of these problems can be solved to a large extent via integration of Java applets. These aspects can be outlined as follows:
- Open Classroom. The use of Java applets can encourage asynchronous distance learning and thus help overcome the limitations (involving both time and space) inherent in traditional instructional techniques. (Instruction is asynchronous when it does not constrain the student to involvement in the learning process at a specific time, for example, when lectures are presented at a fixed time of the day. Instruction is distant when it does not constrain the student to be physically present in a specific location, for example, when lectures are presented only in a fixed classroom.) Using the WWW, teachers and students can access information any time and anywhere. In the present educational system, teaching hours (including the instructor's office hours) are often insufficient for students. Now that many students have access to the WWW, such facility can be very timely and convenient for students who wish to study the course material from home in their own time. The need for physical proximity can thereby be reduced.
- Nature of Information. There are various concepts and phenomena that inherently involve:
- Dynamic information. For example, chemical reaction simulation or rate of convergence of a numerical method of integration or motion of a pendulum.
- Multimedia information. For example, any subjects that involve the study of concepts from graphics, animation or sound.
- Interactive information. For example, any topic that involves change of system parameters for understanding.
Such information can usually not be represented, distributed and communicated in paper form (and even using a blackboard or overhead-projector with transparencies) due to various limitations. Even though animations can be created using other techniques (for example, GIF animation tool), they lack interaction. The "mental picture" that a teacher has is better conveyed to a learner if the information is presented in its appropriate form.
Java applets can complement a lecture and sessions with such information which is difficult to convey in traditional manner. The use of applets along with desirable multimedia support, provides a representation that is often better in communicating a concept than a static figure(s) or a written description. It also helps learners visualize the concept relatively easily. Through the multimedia support of the WWW, information can be represented dynamically and interactively - both of which Java applets are well equipped with. Applets that have active GUI elements give control in the hands of the learner, and thus allow the learner to gain experience with the concept.
- Classroom Demonstrations and Connections. Classroom demonstrations are an essential component of subjects that are practically-oriented. In various such courses, for example, which are computationally oriented, actual computer implementations of algorithms that function in real-time are usually not introduced in the classroom. Also, the classroom and laboratory components are separated - the lessons are carried out in the classroom while the implementation of algorithms corresponding to them is carried out in a computer laboratory.
- Teacher's Viewpoint. The teacher, at best, illustrates a static computer program for an algorithm or a static image of a computer-generated graphical result. This is often not sufficient. Using Java applets, teachers can perform classroom demonstrations involving real-time computations, bringing more realism to the subject matter. They can thus save time in explaining the algorithmic implementations. The use of hypertext in a WWW document also facilitates explanation of related concepts (such as an applet performing a computation and a corresponding lesson). This can bring clarity and continuity to the lecture by immediate referencing and not referring back-and-forth to, for example, transparencies. During individual study, use of hypertext helps students to recall concepts already learnt and access prerequisites for a topic, in a natural manner not possible in a plain text environment.
- Learner's Viewpoint. It is difficult for students to understand the basic concepts involved in the algorithms (for example, how the approximation to the area under a curve changes as one increases the number of partition intervals) unless they see them in action. Java applets combine these classroom and laboratory components, and provide an environment where students can "see" the connections by immediately applying the concepts they have been taught. This also gives students an opportunity to make their own conjectures and experiment with them. This can lead to a better understanding on part of students.
- Assessment. Traditional methods of assessment such as in-class quizzes can be replaced and/or supplemented with simple Java applets-based multiple-choice on-line tests. This can increase the range of questions that can be asked, as now one is not restricted to the paper format. Such tests can give learners a measure of their understanding of the subject and thus develop confidence. It is also possible to make some of these examinations openly available so that the learner can carry them out in their own time.
- Cost. Commercial application packages and compilers which are used in teaching courses are not readily affordable by all students for personal use. On the other hand, Java-compliant WWW browsers such as Netscape Communicator or Microsoft Internet Explorer are available free of cost for academic use. Java compilers and run-time environments are also freely available for various architectures.
- Transferability and Adaptability. The results of development of Java applets in one instance can be transferable and adaptable to various other learning situations. Java applets, when used in a classroom, can bring a stronger integration between (already existing) theoretical and practical aspects of the subject. There are various courses whose syllabi often intersect (for example, Geometry and Computer Graphics; Numerical Analysis and Calculus/Linear Algebra). Java applets (or even individual Java source/class files) developed for one course could be (re)used by teacher and learners in other courses.
In theory, there is no difference between theory and practice. But, in practice, there is.
- Jan L. A. van de Snepscheut
There are various technological and pedagogical issues that should be considered before making the decision of using Java applets for educational purposes.
There are various pedagogical considerations and questions that need to be asked when considering the use of Java applets for educational purposes. The following are some issues and suggestions:
- Appropriateness. One of the most important questions is: Where is the use of Java applets most appropriate, and why? Java applets can be based on carefully chosen topics from the syllabus of a course. It is not necessary that all topics automatically lend themselves to illustration by a Java applet; in many cases, traditional methods (such as a blackboard or overhead-projector with transparencies) of explaining a concept may be sufficient. For example, it could be argued that the concept of a polygon doesn't require any special use of a Java applet for illustration, but it may be useful to show in real-time using a Java applet that a circle is a limiting case of a polygon when the number of sides tend to infinity. Topics of choice chould be ones that pose special difficulties in learning or require a much-needed illustration. The applets can complement the lecture and the sessions with information which is difficult to convey in traditional manner.
- Training. The use of Java applets can be made simple with a careful implementation of the user-interface design and availability of help documentation. However, there is a steep learning curve for the actual development of Java applets, particularly for those with little or no prior programming experience.
- Availability. The above mentioned issue of training leads to the following questions that need to be addressed: Should the applets be developed "in-house" or should the use be made of the ones already in existence?
- If they are developed "in-house", are there sufficient resources (human, software, etc.) available? How does the timeline of development compare with the current need?
- If the use of pre-existing Java applets is being made, are they suitable and adaptable to the current teaching and learning environment? Are they freely available? For example, a Java applet whose interface is in German may not be suitable for a class whose medium of instruction is English. Also, if such applets can not be made available locally, it can lead to performance issues.
- No Silver Bullet. As with the use of any other technology, it should be accepted that use of Java applets will not by itself solve all the problems faced during teaching and learning process, and may even create some problems of its own. Identifying and addressing these problems can help avoid potential bottlenecks during their use.
Once the route of Java applets is chosen, there are various considerations that need to be addressed during the design and development, in order for them to be useful for educational purposes.
- Limitations of Java Syntax. Java is relatively new language, and lacks features that are present in established languages such as C or C++. One of the limitations from a numerical viewpoint in Java is that there is no native support for complex arithmetic. It does not have a complex data type, which is often required in many areas of, for example, Mathematics and Physics. In such cases, for development of an applet, a complex class needs to be either acquired from a third-party or written from scratch. It also lacks in the area of floating-point representation. Such issues are being addressed, and hopefully the situation will get better as the language evolves.
- Compliancy. Applets are not backward-compatible with respect to the browser. So, for example, applets written in Java 1.2 will not work in a Java 1.0-compliant browser, and is an issue that should be accounted for. Traditionally, the inclusion of a Java applet in an HTML document has been done via the applet tag:
<APPLET> ... </APPLET>
with appropriate attributes. According to the current HTML 4.0 specification, this tag is considered deprecated and is replaced by the object tag
<OBJECT> ... </OBJECT>
This becomes an issue for those designing documents that conform to HTML 4.0 DTD. Since not all browsers presently support HTML 4.0, this should also be taken into consideration.
- GUI. Applets should facilitate experimentation wherever possible rather than passive observation like in a movie. To do that in a user-friendly environment, applets should have the capability of interactive visualization of computer-graphical results through a built-in GUI where the variables such as selected initial conditions and system parameters can be easily manipulated. The applet GUI should be equipped with starting, stopping and resetting criteria. Applets should be designed with a facility (such as a button) for starting the applet so that the GUI features of the applet can be introduced to the students prior to the computations. Applets should be designed to stop at any stage of the computation so that intermediate results can be explained. A resetting criterion can be useful for carrying out computations with default parameter values.
- Robustness. There always lies the possibility of errors being made during a computer-based learning process (such as choosing an out-of-range parameter). Such errors should be accounted for, and applets should be designed to accommodate those errors and prompt the user with appropriate response.
- Efficiency. Applets need to be fast, due to time limitations in a classroom environment. Since a lot of data communication in a WWW-based environment is done over the network, efficiency becomes a major issue, and should be a key design consideration. If such applets are being used over an Intranet, this problem can be circumented to a certain extent.
- Security. One of the caveats of the Java applet programming since its inception has been the security risks associated with it. Provision should be made for appropriate applet security, user authentication and running the underlying WWW server with secure configurations.
- Help. Even though a student can access a myriad of information, it does not mean that the information would easily be processed, assimilated and understood. It may also be, at times, difficult for the learner to appreciate and understand the concept behind an applet unless it is supplemented by corresponding help document. To deal with such issues, lessons explaining the concept under study and its prerequisites along with usage instructions to the applet should be developed and included.
- Process Engineering. Ad hoc and unplanned development leads to programs which are difficult to extend or maintain. All programming should conform with the standard methodologies of software engineering.
Applications of Java Applets
In what contexts can applets be used? There are at least four ways that Java applets can be used in education:
- Informational Applets. These applets are similar to the Help files in Windows-based programs where by clicking on a tab or choosing an item from a pull-down menu, the user can obtain more information on the topic. These applets may have minimal interactivity on part of the user.
- Concept Illustrating Applets. Such applets illustrate concepts underlying the subject, for example, the notion of limit in Calculus. These applets should have maximum possible interactivity on part of the user.
- Computational Applets. These applets can serve as examples of concepts being learnt as well as illustrating a phenomena. They can have the capability of user-interactive visualization of results and with a built-in graphical user interface (GUI) to facilitate experimentation by manipulating various parameters which can be "hard-wired". For example, given the linear equation f(x)=(1/2)x, the applet finds its fixed point iteration, that is, 0. These applets should have maximum possible interactivity on part of the user.
- Assessment Applets. Assessment is fundamental to every learning process. To assess student learning, quiz applets with multiple-choice questions can be designed and implemented. A quiz can present the user with a set of problems, each with multiple choices that he/she could select from. Such a presentation can even be "randomly" generated (using Java's random number generator) from a database of questions. Once selected, the choice can be processed and appropriate response message with explanations can be displayed. These applets may have minimal interactivity on part of the user.
Note that there are other ways that Java applets can be used in education. Often, learning requires to have ready access to resources. Therefore, another way Java applets can be used is to implement a resource system interface consisting, for example, of a navigation system and a search engine to a database via Java Database Connectivity (JDBC). Since such approaches are generic, and not education specific, we have not included them in the above discussion.
The following are some scenarios in which Java applets have been used. The topics and the applets themselves have been chosen for various reasons: author's interest (bias and limitations of knowledge), widespread use, features and power of Java that can be illustrated.
The results and effectiveness of educational use of Java applets can be evaluated from the following:
- Students' Response. An interactive feedback form for this purpose can be made available on the WWW site with Java applets.
- Tutor's Feedback. The tutor could provide feedback based on students' performance in computer laboratories.
- WWW Site Statistics. Collection of statistical data and subsequent analysis based on visits to the WWW site with Java applets.
I hear, I forget; I see, I remember; I do, I understand.
- Paul R. Halmos
The significance of education in any evolving society is paramount. Java applets can help create an interactive environment of "learning by doing". Beyond their ability to better convey certain concepts, the applets can increase motivation and instill greater interest among students, and encourage them to be more actively involved in the class. Consequently, their understanding of the course content can further improve. Such an endeavour can also be useful to a teacher during instruction and otherwise in their course work.
- Dynamical Systems Education on the WWW, By Pankaj Kamthan, Master's Thesis, Concordia University, 1997.
- Java and its use - Design, Manufacture and Engineering Management Group, University of Strathclyde, UK. An overview of Java and the benefits of its use for WWW-based simulations.
- Numerical Analysis and Java - Computational Mathematics Laboratory, Concordia University, Canada. A WWW site dedicated to topics on numerical computing in Java.
Steps to Java Internationalization (i18n)
Java #6 I Wanna hold your hand - longer
Mouse Event Handling in Java 1.0
Java #5 I Wanna hold your hand
Java Applets #4
Java Applets #3
Java Applets #2
Java Applets #1
View the profile on Pankaj Kamthan and the list of other Articles by Pankaj Kamthan.
©2013 Martin Webb