|
|  |
Contributed by Dean Sanders
Northwest Missouri State University
Maryville, Missouri
Introduction
Are you looking for a teaching tool that will engage students immediately, help them learn important programming concepts, and reduce their anxiety about learning to write computer programs? Jeroo does this and more.
What Is Jeroo?
Jeroo is an integrated development environment and microworld. A Jeroo is a kangaroo-like animal living on a remote island in the South Pacific. A Jeroo can pick flowers, plant them, or give them to an adjacent Jeroo. Jeroos move by hopping in the four main compass directions. As they hop, they must avoid water, nets, and each other. They can toss flowers to disable the nets. Students immediately relate to Jeroo's friendly anthropomorphic nature and its non-technical, non-violent metaphor. Students write programs to control up to four Jeroos and their interactions with their environment.
The Jeroo application has four major components: the user interface, the Jeroo programming language, editors, and a runtime module. The user interface is a single window in which all components are visible at all times. Menus and a toolbar provide a familiar look and feel. The left-hand side of the screen contains tabbed panes for editing source code. The right-hand side contains a representation of the island. The lower part of the screen is used to display status information. One status area continually monitors the state of every Jeroo in a running program. A second status area reports the state of a program and displays error messages. Syntax and runtime errors highlight the offending line and generate a carefully worded message. A typical message has the form "SYNTAX ERROR: Expected XXX but found YYY."
The syntax of the Jeroo language is identical to Java, save for a generic method header. This helps smooth the transition from Jeroo to Java. The language has only one class: the Jeroo class. This class has six constructors that provide a gentle introduction to overloading and the concept of state. The language has seven action methods to control the Jeroos' behavior and seven sensor methods through which the Jeroos examine their immediate surroundings. Students can write additional methods to extend the Jeroos' behavior. The language supports three control structures: while, if, and if-else, as well as the Boolean operators !, &&, and ||. The language is small enough to be mastered by novices, but rich enough for sophisticated problems.
Jeroo includes a runtime module that uses animation and code highlighting to illustrate the connection between source code and runtime behavior. A program may be executed stepwise or continuously at five different speeds. Students can switch between modes and change speeds during execution. The combination of source code highlighting, animation, and status information creates a rich learning environment. Syntax and runtime errors can be located quickly; the semantics of the control structures are readily apparent; and the interaction between methods is revealed.
The Jeroo tool provides a straightforward way to edit both the source code for a Jeroo program and the layout of the island. The source code editor supports all common operations as well as block indent/unindent, block comment/uncomment, and optional auto-indent. The island editor employs a point-and-click process to place and remove flowers, nets, and water features.
Suggestions for Using Jeroo
Jeroo can be used in one of two ways. Some teachers use Jeroo as the principal or sole programming language in a one semester programming fundamentals course prior to an AP course using Java. When used in this type of course, Jeroo helps students build a strong foundation of programming concepts and gain confidence in their ability to write computer programs.
Most teachers use Jeroo to introduce concepts in an AP course. The most effective way to use Jeroo at this level is to interleave Jeroo with Java topics. The following four-step approach is recommended:
- Learn to instantiate Jeroo objects and send the Jeroos messages. Switch to Java and learn to instantiate objects and send them messages. BlueJ and DrJava can help here because they allow one to do this without writing a complete program.
- Return to Jeroo and learn to write methods. Follow this by learning how to write methods in Java.
- Use Jeroo to learn the syntax and semantics of conditions and repetition structures, then study those topics in Java.
- Finally, use Jeroo to learn the syntax and semantics of selection structures, then study those topics in Java.
Concerns about switching back and forth between Jeroo and a Java development environment have proven to be unfounded. Students become adept at switching between environments, especially if both are introduced early in a course.
The uses of Jeroo are limited only by the instructor's imagination. The Jeroo Web site contains some creative examples that have been contributed by teachers who use Jeroo.
Classroom Experiences
Objective and anecdotal data give insight into Jeroo's effectiveness. Objective data from Northwest Missouri State University show that students report statistically significant increases in confidence and comfort in the course after using Jeroo (the increase is greater among female students), and after using Jeroo, there is no significant difference between females and males. Jeroo levels the playing field with respect to these measures. Data from other sources show reduced withdrawal rates and higher continuation rates.
Informal reports have been very positive. Typical comments are that students love Jeroo, that it's an effective teaching tool, that it's an excellent prelude to Java, and that many students invent their own problems. Several perceived benefits have been reported, including that Jeroo engages students immediately, students master important topics faster than they do without Jeroo, and Jeroo encourages experimentation.
Resource Requirements and Availability
Jeroo has been tested on the Linux, Solaris, Mac OS-X, and Windows platforms. The entire application requires 300K of disk space. To run Jeroo, you must have installed the Java Runtime Environment (JRE) 1.4.0_01 or later.
The software, documentation, sample activities, and copies of related publications are freely available on the Jeroo Web site.
Jeroo.org
|