The package contains approximately 80 fully and consistently developed classes supporting the full range of data structures studied in a modern CS2 course. The package makes reasonable use of inheritance and interface design. None of the structures have been declared final, making it possible for students and faculty to extend on the stable platform of structures. Since none of the structures makes significant use of rapidly moving packages at Sun (including the AWT), it is unlikely that significant changes in the design of the Java environment will have lasting impact on the design of the structures package itself. In particular, many of the design decisions made in the structures package have been paralleled in the Java environment.
The code is annotated with pre- and post-conditions that help the user
understand the conditions required before the method may be expected
to work, and the conditions that are likely to be achieved when the
method is executed. Using Sun's javadoc, the code is fully
documented, but the (ugly and distracting) javadoc commentary has been
removed from sources to focus attention on the (same) comments
incorporated into each method. All the software, including updates
can be found on the web (see
Most importantly, my wish is that the structures package be a contribution to the educational community. As a result, while McGraw-Hill holds a copyright on the software, they have agreed free distribution of the software. Generally, you make make whatever educational use of the software you wish, as long as you don't directly make any money (see our agreement).
I hope you enjoy this package. I encourage, of course, your comments on the package and details of how you have found it useful (or not...).