Addison-Wesley / Prentice Hall
Computer Science
Browse available resources for Computer Science:
- Select a resource
- Resources for Computer Science GOAL where virtual office hours are 24/7! Your Own TA, Just a Click Away! Deitel Resource Centers National Center for Women & Information Technology View material from Search Engines: Information Retrieval in Practice VideoNotes Andrew Tanenbaum Flame Award Recipient Custom Programs Instructor Resource Center myPearsonStore

ISBN-10: 0321409396
ISBN-13: 9780321409393
Publisher: Addison-Wesley
Copyright: 2007
Format: Paper Bound w/CD-ROM; 1200 pp
Published: 02/10/2006
Suggested retail price: $119.40
Not available for purchase at this time.
Tony Gaddis's accessible, step-by-step framework defines Starting Out With C++: Control Structures through Objects (formerly called Standard Version), and has made this book the #1 choice with instructors who emphasize problem-solving and program design in their introduction to programming course.
In Control Structures through Objects, Gaddis takes a problem-solving approach, motivating students to understand the programming logic behind developing quality programs using the C++ language. Procedural programming is thoroughly covered before objects are introduced in the latter part of the book. As with all Gaddis texts, clear and easy-to-read code listings, concise and practical real-world examples, and an abundance of exercises appear in every chapter.
- Gaddis' trademark style of clear, student-friendly writing, and stepped-out explanations make this text accessible and appropriate for beginning programmers.
- Control structures, functions, arrays, and pointers are covered before objects.
- The STL string class is used throughout.
- Chapter on exceptions, templates, and the Standard Template Library.
- Concise, practical examples place programming concepts into a real-world context, making them more tangible for students.
- Clear code listings are easy for students to read and understand.
- A wealth of exercises in each chapter offers students the chance to put the concepts they are learning to work. MyCodeMate enabled programming projects allow instructors to assign and track their students' programming projects online.
- All programs are written to be ANSI/ISO compliant, comments add clarity to programs, and each chapter now has a set of 'Short Answer' questions, and 'Algorithm Workbench' problems.
- All new copies come with a CD that includes Borland C++ Builder 6.0, Personal Edition, answers to all checkpoint questions, answers to all odd-numbered review questions and exercises, source code, additional case studies, complete with source code and a full set of appendices (including several tutorials) that accompany the book.
- For sale lab manual includes pre-labs activities, lab assignments, and post lab activities.
- Earlier and increased coverage of for loop with more added explanation of how to decide which loop to use.
- Added material on using functions to divide and conquer a problem.
- Increased discussion of pointers including pointers to const and constant pointers.
- Expanded coverage on object-oriented problem solving.
- Refined and increased coverage of inheritance, polymorphism, virtual functions, and recursion.
- Enhanced pedagogy such as more programming exercises, additional pseudocode and mini-flowchart diagrams, and “line numbers” added to all programs.
CHAPTER 1 Introduction to Computers and Programming
1.1 Why Program?
1.2 Computer Systems: Hardware and Software
1.3 Programs and Programming Languages
1.4 What Is a Program Made of?
1.5 Input, Processing, and Output
1.6 The Programming Process
1.7 Procedural and Object-Oriented Programming
CHAPTER 2 Introduction to C++
2.1 The Parts of a C++ Program
2.2 The cout Object
2.3 The #include Directive
2.4 Variables and Literals
2.5 Identifiers
2.6 Integer Data Types
2.7 The char Data Type
2.8 Floating-Point Data Types
2.9 The bool Data Type
2.10 Determining the Size of a Data Type
2.11 Variable Assignments and Initialization
2.12 Scope
2.13 Arithmetic Operators
2.14 Comments
2.15 Focus on Software Engineering: Programming Style
2.16 If You Plan to Continue in Computer Science: Standard and Prestandard C++
CHAPTER 3 Expressions and Interactivity
3.1 The cin Object
3.2 Mathematical Expressions
3.3 When You Mix Apples and Oranges: Type Conversion
3.4 Overflow and Underflow
3.5 Type Casting
3.6 Named Constants
3.7 Multiple Assignment and Combined Assignment
3.8 Formatting Output
3.9 Formatted Input
3.10 Focus on Object-Oriented Programming: More About Member Functions
3.11 More Mathematical Library Functions
3.12 Focus on Debugging: Hand Tracing a Program
3.13 Focus on Problem Solving: A Case Study
3.14 Introduction to File Input and Output
CHAPTER 4 Making Decisions
4.1 Relational Operators
4.2 The if Statement
4.3 Flags
4.4 Expanding the if Statement
4.5 The if/else Statement
4.6 The if/else if Statement
4.7 Using a Trailing else
4.8 Menus
4.9 Focus on Software Engineering: Nested if Statements
4.10 Logical Operators
4.11 Checking Numeric Ranges with Logical Operators
4.12 Focus on Software Engineering: Validating User Input
4.13 More About Variable Definitions and Scope
4.14 Comparing Strings
4.15 The Conditional Operator
4.16 The switch Statement
4.17 Testing for File Open Errors
CHAPTER 5 Looping
5.1 The Increment and Decrement Operators
5.2 Introduction to Loops: The while Loop
5.3 Using the while Loop for Input Validation
5.4 Counters
5.5 The do-while Loop
5.6 The for Loop
5.7 Keeping a Running Total
5.8 Sentinels
5.9 Using a Loop to Read Data from a File
5.10 Focus on Software Engineering: Deciding Which Loop to Use
5.11 Nested Loops
5.12 Breaking Out of a Loop
5.13 The continue Statement
CHAPTER 6 Functions
6.1 Focus on Software Engineering: Modular Programming
6.2 Defining and Calling Functions
6.3 Function Prototypes
6.4 Sending Data into a Function
6.5 Passing Data by Value
6.6 Focus on Software Engineering: Using Functions in a Menu-Driven Program
6.7 The return Statement
6.8 Returning a Value from a Function
6.9 Returning a Boolean Value
6.10 Local and Global Variables
6.11 Static Local Variables
6.12 Default Arguments
6.13 Using Reference Variables as Parameters
6.14 Overloading Functions
6.15 The exit() Function
6.16 Stubs and Drivers
CHAPTER 7 Arrays
7.1 Arrays Hold Multiple Values
7.2 Accessing Array Elements
7.3 No Bounds Checking in C++
7.4 Array Initialization
7.5 Processing Array Contents
7.6 Focus on Software Engineering: Using Parallel Arrays
7.7 Arrays as Function Arguments
7.8 Two-Dimensional Arrays
7.9 Arrays of Strings
7.10 Arrays with Three or More Dimensions
7.11 Focus on Problem Solving and Program Design: A Case Study
7.12 If You Plan to Continue in Computer Science: Introduction to the STL vector
CHAPTER 8 Searching and Sorting Arrays
8.1 Focus on Software Engineering: Introduction to Search Algorithms
8.2 Focus on Problem Solving and Program Design: A Case Study
8.3 Focus on Software Engineering: Introduction to Sorting Algorithms
8.4 Focus on Problem Solving and Program Design: A Case Study
8.5 If You Plan to Continue in Computer Science: Sorting and Searching vectors
CHAPTER 9 Pointers
9.1 Getting the Address of a Variable
9.2 Pointer Variables
9.3 The Relationship Between Arrays and Pointers
9.4 Pointer Arithmetic
9.5 Initializing Pointers
9.6 Comparing Pointers
9.7 Pointers as Function Parameters
9.8 Focus on Software Engineering: Dynamic Memory Allocation
9.9 Focus on Software Engineering: Returning Pointers from Functions
9.10 Focus on Problem Solving and Program Design: A Case Study
CHAPTER 10 Characters, Strings, and the string Class
10.1 Character Testing
10.2 Character Case Conversion
10.3 Review of the Internal Storage of C-Strings
10.4 Library Functions for Working with C-Strings
10.5 String/Numeric Conversion Functions
10.6 Focus on Software Engineering: Writing Your Own C-String-Handling Functions
10.7 The C++ string Class
10.8 Focus on Problem Solving and Program Design: A Case Study
CHAPTER 11 Structured Data
11.1 Abstract Data Types
11.2 Focus on Software Engineering: Combining Data into Structures
11.3 Accessing Structure Members
11.4 Initializing a Structure
11.5 Arrays of Structures
11.6 Focus on Software Engineering: Nested Structures
11.7 Structures as Function Arguments
11.8 Returning a Structure from a Function
11.9 Pointers to Structures
11.10 Focus on Software Engineering: When to Use.,When to Use ->, and When to Use *
11.11 Unions
11.12 Enumerated Data Types
CHAPTER 12 Advanced File Operations
12.1 File Operations
12.2 File Output Formatting
12.3 Passing File Stream Objects to Functions
12.4 More Detailed Error Testing
12.5 Member Functions for Reading and Writing Files
12.6 Focus on Software Engineering: Working with Multiple Files
12.7 Binary Files
12.8 Creating Records with Structures
12.9 Random-Access Files
12.10 Opening a File for Both Input and Output
CHAPTER 13 Introduction to Classes
13.1 Procedural and Object-Oriented Programming
13.2 Introduction to Classes
13.3 Defining an Instance of a Class
13.4 Why Have Private Members?
13.5 Focus on Software Engineering: Separating Class Specification from Implementation
13.6 Inline Member Functions
13.7 Constructors
13.8 Passing Arguments to Constructors
13.9 Destructors
13.10 Overloading Constructors
13.11 Private Member Functions
13.12 Arrays of Objects
13.13 Focus on Problem Solving and Program Design: An OOP Case Study
13.14 Focus on Object-Oriented Programming: Creating an Abstract Array Data Type
13.15 Focus on Object-Oriented Design: The Unified Modeling Language (UML)
13.16 Focus on Object-Oriented Design: Finding the Classes and Their Responsibilities
CHAPTER 14 More About Classes
14.1 Instance and Static Members
14.2 Friends of Classes
14.3 Memberwise Assignment
14.4 Copy Constructors
14.5 Operator Overloading
14.6 Object Conversion
14.7 Aggregation
14.8 Focus on Object-Oriented Design: Class Collaborations
CHAPTER 15 Inheritance, Polymorphism, and Virtual Functions
15.1 What Is Inheritance?
15.2 Protected Members and Class Access
15.3 Constructors and Destructors in Base and Derived Classes
15.4 Redefining Base Class Functions
15.5 Class Hierarchies
15.6 Polymorphism and Virtual Member Functions
15.7 Abstract Base Classes and Pure Virtual Functions
15.8 Multiple Inheritance
CHAPTER 16 Exceptions, Templates, and the Standard Template Library (STL)
16.1 Exceptions
16.2 Function Templates
16.3 Focus on Software Engineering: Where to Start When Defining Templates
16.4 Class Templates
16.5 Introduction to the Standard Template Library (STL)
CHAPTER 17 Linked Lists
17.1 Introduction to the Linked List ADT
17.2 Linked List Operations
17.3 A Linked List Template
17.4 Variations of the Linked List
17.5 The STL list Container
CHAPTER 18 Stacks and Queues
18.1 Introduction to the Stack ADT
18.2 Dynamic Stacks
18.3 The STL stack Container
18.4 Introduction to the Queue ADT
18.5 Dynamic Queues
18.6 The STL deque and queue Containers
CHAPTER 19 Recursion
19.1 Introduction to Recursion
19.2 Solving Problems with Recursion
19.3 Focus on Problem Solving and Program Design: The Recursive gcd Function
19.4 Focus on Problem Solving and Program Design: Solving Recursively Defined Problems
19.5 Focus on Problem Solving and Program Design: Recursive Linked List Operations
19.6 Focus on Problem Solving and Program Design: A Recursive Binary Search Function
19.7 The Towers of Hanoi
19.8 Focus on Problem Solving and Program Design: The QuickSort Algorithm
19.9 Exhaustive Algorithms
19.10 Focus on Software Engineering: Recursion vs. Iteration
CHAPTER 20 Binary Trees
20.1 Definition and Applications of Binary Trees
20.2 Binary Search Tree Operations
20.3 Template Considerations for Binary Search Trees
Appendix A: The ASCII Character Set
Appendix B: Operator Precedence and Associativity
Index
Student CD
The following appendices are on the accompanying Student CD.
Appendix C: Introduction to Flowcharting
Appendix D: Using UML in Class Design
Appendix E: Namespaces
Appendix F: Writing Managed C++ Code for the .NET Framework
Appendix G: Passing Command Line Arguments
Appendix H: Header File and Library Function Reference
Appendix I: Binary Numbers and Bitwise Operations
Appendix J: Multi-Source File Programs
Appendix K: Stream Member Functions for Formatting
Appendix L: Installing and Using Borland C++ Builder 6
Appendix M: Introduction to Microsoft Visual C++ 2005 Express Edition
Appendix N: Answers to Checkpoints
Appendix O: Answers to Odd-Numbered Review Questions
C++ Programming (Computer Science)
C++--Programming for Engineers (Computer Science)
C++--Programming for Business (Computer Science)
Starting Out with C++: From Control Structures through Objects, 6/E
Gaddis
© 2009 | Addison-Wesley | Paper Bound w/CD-ROM; 1200 pages | Instock
ISBN-10: 0321545885 | ISBN-13: 9780321545886
Brief Description | Buy from myPearsonStore
In Starting Out with C++: From Control Structures through Objects, Gaddis covers control structures, functions, arrays, and pointers before objects and classes. As with all Gaddis texts, clear and easy-to-read code listings, concise and practical real-world examples, and an abundance of exercises appear in every chapter. This text is intended for either a one-semester accelerated introductory course or a traditional two-semester sequence covering C++ programming.
This text is available with myCodeMate, a completely Web-based, textbook-specific homework and programming resource for your Introduction to Programming course.
Introductory Programming / C++
Starting Out with C++: From Control Structures through Objects, FIFTH EDITION
Tony Gaddis
Previous editions of this book were called “Standard Version of Starting Out with C++”
“Gaddis’ Starting Out with C++ is superbly crafted and clearly presents all the necessary technical building blocks in a logical order that breeds confidence and competence in students. I speak for my students and myself in saying thank you, Tony, for these superior texts!”
–Peter van der Goes, Rose State College
“I use Starting Out with C++ in my classroom because it does exactly that–starts the student with C++ from the ground up, providing all the tools and answering the tough questions. Without assuming any background knowledge, Gaddis supplies all the essentials for building a strong C++ programmer.”
–Dale Suggs, Campbell University
“Starting Out with C++ is a thorough introduction that provides great support and flexibility for both the student and the instructor. I have never had a complaint from a student about this book. Keep up the good work Tony!”
–Jeanne Douglas, University of Vermont
Starting Out with C++: From Control Structures through Objects is the favorite textbook of instructors who place an emphasis on problem-solving and program design in their introduction to C++ course. Tony Gaddis’ gradual and accessible approach to teaching programming concepts gives students the right amount of detail needed to master programming skills.
Highlights:
• Covers procedural programming–control structures, functions, arrays, and pointers–before objects
• Has a clear and student-friendly writing style with stepped-out explanations that motivate beginning programmers
• Includes concise, practical, real-world examples students can relate to and understand
• Has a wealth of exercises in each chapter so students have the chance to put concepts to work as they learn them
MyCodeMate is a Web-based, textbook-specific homework and programming resource for the introduction to programming course. It provides a wide range of tools that students can use to help them learn programming concepts, prepare for tests, and earn better grades. Students can work on programming problems from this text or homework problems created by their professors, and receive guided hints with page references and English explanations of compiler errors. Instructors can assign textbook-specific or self-created homework problems, preset style attributes, view students’ code and class compiler error logs, and track homework completion. A complimentary subscription is offered when an access code is ordered packaged with a new copy of this text. Subscriptions may also be purchased online. For more information visit www.myCodeMate.com.
- MyCodemate Student Access Kit, 3/E
MyCodeMate
© 2005 | Addison-Wesley | Access Code Card | Instock
ISBN-10: 0321356977 | ISBN-13: 9780321356970 - MyCodeMate, 5/E
Gaddis
© 2007 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321395964 | ISBN-13: 9780321395962
URL: http://www.mycodemate.com
Availability: Now! | Student Access Type: Access Code Required
Request Content Take a Tour More Information - WebCT, 5/E
Gaddis
© 2007 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321410874 | ISBN-13: 9780321410870
Availability: Now! | Version: 4.1X | Student Access Type: Open Access
Request Content View Demo More Information - Blackboard, 5/E
Gaddis
© 2007 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321414098 | ISBN-13: 9780321414090
Availability: Now! | Version: 5.5.1 | Student Access Type: Open Access
Request Content More Information
- Blackboard, 5/E
Gaddis
© 2007 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321414098 | ISBN-13: 9780321414090
Availability: Now! | Version: 5.5.1 | Student Access Type: Open Access
Request Content More Information - CS Support-Student Support Material
Addison-Wesley
© 2008 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321446852 | ISBN-13: 9780321446855
URL: http://www.aw.com/cssupport - MyCodeMate, 5/E
Gaddis
© 2007 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321395964 | ISBN-13: 9780321395962
URL: http://www.mycodemate.com
Availability: Now! | Student Access Type: Access Code Required
Request Content Take a Tour More Information - MyCodemate Student Access Kit, 3/E
MyCodeMate
© 2005 | Addison-Wesley | Access Code Card | Instock
ISBN-10: 0321356977 | ISBN-13: 9780321356970 - Starting Out with C++ Lab Manual, 5/E
DeFino & Bardzell
© 2007 | Addison-Wesley | Paper; 296 pages | Instock
ISBN-10: 0321433130 | ISBN-13: 9780321433138
Buy from myPearsonStore - WebCT, 5/E
Gaddis
© 2007 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321410874 | ISBN-13: 9780321410870
Availability: Now! | Version: 4.1X | Student Access Type: Open Access
Request Content View Demo More Information
- MyCodemate Student Access Kit, 3/E
MyCodeMate
© 2005 | Addison-Wesley | Access Code Card | Instock
ISBN-10: 0321356977 | ISBN-13: 9780321356970 - MyCodeMate, 5/E
Gaddis
© 2007 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321395964 | ISBN-13: 9780321395962
URL: http://www.mycodemate.com
Availability: Now! | Student Access Type: Access Code Required
Request Content Take a Tour More Information - WebCT, 5/E
Gaddis
© 2007 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321410874 | ISBN-13: 9780321410870
Availability: Now! | Version: 4.1X | Student Access Type: Open Access
Request Content View Demo More Information - Blackboard, 5/E
Gaddis
© 2007 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321414098 | ISBN-13: 9780321414090
Availability: Now! | Version: 5.5.1 | Student Access Type: Open Access
Request Content More Information
Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, contact your Pearson Higher Education representative for pricing and ordering information.
Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.

