Teaching Data Structures Using Java
Kalamazoo College
July 28 - August 1, 2003 |
Table
of Contents
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/.
Overview Materials
Presentations
Introductory Labs and
Programming Assignments
- Getting
Started with CodeWarrior: an introduction to the somewhat dated
version of CodeWarrior running in the Kalamazoo College labs during this workshop
- Aquarium
Lab Series: series of labs that deal with constructing objects,
invoking methods, basic flow control constructs, and implementing classes.
- Environment
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
or www.collegeboard.com)
- Teacher's Manual (from APCentral)
MBS-Related and Follow-Up Assignments
- Mini-Lab
on Chapter 1
- Minnow:
introduces students to a simplified version of the MBS
Fish
class.
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 Fish
class.
- Lab
on Chapter 4: Experimenting with, and Extending, the
DarterFish
Class
- FastFish:
a problem specification for another
Fish
subclass, along with
two data files (4species.dat
and Unbounded4species.dat
)
that define initial configurations for environments containing fish, darters,
and slow and fast fish.
- ForwardFish:
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).
- Object-Oriented
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,
the MouseInAMaze
and ObstacleCourse
assignments provide follow-ups to the MBS case study and/or the Object-Oriented
Design assignment.
Data Structures Labs and Programming Assignments
- Iterators:
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
ListNode
and TreeNode
classes.
- Queues: a lab
and follow-up
program (Car Wash) that uses the AP
Queue
interface.
- 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
web site.
Last modified on
7/5/03
by Alyce Brady.