The text’s emphasis is on abstraction and its role in software development. The first chapter reviews (and extends) the principles of control abstraction that students learn in the first computer science course. Chapter 2 serves as a bridge between control abstraction and data abstraction, introducing separate compilation and the use of header files to separate specification from implementation. From Chapter 3 forward, the focus is on data abstractionthe separation of a data type’s abstract properties from the details of its implementation,
Although this text is intended primaril?. for the second computer science course, it also can be used in a sophomore/junior-level data structures course (CS7) when supplemented with more advanced material on data structures.
