Scott/Jones · Scott/Jones · Scott/Jones · Scott/Jones · Scott/Jones · Scott/Jones · Scott/Jones · Scott/Jones

Home | Textbook Catalog | Order Book | Syllabi

THE GADDIS C++ TEXTBOOK SERIES

by Tony Gaddis
Haywood Community College

New reprint incorporates the following changes:

Replaced the 
Borland C++ Builder v. 5 
with the newer  
Borland 6 Enterprise Trial 
and Borland C++ Builder Compiler v. 5.5

Corrected typos

Lowered the net price by $8

Bundled with the "Starting Out Quickly with Visual C++.Net" by Doug White
 

Save 12% over most
bookstore prices by ordering
directly from Scott/Jones!

New Reprint Now Available


 

New ISBN 1-57676-267-x

 

New copies of Starting Out with C++ textbooks include a compiler at no cost to students!

If would like a C++ .NET compiler to accompany your order, please make a note about it in the comments field of the order form.

Please note: It is illegal to make duplicates of this compiler or any copyrighted material.

 

Sample Pages

 

  

 


 

  

 

Corrections File
 

  

  

 
  • Available Now!
    Lab Manual to Accompany the Standard and Brief Versions of Starting Out with C++, 4th Edition, by Dean DeFino & Michael Bardzell

    ISBN: 1-57676-126-6
     

 

 
  • Bundle—Available Now!
    Bundle ISBN 1-57676-253-X
    Standard Version of Starting Out with C++, 4th Edition
    (ISBN: 1-57676-119-3)
    plus
    Lab Manual to Accompany the Standard and Brief Versions of Starting Out with C++, 4th Edition, by Dean DeFino & Michael Bardzell

    (ISBN: 1-57676-126-6)

 

 
  • Available in January 2004!
    Lab Manual to Accompany the Alternate Version of Starting Out with C++, 4th Edition, by Dean DeFino, Michael Bardzell, & Judy Walters

    ISBN: 1-57676-128-2
 

 

 

We're happy to announce the Fourth Edition of Tony Gaddis's
Starting Out with C++!

Which Gaddis Is Right for You?

Standard 4th edition (1-57676-119-3)
by Tony Gaddis
Brief 4th edition (1-57676-121-5)
by Tony Gaddis and Barret Krupnow
Alternate 4th edition (1-57676-127-4)
by Tony Gaddis, Judy Walters, and Godfrey Muganda
ANSI standard is followed throughout. ANSI standard is followed throughout.
Late introduction of objects
Classes are introduced in Chapter 13, after control structures, functions, arrays, and pointers. Inheritance is introduced in Chapter 15.
Earlier introduction of objects
Classes are introduced in Chapter 7, after control structures and functions, but before arrays and pointers. Inheritance is introduced in Chapter 11.
C-style strings are used throughout with information on the C++ string class covered in Chapter 10. Standard library string class objects are used throughout with information on C-strings covered in Chapters 3 and 12.
Recursion is covered in Chapter 19, after linked lists, stacks and queues, but before binary trees. Recursion is covered in Chapter 14, before linked lists, stacks and queues, and binary trees.

What has NOT changed in the Standard Edition
  • Classes are still introduced after control structures, functions, and arrays
  • Struct and union material retained as a separate chapter
  • C-string techniques are still presented throughout, with the string class introduced in chapter 10.
What HAS changed in the Standard Edition
  • All programs have been changed in the following ways to become ANSI compliant:
    • The newer ANSI header files are now used, such as: iostream, iomanip, cmath, cstring, cctype, cstdlib, vector, etc.
    • The using namespace std; statement is used.
    • Function header for main now reads int main()
    • Function main now has a return 0; statement.
    • The word void is no longer used to indicate an empty function parameter list.
  • This edition uses the term "definition" instead of "declaration" where applicable.
  • Where necessary, additional comments have been added to programs.
  • Each chapter now has a set of "Short Answer" questions, and "Algorithm Workbench" problems.
  • Many of the appendices are now included on a disk.

Detailed Changes for Each Chapter
Standard Version of Starting Out with C++,
4th Edition
ISBN 1-57676-119-3

Chapter 1

  • The list of hardware devices has been updated to include CD drives, CD recorders, and Zip disks.
  • The list of programming languages has been updated to include C# and Visual Basic.
  • The 13 step programming process has been condensed to 9 steps.

