|Problem Solving, Abstraction, and Design using C++||
Problem Solving, Abstraction, and Design using C++
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.
New to the Sixth Edition
Students will benefit from a variety of new content, including:
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++.
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
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
introductory Programming / C++
PROBLEM SOLVING, ABSTRACTION, AND DESIGN USING C++ Sixth Edition
Frank L. Friedman & mdash; Elliot B. Koffman
Using the classic Software Development Method advanced by authors Frank Friedman and Elliot Koffman, this Sixth Edition of Problem Solving, Abstraction, and Design Using C++ provides a solid introduction to programming with an emphasis on softeare engineering principles and object-oriented programming using the C++ language. Case studies throughout the book ensure the student's comprehensive understanding of the Software Development Method's five-step problem-solving process.
The Sixth Edition includes:
Save money. Lighten your backpack. Access your textbooks anytime, from anywhere.
This title is available as an eTextbook from CourseSmart. Purchase your assigned textbook as a CourseSmart eTextbook, and stop lugging books around campus! You can also access CourseSmart eTextbooks from your iPhone.
Instructors, request your exam copies online and get instant access. Learn more at coursesmart.com.
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.