|

Addison-Wesley / Prentice Hall

Computer Science

My Instructor Resource Center :  Log in or request access

Starting Out with C++: Early Objects (Formerly Alternate Edition), 5/E
Tony GaddisHaywood Community College
Judy WaltersNorth Central College
Godfrey MugandaNorth Central College

ISBN-10: 0321383486
ISBN-13:  9780321383488

Publisher:  Addison-Wesley
Copyright:  2006
Format:  Paper; 1184 pp
Published:  10/20/2005

Starting Out With C++: Early Objects is intended for either a one semester traditional introductory programming course or a two-semester C++ programming sequence, with introductory material placed in the first half of the text and more advanced topics, such as recursion and data structures, placed in the second half.  Objects are introduced early, right after control structures and before arrays and pointers. The STL string class is used throughout.  As with all Gaddis books, there is a strong emphasis on problem solving and program design, a careful step-by-step introduction of each new topic, clear and easy to read code listings, concise and practical real world examples, and an abundance of exercises in each chapter.

 

  • Has a clear and student-friendly writing style with stepped-out explanations that motivate beginning students

  • Includes over 350  concise,  practical and runnable 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 are learned

  • Introduces objects and classes early, right after control structures and before arrays and pointers

  • Covers more advanced OOP topics,  recursion, linked lists, stacks,  queues, and binary trees in later chapters

  • Follows an ANSI standard and uses the most currently accepted programming practices

  • Includes new appendices on UML and on .NET and Managed C++

  • Can be ordered alone or with a lab manual that gives students pre-developed code to complete, edit, and experiment with

  • Is supported by Addison-Wesley’s exclusive MyCodeMate tool

     

     

    MyCodeMate is a web-based, textbook-specific homework tool and programming resource for an 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 in the introductory programming course. 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.

 

 

  • Several Progamming Challenges in each chapter have been selected for inclusion in Addison-Wesley's MyCodeMate. MyCodeMate allows students to complete the programming Challenges on-line, with automated assistance and feedback provided as needed.  It also provides instructors with information on student progress and helps with course management.

  • Each Programming Challenge integrated into MyCodeMate is followed in the text by a "twin" problem that has the student either build on the original program or create a new program that is similar in design in it.

  • The double data type, rather than the float data type, has become the standard used throughout the book for floating-point variables.

  • The standard has been adopted throughout the book of giving named constants indentifier names consisting entirely of uppercase characters and underscores.

  • Array size declarators, previously specified with literals, are now specified with named constants.

  • The appendices have been reorganized and each appendix is now stored in its own PDF file, with numbering starting from page 1.  This will make it easire for students to locate appendix information.

  • Two new appendices have been added-Using UML in Class Design and .NET and Managed C++

  • A UML icon has been added throughout the text where appropriate to refer students to the contents of the new appendix.

                             

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

1.8 Case Studies

1.9 Review Questions and Exercises

 

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 Standard and Prestandard C++

2.5 Variables, Constants, and the Assignment Statement

2.6 Identifiers

2.7 Integer Data Types

2.8 The char Data Type

2.9 The C++ string Class

2.10 Floating-Point Data Types

2.11 The bool Data Type

2.12 Determining the Size of a Data Type

2.13 More on Variable Assignments and Initialization

2.14 Scope

2.15 Arithmetic Operators

2.16 Comments

2.17 Focus on Software Engineering: Programming Style

2.18 Case Studies

2.19 Review Questions and Exercises

 

CHAPTER 3 - Expressions and Interactivity

3.1 The cin Object

3.2 Mathematical Expressions

3.3 Implicit Type Conversion

3.4 Explicit Type Conversion

3.5 Overflow and Underflow

3.6 Named Constants

3.7 Multiple and Combined Assignment

3.8 Formatting Output

3.9 Working with Characters and String Objects

3.10 Using C-Strings

3.11 More Mathematical Library Functions

3.12 Introduction to Files

3.13 Focus on Object-Oriented Programming: Member Functions

3.14 Focus on Debugging: Hand Tracing a Program

3.15 Green Fields Landscaping Case Study–Part 1

3.16 Additional Case Studies

3.17 Review Questions and Exercises

 

CHAPTER 4 - Making Decisions

4.1 Relational Operators

4.2 The if Statement

4.3 The if/else Statement

4.4 The if/else if Statement

4.5 Menus

4.6 Nested if Statements

4.7 Logical Operators

4.8 Checking Numeric Ranges with Logical Operators

4.9 Validating User Input

4.10 More About Variable Definitions and Scope

4.11 Comparing Characters and Strings

4.12 The Conditional Operator

4.13 The switch Statement

4.14 Enumerated Data Types

4.15 Testing for File Open Errors

4.16 Focus on Testing and Debugging: Validating Output Results