Chapter 2

  • A new subsection discusses what happens when you assign a floating-point value to an integer variable. This precedes the existing discussion on type conversion.
  • An optional subsection targeting students who will continue their studies in computer science briefly discusses the differences between standard and prestandard C++ code.

Chapter 3

  • A new figure is inserted illustrating the contents of the keyboard buffer and how cin reads data from it.
  • For typecasting, static_cast is now discussed.
  • The output formatting section now uses the fixed, showpoint, right, and left stream manipulators instead of setiosflags. The setiosflags manipulator and the formatting member functions are now included in an appendix.
  • A new figure depicting the keyboard buffer is included in the subsection on mixing cin.get with the >> operator.
  • A new section on hand-tracing is included.
  • New programming challenges have been added that require the student to perform file I/O.

Chapter 4

  • The discussion on floating-point round-off errors has been enhanced.

  • Tips explaining that logical expressions such as
    temperature > 0 && < 100 are not valid have been added.

  •  The Health Club Membership program, which appears at several locations in the text, has been fixed so it doesn't ask the user for the number of months if he or she selects 4 – Quit the Program from the menu.

  • A new section on testing for file open errors has been added.

  • A new programming challenge that requires file I/O has been added.

Chapter 5

  • Most of the programs that use both an increment (or decrement) operator and a relational operator in the conditional expression of a loop have been redesigned. For example, Program 5-6 in the third edition uses a loop that starts like this:

    while (count++ < numStudents)

    That loop now reads

    while (count < numStudents)

    and a count++; statement appears in the body of the loop. This type of change has been made on several programs.
  • A new section on using a loop to read data from a file has been added. This section introduces the file stream eof member function.
  • A warning has been added explaining that some compilers such as Visual C++ 6.0 do not restrict the scope of a variable defined in the initialization expression of a for loop to the body of the loop. The warning gives advice on when to avoid defining a variable in the initialization expression of a for loop.

Chapter 6

  • Because the text now uses ANSI standard code with function main returning an int, this chapter now introduces void functions.
  • A note is added explaining the different terms for arguments and parameters.
  • A note is added explaining that only variables may be passed by reference, and that nonvariable arguments, such as a constant or the value of an expression, may only be passed by value.
  • A new programming challenge for a modular paint-job estimator program has been added.

Chapter 7

  • Some of the explanations that use terms like "first element" and "second element" have been rewritten as "element 0" and "element 1". This is to reduce initial confusion about subscripts starting at zero.

  • New subsections on the following topics have been added:

    • Summing the values in an array (both one- and two-dimensional arrays)

    • Getting the average of the values in an array

    • Finding the highest and lowest values in an array

    • Working with arrays and files

    • Summing the rows of a two-dimensional

    • Summing the columns of a two-dimensional array

  • Four new programming challenges have been added.

Chapter 8

  • The swap flag in the bubble sort function is now a bool instead of an int.
  • In the vector case study, an alternative method of initializing the vectors (in the initVectors function) is also presented. The alternative shows how to use a loop to initialize the vectors with data stored in a set of arrays.

Chapter 9

  • This chapter now explains that a program throws an exception and terminates when memory cannot be dynamically allocated. It explains that in programs written with prestandard compilers, the new operator returns a null pointer when this happens, and that condition must be checked for.

Chapter 10

  • This chapter now focuses on the ANSI standard character testing functions instead of the prestandard macros.

Chapter 11

  • A section explaining that you cannot apply relational operators to structure variables and that all comparisons must be made between structure members has been added.

Chapter 12

  • Because the introductory file I/O topics are now covered in Chapters 3, 4, and 5, this chapter now focuses on advanced file operations.
  • The table of file mode flags has been updated. The ANSI standard does not include the ios::nocreate and ios::noreplace flags.
  • A section on checking for a file's existence before opening it has been added.
  • The introduction to the write and read member functions has been rewritten and enhanced.
  • Because the ANSI typecast operators are now used, this chapter shows how to use the reinterpret_cast operator to cast a pointer from one type to another, for the purposes of writing and reading non-char data with a binary file.
  • A discussion on how to determine the number of bytes in a file has been added.
  • The student is warned that if a file stream object's eof flag is set, the  clear member function must be called before seekg or seekp may be used.
  • A section on rewinding a sequential-access file has been added.

