Frank Carrano,Timothy Henry
 ,Data Abstraction and Problem Solving with C++: Walls & Mirrors, , provides a firm foundation in data abstraction that emphasizes the distinction between specifications and implementation as the basis for an object-oriented approach. Software engineering principles and concepts as well as UML diagrams are used to enhance student understanding.
Data Abstraction & Problem Solving with C++: Walls and Mirrors