Book Club
Book Review
Book Club
Title: Java Software Structures
Author: John Lewis and Joe Chase
Publisher: Addison-Wesley
ISBN: 0201788780
Review:
Computer Science departments across the country are moving toward Java to teach Computer Science topics. Java Software Structures: Designing and Using Data Structures (John Lewis and Joe Chase) was written to introduce students to data structures, implementing them in Java. The book follows the format of conceptualization, explanation, implementation, and analysis of each of the collections covered in the book, and logical follow-up to Java Software Solutions: Foundations of Program Design (John Lewis and William Loftus).
One of my criticisms of this book is its use of comments. I would like to see the book implement its comments in the JavaDoc style, which allows greater ease in producing readable documentation for objects and methods created in Java. I also found the code in this book to be a bit more verbose than needed, and at times, just incorrect. For instance, in the second chapters dealing with Bag collections, the authors choose to raise an error if an object is not in the bag. Using mathematical set theory (of which this is an implementation of), removing an item that is not in the set returns the set, not an error. There are also some logic errors throughout the code presented in the book (i.e. dequeue method on p. 203 increments its loop incorrectly). Im sure that these problems will be fixed in future editions of this book, but in its current state, instructors using this book to teach classic software structures need to be mindful of these issues if they plan to incorporate this book into their curriculum.
Although there are some technical problems in this book, I did think the authors did a good job in introducing readers to implementing data structures in Java. My big question when first picking up the book was, Why do we need this book, are nearly 95% of them in the collections API? I was impressed that the authors dealt with this issue early in the text, along with pointing out some of the problems with using the collections API (i.e. java.util.Stacks derivation from the Vector class).
Review by:
Wayne Graham
March 4, 2004
- Top -
