About the Book
Problem Solving with C++, 4e is a
revision of one of the leading books for courses introducing programming
in C++. The text explains C++ and basic programming techniques in a way
suitable for beginning students. This book adapts to the syllabus created
by the instructor rather than making you adapt to the book. The order in
which the chapters and sections are covered can easily be changed without
loss of continuity in reading the text.
The book teaches students how to define
their own classes, while ensuring a solid understanding of basic tools
such as simple control structures and function definitions. A measured
approach is taken toward classes, teaching students how to write simple
classes at first, then constructors are added, then overloading simple
operators, then overloading the I/O operators <<<< and >>>>,
and so forth. By defining their own classes early, students are getting
a hands-on experience not provided by those texts that merely teach how
to use classes in the beginning.
This book also comes with Addison-Wesley's
CodeMate. This online program competency builder transforms a student's
reading experience into a dynamic programming environment with a click
of a mouse. CodeMate allows students to view, compile, run, and edit programming
problems directly from the textbook without installing a compiler.
Package Contents:
-
1 Problem Solving with C++: The Object
of Programming, 4/E by Walter Savitch
-
2 Problem Solving with C++ CodeMate
Access Card, 4/E by Walt Savitch
-
3 CodeMate Sticker, 3/E by John Lewis
and William Loftus
Problem Solving with C++, 4e is a revision
of one of the leading books for courses introducing programming in C++.
The text explains C++ and basic programming techniques in a way suitable
for beginning students. This book adapts to the syllabus created by the
instructor rather than making you adapt to the book. The order in which
the chapters and sections are covered can easily be changed without loss
of continuity in reading the text.
The book teaches students how to define
their own classes, while ensuring a solid understanding of basic tools
such as simple control structures and function definitions. A measured
approach is taken toward classes, teaching students how to write simple
classes at first, then constructors are added, then overloading simple
operators, then overloading the I/O operators <<<< and >>>>,
and so forth. By defining their own classes early, students are getting
a hands-on experience not provided by those texts that merely teach how
to use classes in the beginning.
Features
-
Contains complete chapters on Inheritance,
Exception Handling, and Templates.
-
Creates a flexible style written with a measured
approach to classes designed to allow classes to be covered at any time.
-
Presents C++ examples in the context of complete,
fully executable C++ programs that can be downloaded from the World Wide
Web for manipulation.
-
Includes numerous case studies and examples
that demonstrate programming and C++ topics and instill good program habits.
-
Maintains extensive pedagogy of exercises,
programming projects, programming tips, programming examples, programming
pitfalls, and summary boxes, all used to make the material understandable
for readers.
-
Uses a friendly and motivational writing style
that is appropriate for beginners.
-
Available in a special Visual C++ edition
that includes this book with Savitch's Visual C++ for .Net Companion, including
the Visual C++ compiler.
Related
Books
Introduction to Computer Programming Courses
(Intro
to Computer Programming)
Table of Contents
1. Introduction to Computers and C++
Programming.
Computer Systems.
Programming and Problem Solving.
Introduction to C++.
Testing and Debugging.
2. C++ Basics.
Variables and Assignments.
Input and Output.
Data Types and Expressions.
Simple Flow of Control.
Program Style.
3. Functions that Return a Value.
Top-Down Design.
Programmer-Defined Functions.
Procedural Abstraction.
Local Variables.
Overloading Function Names.
4. Functions for All Subtasks.
void-Functions.
Call-by-Reference Parameters.
Using Procedural Abstraction.
5. I/O Streams as an Introduction
to Objects and Classes.
Streams and Basic File I/O.
Tools for Stream I/O.
Character I/O.
Inheritance.
6. Defining Classes.
Structures.
Classes.
Abstract Data Types.
7. More Flow of Control.
Using Boolean Expressions.
Multiway Branches.
Designing Loops.
8. Friends and Overload Operators.
Friend Function.
Overloading Operators.
9. Separate Compilation and Namespaces.
Separate Compilation.
Namespaces.
10. Arrays.
Introduction to Arrays.
Arrays in Functions.
Programming with Arrays.
Arrays and Classes.
Multidimensional Arrays.
11. Strings and Vectors.
An Array Type for Strings.
Vectors.
12. Pointers and Dynamic Arrays.
Pointers.
Dynamic Arrays.
Classes and Dynamic Arrays.
13. Recursion.
Recursive Functions for Tasks.
Recursive Functions for Values.
Thinking Recursively.
14. Templates.
Templates of Algorithm Abstraction.
Syntax for Class Templates.
15. Pointers and Linked Lists.
Nodes and Linked Lists.
A Linked List Application.
16. Inheritance.
Inheritance Basics.
Inheritance Details.
Polymorphism.
17. Exception Handling.
Exception Handling Basics.
Programming Techniques for Exception
Handling.
18. Standard Template Library.
Iterators.
Containers.
Generic Algorithms.
Appendices.
Appendix 1. C++ Keywords.
Appendix 2. Precedence of Operators.
Appendix 3. ASCII Character Set.
Appendix 4. Some Library Functions.
Appendix 5. The Assert Statement.
Appendix 6. Inline Functions.
Appendix 7. Overloading the Array
Index Square Brackets.
Appendix 8. The This Pointer.
Appendix 9. Overloading Operators
as Member Operators. |