* A revolutionary book that intertwines problem solving and software engineering with the study of traditional data structures topics * Promotes a five-step methodology to limit program errors and increase efficiency: problem specification, analysis, design, implementation, and testing * The Java Application Programming Interface (API) is used throughout and wherever possible, the specification and interface for a data structure follow the Java Collections Framework