4.17 Green Fields Landscaping Case Study–Part 2

4.18 Additional Case Studies

4.19 Review Questions and Exercises

 

CHAPTER 5 - Looping

5.1 The Increment and Decrement Operators

5.2 Introduction to Loops: The while Loop

5.3 Counters

5.4 Letting the User Control the Loop

5.5 Keeping a Running Total

5.6 Sentinels

5.7 Using a Loop to Read Data From a File

5.8 The do-while and for Loops

5.9 Deciding Which Loop to Use

5.10 Nested Loops

5.11 Breaking Out of a Loop

5.12 The continue Statement

5.13 Focus on Software Engineering: Using Loops for Data Validation

5.14 Focus on Testing and Debugging: Creating Good Test Data

5.15 Central Mountain Credit Union Case Study

5.16 Additional Case Studies

5.17 Review Questions and Exercises

 

CHAPTER 6 - Functions

6.1 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 The return Statement

6.7 Returning a Value from a Function

6.8 Returning a Boolean Value

6.9 Using Functions in a Menu-Driven Program

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

6.17 Little Lotto Case Study

6.18 Additional Case Studies

6.19 Review Questions and Exercises

 

CHAPTER 7 - Introduction to Classes and Objects

7.1 Combining Data into Structures

7.2 Accessing Structure Members

7.3 Initializing a Structure

7.4 Nested Structures

7.5 Structures as Function Arguments

7.6 Returning a Structure from a Function

7.7 Unions

7.8 Abstract Data Types

7.9 Object-Oriented Programming

7.10 Introduction to Classes

7.11 Introduction to Objects

7.12 Defining Member Functions

7.13 Focus on Software Engineering: Design Considerations

7.14 Using a Constructor with a Class

7.15 Overloading Constructors

7.16 Destructors

7.17 Input Validation Objects

7.18 Using Private Member Functions

7.19 Home Software Company OOP Case Study

7.20 Focus on Software Engineering: Object-Oriented Analysis

7.21 Additional Case Studies

7.22 Review Questions and Exercises

 

CHAPTER 8 - Arrays

8.1 Arrays Hold Multiple Values

8.2 Accessing Array Elements

8.3 Inputting and Displaying Array Contents

8.4 Array Initialization

8.5 Processing Array Contents

8.6 Using Parallel Arrays

8.7 The typedef Statement

8.8 Arrays as Function Arguments

8.9 Two-Dimensional Arrays

8.10 Arrays with Three or More Dimensions

8.11 Vectors

8.12 National Commerce Bank Case Study

8.13 Arrays of Structures

8.14 Arrays of Class Objects

8.15 Additional Case Studies

8.16 Review Questions and Exercises

 

CHAPTER 9 - Searching and Sorting Arrays

9.1 Focus on Software Engineering: Introduction to Search Algorithms

9.2 Demetris Leadership Center Case Study–Part 1

9.3 Focus on Software Engineering: Introduction to Sorting Algorithms

9.4 Demetris Leadership Center Case Study–Part 2

9.5 Sorting and Searching Vectors

9.6 Additional Case Studies

9.7 Review Questions and Exercises

 

CHAPTER 10 - Pointers

10.1 Getting the Address of a Variable

10.2 Pointer Variables

10.3 The Relationship Between Arrays and Pointers

10.4 Pointer Arithmetic

10.5 Initializing Pointers

10.6 Comparing Pointers

10.7 Pointers as Function Parameters

10.8 Focus on Software Engineering: Dynamic Memory Allocation

10.9 Focus on Software Engineering: Returning Pointers from Functions

10.10 Pointers to Structures and Class Objects

10.11 Focus on Software Engineering: Selecting Members of Objects

10.12 United Cause Relief Agency Case Study

10.13 Additional Case Studies

10.14 Review Questions and Exercises

 

CHAPTER 11 - More About Classes and Object-Oriented Programming

11.1 The this Pointer and Constant Member Functions

11.2 Static Members

11.3 Friends of Classes

11.4 Memberwise Assignment

11.5 Copy Constructors

11.6 Operator Overloading

11.7 Type Conversion Operators

11.8 Convert Constructors

11.9 Object Composition

11.10 Inheritance

11.11 Protected Members and Class Access

11.12 Constructors, Destructors, and Inheritance

11.13 Overriding Base Class Functions

11.14 Case Studies

11.15 Review Questions and Exercises

 

CHAPTER 12 - More About Characters, Strings, and the string Class

12.1 C-strings

12.2 Library Functions for Working with C-Strings

12.3 String/Numeric Conversion Functions

12.4 Character Testing

12.5 Character Case Conversion

12.6 Writing Your Own C-String Handling Functions

12.7 More About the C++ string Class

12.8 Creating Your Own String Class

12.9 Advanced Software Enterprises Case Study

