Possibilities of Java Technology in Distance Learning
Tampere University of Technology
Digital Media Institute
Department of Mathematics
Javaä is a new program language developed by Sun Microsystems. It is a simple, object-oriented, network-savvy, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, dynamic language [ Sun, 1997] as Sun itself wants to describe Java. Java is a general purpose programming language and therefore all kind of applications from a simple single user drawing tools to a full-featured office software packages [ Corel, 1997] can be accomplished with it. Especially the network environment has been kept in mind when standard libraries have been developed, so programming client-server applications with Java is easier than with any other programming language.
Based on Java language Sun has developed a whole product family, both hardware and software, to support network computing [ Java Computing, 1997] . The basic idea is to move all applications and data to centralised servers. Applications and data are downloaded to client machines, data is processed at the client side and modified data is stored again to the server. The biggest difference to earlier, similar solutions is platform independence: the client can be any computer from simple network computer (NC) to full-featured workstation. The only requirements are Java-compatible interpreter and network connection.
Distance Learning - Need for Platform Independence
In distance learning the learners groups are usually very heterogeneous. The same goes for computer platforms. This fact sets quite big constraints on the used technology. All needed software should be available to everyone participating the course regardless of whether the learner owns, for example, PC or Mac. Using traditional methods this means that one must either use some rare applications available to every platform or do all data processing on the (WWW-)server using CGI scripts. In practise, programming own, customised applications to be run on client side is out of question using traditional programming languages.
Java brings solution to the problem of diverse computer platforms. Once Java programs have been compiled into architecture-neutral byte code on the WWW-server, they can be downloaded and run on any type of client with Java-compatible Web browser. Installation and maintenance problems are solved at the same time, because the only place that must be kept up-to-date manually is the server. Content provider has also freedom to change basic architecture of Java application and the client software is updated dynamically.
Java Makes Static Web Dynamic Learning Environment
The Web is based on one protocol, HyperText Transfer Protocol (http). Http is very suitable for what it is meant for, to transfer static hypertext components. Effective distance learning requires more. Learners should interact with both learning material and other learners in real time. Because http doesnt maintain the concept of a connection, it cant be used to provide synchronous communication. This is where Java is needed and where it shows its strength.
The number of suitable Java application types for distance learning are great. Following list contains only some of them.
A basic requirement for a decent learning environment is to enable real-time communication between learners themselves and between learners and instructors (teachers). This can be accomplished by text based chat tools implemented with Java. In addition, if it is possible to add multi-user shared whiteboard to this chat tool, the usability extends dramatically.
In traditional teaching, pen-and-paper exercises have played a great role. As computers became more common first at universities and later in lower level education, computer exercises replaced part of them. In distance learning, the trend seems to be toward electronic exercises only and automatic checking. This is caused by limited resources at educational institutions and more and more individual learning plans. Implementing text-based exercises is easy with Web forms and CGI-scripts. If a fully customisable graphical user interface (GUI) is needed, Java is the solution. With Java, checking can be made right on the client side without any network delays.
Front-ends (interfaces) to existing software
Many great programs are developed with some other programming language than Java. There is no sense to rewrite these applications with Java to enable their usage over network. Instead, if the application is cleverly programmed, it is a quite simple task to make a Java interface through which a client Java program can use the original application. In this way distance learners can have for example powerful math engine available over the network.
The same applies to database systems. Many commercial database supplier have Java interface for their products already, so it is possible to access very large databases and modify data directly from client Java application. All administrative tasks can be arranged using this kind of access to student database.
JavaStation - solution to maintenance problems
Java is a new language and it is developing all the time. New features are added periodically and this arises incompatibility problems with Web browsers and their Java interpreters. Application developers would like to use the newest features of Java, but they are often forced to stick to older Java implementation because the old Web browsers are replaced by newer so slowly at homes and companies. Solution to this problem is JavaStation ideology, where the Web browser itself, like any other application, is also downloaded from the server. In that case updating the browser means replacing old version with new one in one computer only.
Currently, there is only one browser implemented with Java, Suns HotJava. It is not as feature-rich as browsers from Netscape and Microsoft, especially its plug-in support is quite poor. The situation gets better when Netscape releases its pure Java version of Navigator next year.
[ Sun, 1997] Sun Microsystems (1997). Java Home Page (http://java.sun.com)
[ Java Computing, 1997] Sun Microsystems (1997). Java Computing Home Page (http://www.sun.com/java/)
[ Corel, 1997] Corel Corporation
(1997). Corel Corporation Home Page