The JavaLib library consists of two independent parts: the tester library and the game-world libraries.
The tester library provides a novice-appropriate environment for testing Java programs that can be used easily from the first day of instruction, and scales up to learning how to design tests using a professional-level tool, such as JUnit.
The game world libraries provide an environment for the design of graphics-based interactive games with optional sound effects that is accessible to a novice Java programmer. The programmer only designs the game model (the behavior of the game objects in response to the key events, mouse events, and the timer ticks), and defines the images that represent the game at any given time.
An independent part of the game-world libraries, the tunes library supports the design of MIDI-based sound and musical effects, that can be used as a standalone application, or provide the musical background and sound effects for the interactive games.
Our pedagogy calls for test-first design and the game-world libraries are designed so that using the tester library the programmer can test completely the game behavior, as well as the correctness of the images that represent the game scene.
The web pages include a complete test suite for each library, as well as a number of samples of the games, test suites, and music examples, with short tutorials that guide the reader through the design process.
These libraries can be used in any Java-based curriculum, whether objects-first or functions-first, or, as is our case, functional programming style first. _________________________________________________________________________________
Partial support for this project has been provided by the NSF grants:
Redesigning Introductory Computing: The Design Discipline (DUE-0618543)
Integrating Test Design into Computing Curriculum from the Beginning (DUE-0920182)
For information about these libraries and to report bugs please e-mail Viera K. Proulx