* Presents a consistent object-oriented perspective.
* Recursion emphasized throughout, particularly in chapters 2 and 4.
* Design patterns provide clear approaches for developing programs.
* Offers a unique multimedia format for learning the fundamentals of data structures and algorithms.
* A robust set of end-of-chapter problems are arranged by purpose - reinforcement problems assess understanding; creativity problems require students to apply concepts to writing "classes" (portions of a program); projects require students to write entire programs.
* Outstanding writing style presents even the most difficult mathematical concepts clearly.
* "Visual Proofs" helps students better understand complex analytic concepts.
* Animations on the text's Web site clearly illustrate data structures and algorithms.
* Exercises offer numerous opportunities for hands-on learning.
* Emphasizes the practical application of the latest software engineering practices.