Challenges in Java Education
By Sherry Shavor
Development and Education, IBM
Introduction
Java is an exciting, dynamic technology that is challenging to teach. With emerging specifications,
new classes, and general updates to the JDK, one must accept the following fact when teaching
Java: The course will be in a constant state of change because the subject matter is in a constant
state of change. In the past, programming classes were created using the model of "develop the
course and then teach." The teaching cycle was typically much longer than the course
development cycle. In today's technological environment, curriculum development must be
iterative. In order to be Java-compliant, we must follow Sun specifications, which are continually
changing. As a result, our VisualAge products are also continually changing. In the past, products
were released every year and new versions were presented as "upwardly compatible." Today,
new releases of host-based products are issued every few months, so class material will probably
need to be updated each time.
The following is a brief account of how we developed a new instruction paradigm for teaching our
VisualAge for Java course. Our development method included restructuring the curriculum for
students with diverse skills and adapting presentation tools to suit the course materials and labs.
Handling a Variety of Skills and Interests
When developing the VisualAge for Java course, we had to take into account the diverse skills
and interests of students. Students in the VisualAge for Java class fell into the following
categories:
- OO novice (Java is their introduction to OO)
- Java expert
- Smalltalk expert, just starting Java
- C++ expert, just starting Java
- New to Visual programming with VisualAge
- Visual programming expert with VisualAge
Challenge labs were developed for the advanced students. These labs allow students at all levels
to find a comfortable path through the class. This approach was used successfully in the
VisualAge C++ class as well.
Many students are also interested in learning about Java in the industry, and there are many
questions about IBM, Microsoft, Sun, and Netscape. Since Java is also used for building Web
applications, there are questions about how to package an applet for delivery over the Internet
and how to build a good Web application. Instructors found it difficult to keep up with the latest
Java news (through journals, magazines, news groups, or new textbooks) and incorporate all new
developments into a short session.
Changing the Presentation Style
Teaching such a continually developing technology called for a different type of class
presentation. We use Lotus SmartSuite Freelance to present lecture and lab materials instead of
using a host-based tool. The SmartSuite tools are very easy to use, and they allow for speedy
development of high-quality material (clip art, color images, etc.). The students are given copies of
the instructor's class notes so that they don't have to worry about copying material from a crowded
overhead slide. All labs use VisualAge for Java (the tool we're teaching) and all demos involve
the use of Java.
We adopted the concepts of object-oriented programming in our course design. Each new
freelance file corresponds to a new chapter or topic, and dependencies between chapters and
between labs are kept to a minimum. Transitional statements at the end of each slide were
deleted because they are costly and of little value. Deleting these transitional elements and
creating self-contained modules (just like creating objects or reusable components in
programming) means that topics can be written independently and rearranged or altered with
minimal impact to the other sections of the course.
Demos are used because a single demo can replace many screen captures. Screen captures are
useful but require too much maintenance. If a simple icon changes, the whole screen capture has
to be redone. Lotus SmartSuite tools make the few necessary screen captures easy to create with
a simple cut-and-paste procedure (instead of the old method of transferring data from the PC to
the host and running conversion utilities, which is time-consuming and costly).
An FTP site was created for the course so that material can be shared and updated worldwide.
Future Plans
We intend to use the same process for the next class we develop: "Bringing Your Business to the
Internet with VisualAge for e-business." Though we have no way of knowing what changes and
improvements in Java lie ahead, we can plan for change.
|