This is a C++ text designed for the second course in an integrated curriculum for computer science. This volume is organized around a study of abstraction and its use in data structures and algorithms. Abstraction is the basic step in the software engineering lifecycle, and is a fundamental tool for advanced work in solving large, complex problems in computer science. The lab manual offers students the opportunity for hands-on experience. The text considers object-oriented software design and programming and is committed to the study of verification and computation complexity throughout.