Chapter 13

  • The Introduction to Classes section has been rewritten to introduce access specifiers earlier, and show "set" and "get" member functions for the Rectangle class.
  • An example of the Rectangle class with set functions that filter out invalid data is shown.
  • The section on defining an instance of a class has been enhanced with a more detailed description and a new figure.
  • A new TestGrade class is shown, to demonstrate private member functions.
  • Some of the names of classes and variables have been improved. For example, the InvItem class has been renamed InventoryItem,  and the desc member of that class has been renamed description. Other similar changes in other classes have been made to make the names more documenting.
  • Set and get functions for the upper and lower member variables have been added to the CharRange class.
  • A setInterestRate function was added to the Account class.

Chapter 14

  • The FeetInches class has been modified. Instead of using the setData member function to set both the feet and the inches, the class now has a setFeet and a setInches function.
  • The overloaded relational operators in the FeetInches class now return a bool instead of an int.
  • A call to the simplify member function was added to the FeetInches class's overloaded >> operator function. This normalizes the data after the user enters values for feet and inches.

Chapter 15

  • The introduction to inheritance has been enhanced to include a discussion of generalization and specialization, and the "is a" relationship.
  • The Grade and Test classes have been replaced with the GradedActivity and FinalExam classes. These new examples are designed to better illustrate the "is a" relationship, where a final exam is a graded activity.
  • This chapter now only uses the term "overridden" to refer to derived class member functions that replace a base class's virtual member functions. When a derived class member function replaces a non-virtual base class member function, the derived class member function redefines the base class function.
  • The MileDist, FtDist, and InchDist class examples have been replaced by examples that better demonstrate the "is a" relationship that should be established by inheritance.

Chapter 16

  • Added a section explaining how to catch the bad_alloc exception that is thrown by C++ when the new operator fails to allocate memory.

Chapter 17

  • A section was added describing how to implement the ListNode data type as a class template instead of a struct.

Chapter 18

  • No major changes, but the MathStack class code was cleaned up a bit.

Chapter 19

  • No major changes, but some additional short exercise were added to give the student additional practice at writing recursive code.

Chapter 20

  • The insertion routine for the binary search tree was changed from an iterative approach to a recursive approach. The recursive approach is much more elegant and easier to understand.

New Appendices

Appendix M—Introduction to Microsoft Visual C++ .NET

  • This appendix shows the student how to start a project, compile and run, save, and reopen files. It also explains how to set up a multi file project. (The appendix on Visual C++ 6.0 is still with the book.)

Appendix N—Stream Member Functions for Formatting

  • Because the book now focuses on stream manipulators, the material on stream member functions for formatting (such as setf) has been moved to this appendix.

Appendices C–Q are now on CD.

Student Materials

  • Student data disk, Borland and Microsoft Visual C++ compilers at no extra charge included in the text.

  • Starting Out With C++ 4/E Lab; by Dean Defino and Michael Bardzell (Salisbury State College). A copious number of pre-lab activities, lab assignments, and post lab activities, designed to reinforce Gaddis' Starting Out with C++, 4th edition. ISBN: 1-57676-126-6

  • Starting Out Quickly With Visual C++ by Doug White (Northern Colorado University). A step-by-step introduction to the Visual C++ environment. ISBN: 1-57676-069-3

Instructor Materials

The instructor's web site, (password protected), contains PowerPoint slides, solutions to programming assignments, and a test bank. The example source code (on student disk) is not posted. Instructor Disk contains solutions, test items and PowerPoint presentations.

top


Brief Version of Starting Out with C++, 4th Edition
ISBN 1-57676-121-5

  • The Fourth Brief Edition of Starting Out with C++ by Tony Gaddis and Barret Krupnow  continues those changes made in the Fourth Regular edition:

    • The newer ANSI header files are now used, such as: iostream, iomanip, cmath, cstring, cctype, cstdlib, vector, etc.
    • The using namespace std; statement is used.
    • The function header for main now reads int main().
    • Function main now has a return 0; statement.
    • The word void is no longer used to indicate an empty function parameter list.

    The pedagogy of the Third Edition has been retained, but the following improvements are made in the Fourth Edition:

    • This edition uses the term "definition" instead of "declaration" where applicable.
    • The term "literal" is used instead of constant when referring to literal data.
    • For most type casts, static_cast is now used.
    • Additional comments have been added to many of the programs.
    • Each chapter now has a set of "Short Answer" questions and "Algorithm Workbench" problems. New Programming Challenge exercises have been added to several of the chapters.
    • Many of the appendices are now included on a CD.

