Problem Solving, Abstraction, and Design using C++, 6th edition

Published by Pearson (March 8, 2010) © 2011

  • Frank L. Friedman
  • Elliot B. Koffman Temple University

eTextbook

$64.99

  • Easy-to-use search and navigation
  • Add notes and highlights
  • Search by keyword or page
$165.32

  • Hardcover, paperback or looseleaf edition
  • Affordable rental option for select titles
  • Free shipping on looseleafs and traditional textbooks

Problem Solving, Abstraction, and Design Using C++ presents and reinforces basic principles of software engineering design and object-oriented programming concepts while introducing the C++ programming language. The hallmark feature of this book is the Software Development Method that is introduced in the first chapter and carried throughout in the case studies presented.

  • Flexible coverage of programming concepts.
  • Conforms to ANSI/ISO C++ standards, including material on the Standard Template Library (STL).
  • Makes use of proven pedagogical features, including end-of-section self-check exercises and programming exercises, extensive examples, robust step-by-step case studies, clearly marked program style displays and syntax displays, in-depth chapter reviews, and detailed syntax and run-time error discussions in each chapter.
  • Utilizes a dynamic two-color design to draw readers' attention to important material.
  • Includes interviews with leading computer scientists to show the significance of the material to the real world.
  • Introduces objects early while focusing on problem solving and program design.

New to the Sixth Edition
Students will benefit from a variety of new content, including:

  • Graphics coverage implemented throughout the book. Many Computer Science faculty have recommended the use of graphics to help motivate the study of introductory programming and as a vehicle to help students understand how to use libraries and to call functions. The authors agree with this viewpoint and have included several optional sections with graphics examples in this edition. The new graphics sections include:
    • Section 3.8: Introduction to Computer Graphics
    • Section 5.10: Loops in Graphics Programs
    • Section 7.6: Using Type char Data to Control a Graphics Program
    • Section 9.12: Graphics Programs with Arrays

    To reduce the overhead required to introduce graphics, they decided to use WinBGIm (Windows BGI with mouse), which is a package based on the Turbo Pascal BGI (Borland Graphics Interface) library. WinBGIm was created to run on top of the Win32 library by Michael Main and his students at the University of Colorado. Several development platforms appropriate for CS 1 courses have incorporated WinBGIm. Quincy (developed by Al Stevens) is an open-source student-oriented C++ IDE that includes WinBGIm as well as more advanced libraries (http://www.codecutter.net/tools/quincy). A command-line platform based on the open-source GNU g++ compiler and the emacs program editor is distributed by the University of Colorado (http://www.codecutter.net/tools/winbgim). WinBGIm is also available for Bloodshed Software’s Dev-C++ and Microsoft’s Visual Studio C++.

  • New Chapter 0 is designed to elucidate the opportunities and structures of the field of computing to introductory students. The authors hope this chapter encourages students to consider a major or minor in computing by illustrating a world in which they can envision themselves.
  • Reorganization of coverage of multidimensional arrays and arrays of structs. These topics were moved from Chapter 11 (Data Abstraction and Object-Oriented Design) to Chapter 9 (Arrays and Structs) to keep all coverage of arrays and structs in one chapter and to enable students to complete their study of procedural programming topics before learning how to write classes.
  • New Section 7.6 on iterative approximations including a case study on finding roots of an equation.
  • New case study in Chapter 11 (An Address Book for an email Provider) that uses the C++ vector class as its underlying data structure.
  • New end-of-section exercises and updated case studies.
  • New end-of-chapter quick-check and review exercises and new programming project assignments including graphics programming assignments.

Brief Contents
chapter 0: Computer Science as a Career Path 1
chapter 1: Introduction to Computers, Problem Solving, and Programming 15
chapter 2: Overview of C++ 53
chapter 3: Top-Down Design with Functions and Classes 117
chapter 4: Selection Structures: if and switch Statements 197
chapter 5: Repetition and Loop Statements 259
chapter 6: Modular Programming 333
chapter 7: Simple Data Types 387
chapter 8: Streams and Files 443
chapter 9: Data Structures:Arrays and Structs 487
chapter 10: User-Defined Classes 565
chapter 11: Data Abstraction and Object-Oriented Design 627
chapter 12: Recursion 691
chapter 13: Pointers and Dynamic Data Structures 729
chapter 14: Multiprocessing Using Processes and Threads 795
Index 851

The following are available online:
Appendix A ASCII Character Set
Appendix B Reserved Words and Special Characters
Appendix C Selected C++ Library Facilities
Appendix D Operators
Appendix E A Brief Introduction to Inheritance and Polymorphism
Answers to Odd-Numbered Questions

Elliot Koffman is a professor of computer and information science at Temple University. He is one of the country's foremost CS educators, a former chairman of the ACM Task Force for introductory programming methods courses, and the co-author of Problem Solving, Abstraction, and Design, Problem Solving and Program Design in C, (both with Pearson) Objects, Abstraction, Data Structures and Design Using C++, and Objects, Abstraction, Data Structures and Design Using Java Version 5.0 (both with John Wiley & Sons).


Dr. Frank L. Friedman is Professor and Chairman of Computer and Information Science at Temple University. He received M.S. degrees from Johns Hopkins University and Purdue University and his Ph.D. in Computer Science from Purdue University. Dr. Friedman is the co-author of Problem Solving, Abstraction, and Design Using C++ and other textbooks on programming in Fortran and Basic. His current research and instructional interests are in software engineering, specifically object-oriented paradigms for software design.

Need help? Get in touch

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.Â