Problem Solving with C++, Global Edition

Series
Pearson
Author
Walter Savitch  
Publisher
Pearson
Cover
Softcover
Edition
10
Language
English
Total pages
1120
Pub.-date
January 2018
ISBN13
9781292222820
ISBN
1292222824
Related Titles



Description

For courses in C++ introductory programming.

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 emphasises 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.

Features

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 summarise 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.

New to this Edition

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.

Pearson Pearson MyLab Programming not included. Students, if MyLab is a recommended/mandatory component of the course, please ask your instructor for the correct ISBN and course ID. MyLab should only be purchased when required by an instructor. Instructors, contact your Pearson representative for more information.

· User Interface provides a new streamlined interface based on experienced user feedback. Course creation, configuration, and navigation are now easier than ever.

· Exercise Editor now allows you to easily create new programming exercises. In addition to assigning the hundreds of programming exercises already available in MyLab Programming, you can create and assign programming exercises to customize your course. The Exercise Editor is easy to use and gives you the option to select different programming languages and exercise types.

· VideoNotes provide step-by-step video tutorials specifically designed to enhance the programming concepts presented in Introduction to Java Programming. Students can view the entire problem-solving process outside of the classroom—when they need help the most.

· The Plagiarism Detection Tool alerts instructors of potential plagiarism issues by checking

o Students’ average submission rate.

o Students’ average number of attempts until correct.

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

Author

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.