In addition, the Fourth Brief Edition is . . . Brief!  For example . . .

  • Everything that's nice to have but not crucial is moved to a CD.
    • Case studies, which use a lot of pages have been moved from the text to a CD. For example, the High Adventure Travel Agency case studies that appear in Chapters 6, 11, and 12 take up a cumulative 51 pages. Prominent icons and notes to the student are placed in the text pointing them there.
    • The old Chapter 8, Sorting and Searching Arrays, is skipped by many professors. This chapter has been moved to a CD. Once again, prominent icons and notes to the student could be placed at the end of Chapter 7 pointing to the CD.
    • The OOP primer in Chapter 13 and the MyString class development section presented in Chapter 14 is skipped by the majority of faculty who want a "brief" textbook. They are both now on CD.
  • Code that is shown repeatedly has been reduced. For example, each of the six versions of the FeetInches class in Chapter 13 (the old Chapter 14) has much the same code, and the implementations for all of these classes were previously shown. Now, the text only shows the code that changes from one version to the next. This saves space and allows the students to focus only on the added or changed code. All of the complete code is still included on the source file disk.
  • The checkpoint questions have been judiciously pruned and compressed.
  • Many of the exercises presented at the end of the chapters occupy a disproportionate amount of space for the work being requested of the student. The find-the-error problems and the predict-the-output problems are an example. They are now greatly compressed. Also, the fill-in-the-blank questions have been eliminated.

Table of Contents

Brief Version of Starting Out with C++, Fourth Edition

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
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 Variables and Literals
2.5 Identifiers
2.6 Integer Data Type
2.7 The
char Data Type
2.8 Floating-Point Data Type
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++
Review Questions and Exercises

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 Assignments 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 Introduction to File Input and Output
Review Questions and Exercises
Focus on Problem Solving: A Case Study (on CD)

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 Variables Definitions and Scope
4.14 Comparing Strings
4.15 The Conditional Operator
4.16 The
switch Statement
4.17 Testing for File Open Errors
Review Questions and Exercises

Focus on Problem Solving and Program Design
: A Case Study (on CD)

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
Focus on Software Engineering: 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
Review Questions and Exercises

Focus on Problem Solving and Program Design
: A Case Study (on CD)

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
Review Questions and Exercises

Focus on Problem Solving and Program Design
: A Case Study (on CD)

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 and Strings
7.10 Arrays with Three or More Dimensions
7.11 If You Plan to Continue in Computer Science: Introduction to the STL
vector
Review Questions and Exercises
Focus on Problem Solving and Program Design: A Case Study (on CD)
Focus on Problem Solving and Program Design
: A Case Study (on CD)

Chapter 8: Pointers
8.1 Getting the Address of a Variable
8.2 Pointer Variables
8.3 The Relationship Between Arrays and Pointers
8.4 Pointer Arithmetic
8.5 Initializing Pointers
8.6 Comparing Pointers
8.7 Pointers as Function Parameters
8.8
Focus on Software Engineering: Dynamic Memory Allocation
8.9
Focus on Software Engineering: Returning Pointers from Functions
Review Questions and Exercises
Focus on Problem Solving and Program Design: A Case Study (on CD)

Chapter 9: Characters, Strings, and the string Class
9.1 Character Testing
9.2 Character Case Conversion
9.3 Review of the Internal Storage of C-Strings
9.4 Library Functions for Working with C-Strings
9.5 String/Numeric Conversion Functions
9.6
Focus on Software Engineering: Writing Your Own C-String-Handling Functions
9.7 The C++
string Class
Review Questions and Exercises

Focus on Problem Solving and Program Design
: A Case Study (on CD)
Focus on Problem Solving and Program Design
: A Case Study (on CD)

Chapter 10: Structured Data
10.1 Abstract Data Types
10.2
Focus on Software Engineering: Combining Data into Structures
10.3 Accessing Structure Members
10.4 Initializing a Structure
10.5 Arrays of Structures
10.6
Focus on Software Engineering: Nested Structures
10.7 Structures as Function Arguments
10.8 Returning a Structure from a Function
10.9 Pointers to Structures
10.10
Focus on Software Engineering: When to Use., When to Use ->, and When to Use *
10.11 Unions
Review Questions and Exercises

