Data structures and algorithms are at the core of any computing science education. Richard S. Wiener's An Object Oriented Introduction to Data Structures Using Eiffel has the great distinction of combining the best in algorithms and data structures with the best in supporting software.