Problem Solving with C++, 10th edition

Published by Pearson (February 10, 2017) © 2018
  • Walter Savitch
  • Kenrick Mock

Title overview

For courses in C++ introductory programming.


Teach the fundamentals of C++ programming with an emphasis on problem solving

Now in its 10th Edition, Problem Solving with C++ is written for the beginning programmer. The text cultivates strong problem-solving skills and programming techniques as it introduces students to the C++ programming language. Author Walt Savitch’s approach to programming emphasizes active reading through the use of well-placed examples and self-tests, while flexible coverage means instructors can easily adapt the order of chapters and sections to their courses without sacrificing continuity. Savitch’s clear, concise style is a hallmark feature of the text, receiving praise from students and instructors alike, and is supported by a suite of tried-and-true pedagogical tools. The 10th Edition includes ten new Programming Projects, along with new discussions and revisions.

About the Book


A clear and student-friendly introduction to C++

  • Savitch’s clear, concise style is a hallmark feature of the text, receiving praise from students and instructors alike.

  • A flexible coverage of objects means that instructors can easily adapt the order in which chapters and sections are covered in their course without losing continuity. A dependency chart in the preface offers a quick reference for instructors who wish to rearrange coverage.

  • Advanced topic coverage includes discussions of C++ templates, inheritance (including virtual functions), and exception handling, plus a full chapter on the Standard Template Library (STL).

  • This edition is fully compatible with compilers that meet the latest ANSI/ISO C++ standard. At the time of this writing the latest standard is C++14.

  • REVISED! Corrections of errata and edits for clarity have been made, such as indicating preferred methods for file I/O, naming of terminology, a better definition of encapsulation, and removing material that is now standard in C++11 and higher.

  • NEW! camelCase notation, rather than underscore_case, is used consistently throughout the text.


Tried-and-True Pedagogy

  • Concise, easy-to-understand programming examples, projects, exercises, tips, and pitfalls benefit student understanding.

  • Boxed sections summarize major points and are spread throughout each chapter.

  • Numerous Self-Test Exercises are contained at strategic points in each chapter. Complete answers for all the Self-Test Exercises are given at the end of each chapter.

  • End-of-chapter programs are split into Practice Programs and Programming Projects. 

    • Practice Programs require a direct application of concepts presented in the chapter and solutions are usually short. Practice Programs are appropriate for laboratory exercises. 

    • Programming Projects require additional problem solving and solutions are generally longer than Practice Programs. Programming Projects are appropriate for homework problems.

  • NEW! Ten new Programming Projects have been added.

  • The password-protected Companion Website features support material available to all users of the book. A bound-in access card is included with the purchase of a new copy of the textbook. To access these materials, go to www.pearsonhighered.com/savitch:

    • Source code from the book

    • PowerPoint slides

About the Book

  • Corrections of errata and edits for clarity have been made, such as preferred methods for file I/O, naming of terminology, a better definition of encapsulation, and removal of material that is now standard in C++11 and higher.

  • camelCase notation, rather than underscore_case, is used consistently throughout the text.

  • Ten new Programming Projects have been added.

Content Updates

  • A discussion in Chapter 10 concerning an example of shallow vs. deep copy.

  • Additional material in Chapter 12 and 17 on compiling templates with header files.

Additional material in Chapter 18 on the std::array class, regular expressions, threads, and smart pointers in C++11.


Table of contents

1. Introduction to Computers and C++ Programming

2. C++ Basics

3. More Flow of Control

4. Procedural Abstraction and Functions That Return a Value

5. Functions for All Subtasks

6. I/O Streams as an Introduction to Objects and Classes

7. Arrays

8. Strings and Vectors

9. Pointers and Dynamic Arrays

10. Defining Classes

11. Friends, Overloaded Operators, and Arrays in Classes

12. Separate Compilation and Namespaces

13. Pointers and Linked Lists

14. Recursion

15. Inheritance

16. Exception Handling

17. Templates

18. Standard Template Library and C++11


Appendices:


1. C++ Keywords

2. Precedence of Operators

3. The ASCII Character Set

4. Some Library Functions

5. Inline Functions

6. Overloading the Array Index Square Brackets

7. The this Pointer

8. Overloading Operators as Member


Operators

Index


Author bios

Walter Savitch is Professor Emeritus of Computer Science at the University of California at San Diego. His interests include complexity theory, formal language theory, computational linguistics, and the development of computer science education materials, including several leading textbooks. He holds a PhD in mathematics from the University of California at Berkeley.
Loading...Loading...Loading...