12.10 Additional Case Studies

12.11 Review Questions and Exercises

 

CHAPTER 13 - Advanced File and I/O Operations

13.1 Files

13.2 Output Formatting

13.3 Passing File Stream Objects to Functions

13.4 More Detailed Error Testing

13.5 Member Functions for Reading and Writing Files

13.6 Working with Multiple Files

13.7 Binary Files

13.8 Creating Records with Structures

13.9 Random-Access Files

13.10 Opening a File for Both Input and Output

13.11 Online Friendship Connections Case Study: Object Serialization

13.12 Additional Case Studies

13.13 Review Questions and Exercises

 

CHAPTER 14 - Recursion

14.1 Introduction to Recursion

14.2 The Recursive Factorial Function

14.3 The Recursive gcd Function

14.4 Solving Recursively Defined Problems

14.5 A Recursive Binary Search Function

14.6 Focus on Problem Solving and Program Design: The QuickSort Algorithm

14.7 Focus on Problem Solving: Exhaustive and Enumeration Algorithms

14.8 Focus on Software Engineering: Recursion Versus Iteration

14.9 Case Studies

14.10 Review Questions and Exercises

 

CHAPTER 15 - Polymorphism, Virtual Functions, and Multiple Inheritance

15.1 Type Compatibility in Inheritance Hierarchies

15.2 Polymorphism and Virtual Member Functions

15.3 Abstract Base Classes and Pure Virtual Functions

15.4 Multiple and Virtual Inheritance

15.5 Focus on Object-Oriented Programming: Composition Versus Inheritance

15.6 Secure Encryption Systems, Inc. Case Study

15.7 Review Questions and Exercises

 

CHAPTER 16 - Exceptions, Templates, and the Standard Template Library (STL)

16.1 Exceptions

16.2 Function Templates

16.3 Class Templates

16.4 Class Templates and Inheritance

16.5 Introduction to the Standard Template Library

16.6 Case Studies

16.7 Review Questions and Exercises

 

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 Recursive Linked List Operations

17.5 Variations of the Linked List

17.6 The STL list Container

17.7 Reliable Software Systems, Inc. Case Study

17.8 Additional Case Studies

17.9 Review Questions and Exercises

 

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

18.7 Focus on Problem Solving and Program Design: Eliminating Recursion

18.8 Review Questions and Exercises

 

CHAPTER 19 - Binary Trees

19.1 Definition and Applications of Binary Trees

19.2 Binary Search Tree Operations

19.3 Template Considerations for Binary Search Trees

19.4 Case Studies

19.5 Review Questions and Exercises

Appendix A The ASCII Character Set

Appendix B Operator Precedence and Associativity

Index

 

Appendices on the accompanying student CD

Appendix C An Object-Oriented System Development Primer

Appendix D Using UML in Class Design (NEW)

Appendix E Namespaces

Appendix F Passing Command Line Arguments

Appendix G Header File and Library Function Reference

Appendix H Binary Numbers and Bitwise Operations

Appendix I C++ Casts and Run-Time Type Identification

Appendix J Multi-Source File Programs

Appendix K Introduction to Microsoft Visual C++ 6.0

Appendix L Introduction to Borland C++ Builder 5.0

Appendix M Introduction to Microsoft Visual C++ .NET

Appendix N .NET and Managed C++ (NEW)

Appendix O Introduction to Flowcharting

Appendix P Answers to Checkpoints

Appendix Q Answers to Odd-Numbered Review Questions

  • 9780321512383
    Starting Out with C++: Early Objects, 6/E
    Gaddis, Walters & Muganda
    ©2008 | Addison-Wesley | Paper Bound w/CD-ROM; 1152 pp | Instock
    ISBN-10: 0321512383 | ISBN-13: 9780321512383
    Brief Description

  • 9780136077749
    Starting Out with C++: Early Objects, 7/E
    Gaddis, Walters & Muganda
    ©2011 | Addison-Wesley | Paper Bound w/CD-ROM; 1200 pp | Instock
    ISBN-10: 0136077749 | ISBN-13: 9780136077749
    Brief Description

Tony Gaddis is the principal author of the “Starting Out with” series of textbooks. Tony teaches computer science courses at Haywood Community College in North Carolina. He is a highly acclaimed instructor who was previously selected as the North Carolina Community College "Teacher of the Year,” and has received the Teaching Excellence award from the National Institute for Staff and Organizational Development. Besides C++ books, the “Starting Out with” series includes introductory books using the Java™ programming language, Microsoft® Visual Basic® .NET, and Microsoft® C#®, all published by Addison-Wesley.

Judy Walters is an Associate Professor of Computer Science at North Central College in Naperville, Illinois.  in addition to her many computer science courses, she enjoys teaching a freshman course on film and literature.  She also enjoys studying foreign languages and cultures, and recently developed a new course in technology and society, which she taught in Costa Rica Fall, 2005, as part of the college's international studies program. 