Focus on Problem Solving and Program Design
: A Case Study (on CD)

Chapter 11: Advanced File Operations
11.1 File Operations
11.2 File Output Formatting
11.3 Passing File Stream Objects to Functions
11.4 More Detailed Error Testing
11.5 Member Functions for Reading and Writing Files
11.6
Focus on Software Engineering: Working with Multiple Files
11.7 Binary Files
11.8 Creating Records with Structures
11.9 Random-Access Files
11.10 Opening a File for Both Input and Output
Review Questions and Exercises

Focus on Problem Solving and Program Design
: A Case Study (on CD)

Chapter 12: Introduction to Classes
12.1 Procedural and Object-Oriented Programming
12.2 Introduction to Classes
12.3 Defining an Instance of a Class
12.4 Why Have Private Members?
12.5
Focus on Software Engineering: Some Design Considerations
12.6
Focus on Software Engineering: Using Private Member Functions
12.7 Inline Member Functions
12.8 Constructors
12.9 Destructors
12.10 Constructors That Accept Arguments
12.11
Focus on Software Engineering: Input Validation Objects
12.12 Overloading Constructors
12.13 Only One Default Constructor and One Destructor
12.14 Arrays of Objects
12.15
Focus on Object-Oriented Programming: Creating an Abstract Array Data Type
12.16
Focus on Object-Oriented Programming: Extending the Abstract Array Data Type
12.17
If you Plan to Continue in Computer Science: An Object-Oriented System Development Primer
Review Questions and Exercises

Focus on Problem Solving and Program Design
: An OOP Case Study (on CD)

Chapter 13: More About Classes
13.1 Instance and Static Members
13.2 Friends of Classes
13.3 Memberwise Assignment
13.4 Copy Constructors
13.5 Operator Overloading
13.6 Object Conversion
13.7 Object Composition
Review Questions and Exercises

Creating a String Class
: A Case Study (on CD)

Chapter 14: Inheritance, Polymorphism, and Virtual Functions
14.1 What Is Inheritance?
14.2 Protected Members and Class Access
14.3 Constructors and Destructors
14.4 Redefining Base Class Functions
14.5 Polymorphism and Virtual Member Functions
14.6 Abstract Base Classes and Pure Virtual Functions
14.7 Base Class Pointers
14.8 Classes Derived from Derived Classes
14.9 Multiple Inheritance
Review Questions and Exercises

*On an accompanying CD: Case Studies, Appendices, and Source Code

top


Alternate Version of Starting Out with C++, 4th Edition
ISBN 1-57676-127-4
(Different ISBN required for specific software bundles)

New to the Alt Edition

  • The C++ string class, introduced in chapter 2, is now used throughout the text.

  • More attention has been given to handling string data. A new section on files has been added to this chapter and sequential text files are now used for I/O at appropriate points throughout the text.

  • A new section on enumerated data types has been added.

  • Coverage of data validation has been moved to chapter 5 and input validation examples have been rewritten to use pre-test while loops.

  • Function prototypes and return values are introduced earlier. More coverage is given to when parameters should be passed by value vs. when reference parameters are needed.

  • Changes have been made to comply with the new ANSI standard for handling the allocation of dynamic memory.

Table of Contents

 

CHAPTER 1:  Introduction to Computers and Programming

CHAPTER 2:  Introduction to C++

CHAPTER 3:  Expressions and Interactivity

CHAPTER 4:  Making Decisions

CHAPTER 5:  Looping

CHAPTER 6:  Functions

CHAPTER 7:  Structured Data and More on Classes

CHAPTER 8:  Arrays

CHAPTER 9:  Searching and Sorting Arrays

CHAPTER 10:  Pointers

CHAPTER 11:  More About Classes and Object-Oriented Programming

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

CHAPTER 13:  Advanced File and I/0 Operations

CHAPTER 14:  Recursion

CHAPTER 15:  Polymorphism, Virtual Functions, and Multiple Inheritance

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

CHAPTER 17:  Linked Lists

CHAPTER 18:  Stacks and Queues

CHAPTER 19:  Binary Trees

