|
|
Key Features
- Updated with new exercises and chapter goals throughout the text! The most expansive pedagogy available employs a comprehensive program of pedagogical features throughout the text, including goal sections, testing and debugging exercises, quick checks, exam preparation exercises, programming warm-up exercises, programming problems, and case study follow-up exercises.
- Updated! Problem-solving case studies are presented throughout the book to engage students and foster real-world application of programming skills. In each case study, the authors introduce a problem and use various techniques to develop a manual solution. The solution is then expanded to an algorithm, using functional decomposition, OO design, or both, and the algorithm is coded into C++.
- Presents advanced topics at an introductory level with accessible writing and strong pedagogy -- for example, Big-O notation is introduced early and then used to compare algorithms in later chapters; the discussion of function interface design includes encapsulation, control abstraction, and communication complexity; data abstraction and ADTs are explained in conjunction with the C++ class mechanism, forming a natural lead-in to OOP.
- Takes a transitional approach to object-oriented programming – A preview of OOP is presented in Chapter 4, but focused discussion is delayed until Chapter 14 after students have acquired a firm grounding in algorithm design, control abstraction, and data abstraction with classes.
- ISO/ANSI standard C++ is used throughout the book, including relevant portions of the new C++ standard library. Students with pre-standard C++ compilers are also supported. An appendix explains how to modify the textbook's programs to compile and run successfully with an earlier compiler.
- C++ classes are introduced before arrays – this sequencing eases students into composite types by allowing them to access a component by name rather than by position. This also makes it easier to introduce the idea of an array of class objects or an array of structs.
- Complete programs immersed within the main text provide invaluable programming experience to students by demonstrating language features or design issues that are under discussion in the chapters.
|
|