Home > Store

C++: An Introduction to Computing, 3rd Edition

Register your product to gain access to bonus material or receive a coupon.

C++: An Introduction to Computing, 3rd Edition

Book

  • Sorry, this book is no longer in print.
Not for Sale

About

Features

  • NEW - Each chapter now includes a new, optional, OBJECTive Thinking section with material for those wanting to pursue an objects-early approach.
    • Provides a gradual introduction to classes and object-oriented programming, especially suited for those with previous programming experience.

  • NEW - Pedagogical aids have been added to each chapterA Chapter Objectives section at the beginning of each chapter and A Chapter Summary section at the end of each chapter, reviewing the key terms and concepts covered in a chapter.
  • NEW - A new final chapter on Data Structures has been added—Provides an optional introduction to vectors, linked-lists, stacks, queues, and trees, and how they are used in the Standard Template Library (STL).
    • For schools on the quarter system, this material permits this one text to be used over two quarters. For schools on the semester system, this chapter provides supplemental material for a traditional second-semester Data Structures course.

  • NEW - Material from the second edition judged to be optional has been retained, but moved to a Website. This includes a portion of several Part of the Picture sections, and extra examples from the previous edition that have been reworked as Case Studies.
  • NEW - Graphical examples in the previous edition have been updated using the CMUGraphics classes.
    • Makes the text suitable for high school computer science advanced placement (AP) courses.

  • Problem-solving methodology—Used consistently in examples and applications that gradually increase in complexity.
    • Provides a consistent framework that helps students progress more easily into difficult concepts.

  • The authors' popular approach, Object-Centered Design (OCD)— Introduced in chapter 1, culminating in object-oriented design in chapter 11.
    • Object-oriented programming is quickly becoming a standard industry practice, and this book exposes the introductory student to object-oriented programming early and consistently.

  • “Spiral” approach—Central topics are introduced early and are revisited in increasing detail throughout the text.
    • A “use it, then build it” approach. Students receive extensive exposure to concepts underlying basic constructs, reducing the learning curve when the time comes to actually build their own.

  • Programming examples consistently use Object-Centered Design to develop working code—Available on the Author Website.
    • Good documentation techniques and habits are modeled in examples to help students learn the importance of writing maintainable programs.

  • “Part of the Picture” sections—In each chapter. Several contributed by field experts.
    • These sections introduce students to discipline of Computer Science-e.g., ethics, history, AI, and architecture. Ex. Ch. 1, Ethics and Computing, and Ch. 6, Artificial Intelligence.

  • Standard Template Library.
    • Provides students with a complete C++ toolkit.

  • Author Website—Includes all the source code for programs in the book.
    • Students can run and manipulate the source code from all the examples in the book.

Description

  • Copyright 2003
  • Dimensions: 7" x 9-1/4"
  • Pages: 996
  • Edition: 3rd
  • Book
  • ISBN-10: 0-13-091426-6
  • ISBN-13: 978-0-13-091426-2

I think it's well written and intelligently presented. It's a good introduction not only to C++ programming, but also to computer science as a whole.

- Larry Herman, UNITEC Institute of Technology

This book has a very large number of exercises, with a large variety of types. It is one the things that attracted me to the text. I am pleased with the quantity and quality of the exercises in this book.

- Cary Laxer, Computer Science, Rose-Hulman Institute of Technology

Joel Adams and Larry Nyhoff address two key goals for first-year computing courses: to give students programming skills in a specific language, and to introduce them to the larger field of computer science. In this third edition of their best-selling book, these experienced educators offer a well-rounded approach to the methodologies and techniques of C++, while presenting students with a general overview of computing as a discipline, allowing them to put their learning into a broader context.

KEY FEATURES

  • Provides carefully selected Part of the Picture presentations by computing experts as an overview of the discipline of computer science
  • Offers 500 Quick Quiz questions with answers and 800 written exercises to be used for written assignments
  • Includes more than 300 programming problems drawn from a wide range of application areas

NEW TO THIS EDITION

  • A new chapter on data structures
  • Learning objectives listed at the beginning of each chapter
  • End-of-chapter summaries with key words and notes to help students identify the main concepts of each chapter
  • Case studies featuring problems with complete solutions, including both design and program code
  • Special optional OBJECTive Thinking sections to present classes and objects
  • Prentice Hall Companion Website at http://www.prenhall.com/adams and authors' website at http://cs.calvin.edu/books/c++/intro/3e/

Sample Content

Table of Contents

