Russel Winder's Website

ADS: A Java algorithms and data structures package for teaching

Graham Roberts (at UCL) and I (then at KCL) started using Java for teaching undergraduate programming in 1996, we had to write a book Developing Java Software as there were no good books suitable as course texts for our programming courses. As part of the book, to have example code to investigate issues of package architecture and design, as well as some issues of algorithms and data structures, I wrote the ADS package. It was not intended as a production-use library to compete with Collections, it is specifically designed to highlight architectural and design issues for pedagogical purposes.

At the request of Wiley, the publisher, we removed the ADS material from the third edition to focus the book clearly as a book for first courses rather it being a first and second course text. We do not want to lose the excised material so we will be putting up PDFs as and when we can. The source code of the package itself has been put into a Git branch that everyone can take their own branch of – .

If you find any errors or proposals for improvement do let me know.

The ADS package is licensed under GNU Lesser General Public Licence (LGPL) version 3.

Copyright © 2017 Russel Winder -