|

Addison-Wesley / Prentice Hall

Computer Science

My Instructor Resource Center :  Log in or request access

C++: An Introduction to Computing, 3/E
Joel AdamsCalvin College
Larry NyhoffCalvin College

ISBN-10: 0130914266
ISBN-13:  9780130914262

Publisher:  Prentice Hall
Copyright:  2003
Format:  Paper; 996 pp
Published:  08/14/2002
Status: Instock


Suggested retail price: $123.00
Buy from myPearsonStore



Appropriate for introductory Computer Science courses using C++ (CS1 with C++) and other introductory programming courses using C++.

The authors introduce key ideas behind computing with C++ and object-oriented programming in an intuitive and non-intimidating way. This text not only teaches text-based programming, but also graphical/internet programming. In addition, this text provides an introduction to computer science as a discipline.

  • 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.

  • 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.

  • 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.
  • 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.

  • 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.
  • 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.

(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.

Joel C. Adams received two B.S. degrees in Psychology and Computer Science in 1980 and 1984 from Geneva College. He continued his study of Computer Science at the University of Pittsburgh, where he received his M.S. in 1986 and his Ph.D. in 1988. Since 1989, Joel has taught at Calvin College, where he is a Professor of Computer Science. He has also been a visiting faculty member at North Carolina State University and a Fulbright Scholar at the University of Mauritus. He is co-author of the widely used book C++: An Introduction to Computing.

 

Larry R. Nyhoff earned his A.B. in Mathematics in 1960 from Calvin College and his M.S. in 1961 from the University of Michigan. Larry continued his study of Mathematics and received his Ph.D. in 1969 from Michigan State University. Hi is in his 37th year as a Professor at Calvin College and has aided in the development of the school’s computer science curriculum since its inception. In addition to authoring and co-authoring over 27 textbooks used worldwide, Larry is a professional member of ACM and SIGCSE.

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/

Companion Website - Adams, 3/E
Adams, Leestma & Nyhoff
©2003 | Prentice Hall | On-line Supplement | Instock
ISBN-10: 0130914282 | ISBN-13: 9780130914286
URLhttp://www.prenhall.com/adams


Companion Website - Adams, 3/E
Adams, Leestma & Nyhoff
©2003 | Prentice Hall | On-line Supplement | Instock
ISBN-10: 0130914282 | ISBN-13: 9780130914286
URLhttp://www.prenhall.com/adams


Instructor Resource CD-ROM (download only), 3/E
Adams, Leestma & Nyhoff
©2003 | Prentice Hall | On-line Supplement; 0 pp | Instock
ISBN-10: 0130914274 | ISBN-13: 9780130914279
  View Downloadable Files



Companion Website - Adams, 3/E
Adams, Leestma & Nyhoff
©2003 | Prentice Hall | On-line Supplement | Instock
ISBN-10: 0130914282 | ISBN-13: 9780130914286
URLhttp://www.prenhall.com/adams


Lab Manual, 3/E
Adams & Nyhoff
©2003 | Prentice Hall | Paper; 376 pp | Instock
ISBN-10: 0131007742 | ISBN-13: 9780131007741
Buy from myPearsonStore


Interwrite Personal Response System
EduCue, Addison-Wesley & Benjamin Cummings
©2004 | Prentice Hall | Electronic Supplement | Instock
ISBN-10: 0321267354 | ISBN-13: 9780321267351


Companion Website - Adams, 3/E
Adams, Leestma & Nyhoff
©2003 | Prentice Hall | On-line Supplement | Instock
ISBN-10: 0130914282 | ISBN-13: 9780130914286
URLhttp://www.prenhall.com/adams


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.