(NOTE: Each chapter concludes with Chapter Summary, Programming Pointers, and Programming Problems.)

0. Beginning Snapshots.

PART OF THE PICTURE: What Is Computer Science? PART OF THE PICTURE: The History of Computing. PART OF THE PICTURE: Introduction to Computer Systems.



1. Problem Solving and Software Engineering.

Welcome to the World of C++. Problem Solving through Software Engineering. Case Study: Revenue Calculation. OBJECTive Thinking: Spheres As Objects. PART OF THE PICTURE: Ethics and Issues.



2. Types.

Introductory Example: Computing Student Pay. Types and Declarations. PART OF THE PICTURE: Data Representation. OBJECTive Thinking: Attribute Variables.



3. Operations and Expressions.

Introductory Example: Einstein's Equation. Numeric Expressions. Boolean Expressions. Character Expressions. Assignment Expressions. Input/Output Expressions. Example: Truck Fleet Accounting. OBJECTive Thinking: Initialization and Constructors.



4. Functions.

Introductory Example: Temperature Conversion with Expressions. Introductory Example: Temperature Conversion with Functions. Functions That Use Selection. Functions That Use Repetition. PART OF THE PICTURE: Computability Theory. Case Study: An 8-Function Calculator. An Introduction to Libraries. OBJECTive Thinking: Class Methods.



5. Using Classes.

Introductory Example: “The Farmer in the Dell.” Introduction to Classes. The istream and ostream Classes. Computing with string Objects. Case Study: Decoding Phone Numbers. PART OF THE PICTURE: Simulation. OBJECTive Thinking: Instance Methods.



6. Selection.

Introductory Example: School Mascots. Selection: The if Statement. Selection: The switch Statement. Example: Computing Letter Grades. Selection: Conditional Expressions. PART OF THE PICTURE: Boolean Logic and Digital Design. PART OF THE PICTURE: Computer Architecture. OBJECTive Thinking: Mutator Methods.



7. Repetition.

Introductory Example: The Punishment of Gauss. Repetition: The for Loop. Repetition: The while Loop. Repetition: The do Loop. Input Loops. Choosing the Right Loop. Case Study: Calculating Depreciation. PART OF THE PICTURE: Introduction to Algorithm Analysis. OBJECTive Thinking: Code. Reuse Through Inheritance.



8. Functions in Depth.

Introductory Example: One-Step Integer Division. Parameters in Depth. Examples of Parameter Usage. Inline Functions. Scope, Overloading, and Templates. A Brief Introduction to Recursion. PART OF THE PICTURE: Numerical Methods. OBJECTive Thinking: Class Variables, Instance Variables, and Scope.



9. Files and Streams.

Introductory Example: Weather Data Analysis. ifstream and ofstream Objects. Example: Scanning for a Virus. Additional Stream Features. PART OF THE PICTURE: Database Systems. OBJECTive Thinking: Objects and Streams.



10. Arrays and Vector “T”s.

Introductory Example: Quality Control. C-Style Arrays. Sorting. Searching. Example: Processing Employee Information. The vector“T” Class Template. Example: Processing Test Scores. OBJECTive Thinking: Objects and Sequences.



11. Building Classes.

Introductory Example: Modeling Temperatures. Designing a Class. Implementing Class. Attributes. Implementing Class Operations. Example: Retrieving Student Information. OBJECTive Thinking: Operator Overloading and Friends.



12. Enumerations.

Introductory Example: Wavelengths of Colors. C-Style Enumerations. Object-Oriented Enumerations. Example: Geological Classification. PART OF THE PICTURE: The C++ Type Hierarchy. OBJECTive Thinking: Inheritance and Polymorphism.



13. Multidimensional Arrays.

Introductory Example: Mileage between Cities. C-Style Multidimensional Arrays. Multidimensional vector“T” Objects. A vector “T”-Based Matrix Library. PART OF THE PICTURE: Computer Graphics. OBJECTive Thinking: The Matrix Class Revisited.



14. Pointers and Run-Time Allocation.

Introduction to Pointer Variables. Run-Time Allocation Using new and delete. The STL list Class Template. Pointers and Command-Line Arguments. PART OF THE PICTURE: Algorithm Efficiency. OBJECTive Thinking: Pointers and Polymorphism.



15. Data Structures.

Introductory Example: The Binary Representation of Integers. The Queue Container. Recursion Revisited. An Introduction to Trees. Trees in STL. PART OF THE PICTURE: Expert Systems.

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.