The objectdraw Library
Sample Chapters
Programming Examples
Sample Lab Exercises
Instructor's Resources
Visit Prentice-Hall

 JAVA: An Eventful Approach

The links below lead to materials for sample laboratory exercises designed to work well with our text.

We have listed the labs by chapter, with a collection of final programming projects at the end. There is roughly one lab for every other chapter. With each lab we include a handout describing the exercise, a sample solution, and any files that should be provided to the students as they start working on the lab. In some cases, these additional files are fragments of Java code, in others we include image files or sample input files.

Solutions to the labs and the files provided to help students start the labs are accessible to those with accounts to access our instructor's resources. As with the solution manuals for the textbook exercises, we request that you DO NOT GIVE STUDENTS ACCESS TO THE SOLUTIONS TO OUR LAB EXERCISES. In particular, please do not post these solutions on your own web page!

The handouts we use in our labs are specialized for use in our environment. We include instructions to help the students use the IDE available in our lab. We give them instructions on how to submit their lab electronically through our server. We even include our grading guidelines. We recognize that many of these details will be different at your school. With this in mind, we provide the handouts that describe the laboratories in three forms:

  • A PDF file containing the original handout we use at Williams,
  • A PDF file containing a generic handout derived by removing all Williams specific details, and
  • LateX source files that can be used to generate either the Williams or generic form of the handout
We suggest that you compare the Williams version of the handout to the generic version to get some sense of the sorts of instructions your students will need beyond that found in the generic handout. Then, you may either choose to distribute the generic version of our handout together with an addendum describing the particulars for your lab setting, or to edit the LaTeX source files to produce a single handout tailored to your school.

Chapter 1
Introduction to Java and objectdraw
Chapter 4
Laundry Sorting --- Introduction to conditionals
Broomball --- Introduction to conditionals
Chapter 6
Popping up All Over --- Simple introduction to class definitions
Magnet Simulator --- Introduction to class definitions
Chapter 9
Three-cow Monty Game --- Introduction to loops and ActiveObjects
Boxball Game --- Introduction to loops and ActiveObjects
Frogger Game --- Advanced loops and ActiveObjects
Chapter 11
TextPlay --- Introduction to GUI Interfaces with Swing
BouncyBall --- Introduction to GUI Interfaces with Swing
Chapter 12
Scribbler --- A sketchpad program using a recursive collection
Recursive Doodling --- Geometric doodling with recursive collections
Chapter 14
Simon --- Simulating a noisy toy using arrays
Chapter 15
Nibbles --- A simple animated game played on a two-dimensional grid
Termites --- Simulating hungry insects on a two-dimensional grid
Final Projects
Sokoban --- A marbles-in-a-maze game
Glinx --- A maze/path game