Teaching Data Structures Using Java
July 28 - August 1, 2003
The materials in this binder, and others, can be found on the Kalamazoo College
web site for high school teachers: http://max.cs.kzoo.edu/AP/.
Introductory Labs and
Started with CodeWarrior: an introduction to the somewhat dated
version of CodeWarrior running in the Kalamazoo College labs during this workshop
Lab Series: series of labs that deal with constructing objects,
invoking methods, basic flow control constructs, and implementing classes.
Plotter: students write methods that navigate a two-dimensional
grid data structure (a
BoundedEnv object), plotting pictures
by placing colored blocks in the grid (graphics is all behind the scenes)
AP® Marine Biology Simulation Case Study
- Description of the contents of the distribution
file (from APCentral or www.collegeboard.com)
- Case Study Narrative (from APCentral
- Teacher's Manual (from APCentral)
MBS-Related and Follow-Up Assignments
on Chapter 1
introduces students to a simplified version of the MBS
In this project students enhance the way minnows move in their environment,
going from simple forward movement to the random movement exhibited by fish
in the MBS
on Chapter 4: Experimenting with, and Extending, the
a problem specification for another
Fish subclass, along with
two data files (
that define initial configurations for environments containing fish, darters,
and slow and fast fish.
a problem specification for a
Fish subclass that always moves
forward, either straight ahead or angling slightly to either side. These
fish assume they have eight adjacent locations (north, northeast, east, southeast,
etc.) rather than four (north, east, south, and west).
Design: a small set of problem specifications for which students
develop object-oriented designs. Since novice programmers have little
experience from which to draw, the problems are all similar to the MBS case
study (or the Aquarium Lab Series) in their overall design.
- If you decide to cover applets in your course, the BalloonRace
program provides a follow-up to the Object-Oriented Design assignment.
- If you decide to cover some basic GUI design in your course using Java Swing,
assignments provide follow-ups to the MBS case study and/or the Object-Oriented
Data Structures Labs and Programming Assignments
Students implement iterators for a number of different traversals and partial-traversals
of a two-dimensional
BoundedEnv data structure.
- Linked Lists:
A program that uses an iterator through a circular linked list (Bad
News Bearers) followed by a set of exercises that explore
the implementation of linked lists.
- Quick References for the AP
- Queues: a lab
program (Car Wash) that uses the AP
- Recursion - NQueens:
Students implement a solution to the classic N Queens problem, using a recursive
backtracking algorithm and a
BoundedEnv object as the N x N board.
- Trees: Labs in which students implement
a number of methods that traverse a binary
tree and a binary search tree.
*AP and Advanced Placement are registered trademarks of the
College Entrance Examination Board, which has not endorsed this workshop or
Last modified on
by Alyce Brady.