George Stetten
Ge Wang
Visnu Pitiyanuvath
Scott Guthrie

Department of Biomedical Engineering
Reality.java

How students learn
by creating educational software.

April 18, 1998

 

 

 

NSF Recognition Award for the Integration of Research and Education (RAIRE)

Duke University

A new course at Duke University called Simulations in Java (EGR54) brings students together in a common environment for developing educational software while honing their individual skills in programming and mathematics. Projects are based around a set of standard libraries developed over the past four years, having evolved through versions in C and C++ to their present incarnation, Reality.java. These libraries allow students great flexibility in creating visually entertaining and interactive programs that run on virtually any kind of computer as well as over the internet. Student projects in EGR54 are aimed primarily for use by gr ades K-12 and will be distributed free of charge from a central Duke website.

The fundamental embodiment of Reality.java employs a set of graphical spaceships and planets to enact the laws of gravity and Newtonian mechanics through iteration. Spaceships can be made to fire bullets that are aimed at their targets by the solution of simultaneous equations and algorithms to find roots. The detection of collisions raises issues of computational geometry, sampling theory, and search algorithms. Design patterns for object oriented programming are developed to manage fleets of ships, a s well as organize the similarities, differences, and interactions between the various classes of entities that populate Reality.java. A standard representation of location, velocity, orientation, mass, etc., facilitates interpretation of projects by the instructor, as well as collaboration between students. It is extremely easy for students to create new entities, including new graphical representations. The basic tools of 3D computer graphics and animation are incorporated into Realtiy.java in such a wa y as to be accessible on a clear theoretical basis. The full graphical user interface of Java is available without the usual distinction between stand-alone applications and web based "applets."

Students have given favorable reviews to EGR54, generally feeling that they learn programming and mathematics best with a practical problem in hand. A working model is often more convincing than a blackboard full of equations. The equations are still n eeded, but when they are constructed by the student into a computer program, their validity can be immediately tested. Reality.java provides a visual representation that may communicate a great deal about a model, often in unexpected ways, as when a stude nt reverses the sign of gravity and planets fly out of orbit, or when a spaceship blows itself up with the bullet it has just fired. Such experiences are not quickly forgotten by the student.

By facing the challenge of creating innovative teaching tools, students experience first-hand the close relationship that is possible between teaching, learning, and research. It is hoped that a secondary benefit of Reality.java will be the creation of a resource of free educational software. We expect our student projects to be of such a caliber as to compete with commercial education software, especially in secondary education (and especially at the price). No one is closer to that experience than a college freshman, or more motivated to improve it, and no one has a finer developed taste in video games.