Student Materials

  • Student data disk, Borland and Microsoft Visual C++ compilers at no extra charge included in the text.

  • Starting Out With C++ 3/E Alternate Edition Lab, by Judy Walters (North Central College); A copious number of pre-lab activities, lab assignments, and post lab activities, designed to reinforce Gaddis' Starting Out with C++, 3rd Alternate edition. ISBN: 1-57676-103-7;

  • Starting Out Quickly With Visual C++ by Doug White (Northern Colorado University). A step-by-step introduction to the Visual C++ environment. ISBN: 1-57676-069-3

Instructor Materials

  • The instructor's web site, (password protected), contains PowerPoint slides, solutions to programming assignments, and a test bank. The example source code (included on student disk) is not posted. Instructor Disk contains Solutions, Test Items and PowerPoint presentations.

top
 


Another thing that hasn't changed: what students think of Gaddis . . .
"I am a Sophomore at Augusta State University and 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

"Greetings, I'm using your book in an introductory course in C++ at the University of Texas at Dallas (350 people in these classes are using it). Your book is GREAT!! It abstracts the complexity of C++ down to the core concepts that we can build on. Good presentation, takes care that we know the details. Thanks!"
Jim Burke, student

" . . . just wanted to tell you that your book has made a lot of difference in my life. Your book is absolutely 'Awesome'. You have a lot of examples in the book which help a lot. Thanks again!"
Saud Faisal, student

And what teachers say after teaching out of Gaddis . . .
"I have adopted and am currently teaching from the Gaddis second edition textbook. This is by far the best C++ book that I have taught with."
Deedee Herrera, Dodge City CC

"I like it better than the one we are using for our second semester C++ course."
Dr. Ron Bass, Austin Community College

"I took a good look at your 2nd edition as I revised my class to use it and I think you did a super job. Moving recursion and splitting the chapter on arrays made a great book even better. Congratulations!"
Carol Schwab, Webster University

"I want to tell you that I believe your C++ text is the most thorough one available. I have used 5 different ones since 1992 and every one assumes the students know things that they do not. You cover every detail. Thank you."—David McLeod, Belmont Technical College

"Gaddis's book is a good, solid book and teachers should be successful using it. Students in our Bachelors program find the book clear, easy to follow and therefore, they like it very much."
Miriam Plonczak, Touro College

"I listen to what students say about the books I select. Their response to Gaddis is unusually positive. They really like the book."—Jeffrey A. Kent, Los Angeles Valley College "The students have found your book to be easy to read and understand-a great accomplishment."
Al Cawns, Webster University

"I have adopted this book for courses at both Inver Hills Community College and Century College in Minnesota this semester. I have not been disappointed. It works for me."
Ray Larson


Of Additional Interest . . .
Does your CS-1 course have a lab component? Then take a look at The Lab Manual for Starting Out with C++ by Dean Defino and Michael Bardzell (Salisbury State College). A copious number of pre-lab activities, lab assignments, and post lab activities, designed to reinforce Gaddis' Starting Out with C++, 3 4th edition.

Is your C++ course taught in the Visual C++ environment? Than take a look at QuickStart to Visual C++ .NET by Doug White (Northern Colorado University), a step-by-step introduction to the Visual C++ environment. Unlike other Visual C++ supplements, White provides clear, explicit step-by-step discussions, which any student studying from Gaddis will be able to understand.

Standard Version of Starting Out With C++, 4th Edition
ISBN 1-57676-119-3, 1200 pages

Brief Version of Starting Out With C++, 4th Edition
ISBN 1-57676-121-5, 978 pages


Alternate Version of Starting Out With C++, Fourth Edition
ISBN 1-57676-127-4, 1400 pages


Lab Manual to Accompany the Standard Version of Starting Out With C++, 4th Edition,
by Dean DeFino & Michael Bardzell
ISBN 1-57676-126-6

QuickStart to Visual C++ .NET by White
ISBN 1-57676-069-3


Bundle: Standard Version of Starting Out with C++, 4th Edition, and
Lab Manual to Accompany the Standard Version of Starting Out with C++,
4th Standard and Brief Editions, by Dean DeFino & Michael Bardzell
ISBN 1-57676-253-X

Available in January 2004!
Lab Manual to Accompany the Alternate Version of Starting Out With C++, 4th Edition,
by Dean DeFino, Michael Bardzell & Judy Walters
ISBN 1-57676-128-2

 
Home | Textbook Catalog | Order Book | Syllabi
 

Scott/Jones Inc., El Granada CA
Website maintenance & updating by
Jane Scott/Jones.
Updated January 16, 2004.