Godfrey Muganda is an Associate Professor of Computer Science at North Central College in Naperville Illinois, where he chairs the Computer Science Department. He teaches a wide variety of courses at both the undergraduate and graduate levels including courses in Object-Oriented Programming, Comparative Programming Languages, and Complier Design.  His primary research interests are in the Fuzzy Sets and Systems.  He won the North Central College faculty award for outstanding scholarship in 1993. 

Shelving Tag: Introductory Programming/C++

 

Starting Out with C++: Early Objects (formerly Alternate Version), 5/e

Tony Gaddis, Haywood Community College

Judy Walters, North Central College

Godfrey Muganda, North Central College

ISBN: 0-321-38348-6

 

The Starting Out with C++ textbook series has students raving. It presents introductory programming concepts in a student-friendly and accessible step-by-step way, ensuring that beginning programmers understand each programming topic.

 

“My school’s first programming class uses Starting Out with C++. I love your C++ book–it makes everything so easy to understand!”

–Christopher Savage, student at Augusta State University

 

“I’m using your book in an introductory course in C++. Your book is GREAT!! It abstracts the complexity of C++ down to the core concepts that we can build on. Thanks!”

–Jim Burke, student at University of Texas at Dallas

 

In addition to Gaddis’ emphasis on practical examples, abundant practice exercises, and focus on problem solving and program design, Starting Out with C++: Early Objects, 5e (formerly called “Alternate Version”):

• Follows the ANSI standard and uses the most currently accepted programming practices

• Covers both procedural and object-oriented programming

• Introduces classes in Chapter 7, right after control structures and functions

• Has new appendices on UML and on .NET and Managed C++

• Illustrates concepts and techniques with over 350 fully runnable example programs

• Includes dozens of MyCodeMate programming challenges

MyCodemate Student Access Kit, 3/E
MyCodeMate
©2005 | Addison-Wesley | Access Code Card | Instock
ISBN-10: 0321356977 | ISBN-13: 9780321356970


MyCodeMate Companion Website, 5/E
Gaddis, Walters & Muganda
©2006 | Addison-Wesley | Website | Instock
ISBN-10: 0321394135 | ISBN-13: 9780321394132
Online purchase price: $24.00


Case Studies, Appendices, Tutorials, 5/E
Gaddis, Walters & Muganda
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321394097 | ISBN-13: 9780321394095
    View Downloadable Files

Instructor Material for Lab Manual, 5/E
Walters, Bardzell & DeFino
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321423593 | ISBN-13: 9780321423597
    View Downloadable Files

MyCodeMate Companion Website, 5/E
Gaddis, Walters & Muganda
©2006 | Addison-Wesley | Website | Instock
ISBN-10: 0321394135 | ISBN-13: 9780321394132
Online purchase price: $24.00


Powerpoints, 5/E
Gaddis, Walters, Muganda & Kardaras
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321394089 | ISBN-13: 9780321394088
    View Downloadable Files

Solutions, 5/E
Gaddis, Walters & Muganda
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321394100 | ISBN-13: 9780321394101
    View Downloadable Files

Source Code, 5/E
Gaddis, Walters & Muganda
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321394127 | ISBN-13: 9780321394125
    View Downloadable Files

Source Code for Lab Manual, 5/E
Walters, Bardzell & DeFino
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321423615 | ISBN-13: 9780321423610
    View Downloadable Files

TestGen Testbank, 5/E
Gaddis, Walters & Muganda
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321394070 | ISBN-13: 9780321394071
    View Downloadable Files

Testbank, 5/E
Gaddis, Walters & Muganda
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321394119 | ISBN-13: 9780321394118
    View Downloadable Files

CS Support-Student Support Material
Addison-Wesley
©2008 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321446852 | ISBN-13: 9780321446855


MyCodeMate Companion Website, 5/E
Gaddis, Walters & Muganda
©2006 | Addison-Wesley | Website | Instock
ISBN-10: 0321394135 | ISBN-13: 9780321394132
Online purchase price: $24.00


MyCodemate Student Access Kit, 3/E
MyCodeMate
©2005 | Addison-Wesley | Access Code Card | Instock
ISBN-10: 0321356977 | ISBN-13: 9780321356970


MyCodemate Student Access Kit, 3/E
MyCodeMate
©2005 | Addison-Wesley | Access Code Card | Instock
ISBN-10: 0321356977 | ISBN-13: 9780321356970


MyCodeMate Companion Website, 5/E
Gaddis, Walters & Muganda
©2006 | Addison-Wesley | Website | Instock
ISBN-10: 0321394135 | ISBN-13: 9780321394132
Online purchase price: $24.00


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.