MTU Cork Library Catalogue

Syndetics cover image
Image from Syndetics

C++ : an introduction to computing / Joel Adams, Sanford Leestma and Larry Nyhoff.

By: Adams, Joel, 1957-.
Contributor(s): Leestma, Sanford | Nyhoff, Larry R.
Material type: materialTypeLabelBookPublisher: Upper Saddle River : Prentice Hall, 1998Edition: 2nd ed.Description: xxvi, 868 p. ; 23 cm.ISBN: 0137443927.Subject(s): C (Computer program language) | Computer scienceDDC classification: 005.133 ADA
Holdings
Item type Current library Call number Copy number Status Date due Barcode Item holds
General Lending MTU Bishopstown Library Store Item 005.133 ADA (Browse shelf(Opens below)) 1 Available 00071377
Total holds: 0

Enhanced descriptions from Syndetics:

A textbook for a first course in computer science broadly introducing computing and the methods and techniques of programming using the C++ language. The 1995 edition is here divided into two volumes, the first with basics sufficient for a one-semester course, and the second covering more advanced f

Previous ed.: 1995.

Includes index.

Table of contents provided by Syndetics

  • Beginning Snapshots
  • Part Of The Picture: What Is Computer Science?
  • Part Of The Picture: The History of Computing
  • Part Of The Picture: Computing History
  • Part Of The Picture: Ethics and Computing
  • 1 Problem Solving and Software Engineering
  • 2 Types and Expressions
  • Part Of The Picture: Data Representation
  • 3 Functions
  • Part Of The Picture: Computability Theory
  • 4 Class Types and Expressions
  • Part Of The Picture: Simulation
  • 5 Selection
  • Part Of The Picture: Boolean Logic and Digital Design
  • Part Of The Picture: Computer Architecture
  • 6 Repetition
  • Part Of The Picture: Introduction to Algorithm Analysis
  • 7 Functions In Depth
  • Part Of The Picture: Numerical Methods
  • 8 Files and Streams
  • Part Of The Picture: Database Systems
  • 9 Arrays and vectors
  • Part Of The Picture: Component Programming
  • 10 Building Classes
  • Part Of The Picture: Artificial Intelligence
  • 11 Enumerations
  • Part Of The Picture: The C ++ Type Hierarchy
  • 12 Multidimensional Arrays
  • Part Of The Picture: Computer Graphics
  • 13 Pointers and Run-Time Allocation
  • Part Of The Picture: The TCP/IP Communications Architecture
  • Part Of The Picture: Data Structures
  • Appendix A ASCII Character Set
  • Appendix B C ++ Keywords
  • Appendix C C++ Operators
  • Appendix D Libraries and Classes
  • Answers to Quick Quizzes
  • Index

Excerpt provided by Syndetics

To properly introduce students to computing, we believe that the first computing course should accomplish two goals: Introduce the methodologies and techniques of computer programming using a modern programming language, providing a (fairly) complete introduction to the language. Introduce students to the breadth of the discipline of computing, so that they come to understand the role of programming in the broader context of computing. The aim of previous editions and this new edition is to realize both of these goals. Pedagogy A popular feature of the earlier editions and other texts we have written is to use a "real-world" problem at the beginning of each chapter to introduce the subject of that chapter (e.g., functions, if statements, loops, and so on). Seeing the practice of a new topic provides students with a framework in which the more general concepts that underlie that topic can be organized and understood. We continue the "use it, then build it" approach with respect to the more difficult topics for beginning programmers--a kind of spiral approach that revisits topics in increasingly greater detail. For example, predefined functions are used in Chapter 3 as components of expressions. Once students have experience using functions, Chapter 4 teaches them to build simple functions, and Chapters 6-8 show how to build increasingly sophisticated functions. Through this "use it, then build it" approach, students receive extensive exposure to the concepts underlying each of these constructs, reducing the learning curve when the time comes to actually build those constructs. A major pedagogical issue in a first programming course using C++ is where to present classes and objects--early, gradually, late, or not at all. In earlier editions and for the most part in this one, we use the spiral approach to introduce classes gradually. Thus, in Chapter 1 we introduce our design methodology, called object-centered design, a four-phase graduated methodology that novice programmers can use as an aid in designing software solutions. This methodology is used consistently to solve the problems presented throughout the remainder of the text. As the reader learns new language constructs in subsequent chapters, the methodology is expanded to incorporate these new constructs--for example, Chapter 5 introduces the student to the use of standard classes and methods; more practice follows in Chapters 710. Once students are firmly grounded in the use of (predefined, standard) classes, they learn to build classes in Chapter 11. We realize, however, that a significant number of instructors prefer a classes/objects-early approach. We have made this possible by adding a special optional OBJECTive Thinking section to each chapter, beginning in Chapter 1, that introduces classes and objects. (The topics of these sections are listed later in this preface.) New to this Edition Thanks to constructive feedback from users of the first edition, this new edition incorporates a number of changes, including the following: Chapter objectives and end-of-chapter summaries consisting of key words and notes have been added to help students identify the main concepts of each chapter. The lengthy second chapter on types and expressions from the second edition has been split into two separate chapters. A new final chapter on data structures has been added. Case studies have been added in which a problem is presented, some ideas about how to solve it are given, and a complete solution, including both design and program code, is given on the book's Web site. As noted earlier, special optional OBJECTive Thinking sections have been added, one in each chapter, that present classes and objects, beginning already in Chapter I . The approach here is a spiral one. The titles are as follows: OBJECTive Thinking: Spheres as Objects OBJECTive Thinking: Attribute Variables OBJECTive Thinking: Initialization and Constructors OBJECTive Thinking: Class Methods OBJECTive Thinking: Instance Methods OBJECTive Thinking: Mutator Methods OBJECTive Thinking: Code Reuse through Inheritance OBJECTive Thinking: Class Variables, Instance Variables, and Scope OBJECTive Thinking: Objects and Streams OBJECTive Thinking: Objects and Sequences OBJECTive Thinking: Operator Overloading and Friends OBJECTive Thinking: Inheritance and Polymorphism OBJECTive Thinking: The Matrix Class Revisited OBJECTive Thinking: Pointers and Polymorphism These sections can be omitted without loss of continuity. They might be used by students taking a course for honors credit or for independent study by students needing more challenging work. The history of computing section in Chapter 0 has been updated to include more events and photos, along with descriptions of more recent developments such as GUIs and networking. Ann Marchant of George Mason University has updated and expanded her superb presentation of the major ethical issues in computing in Chapter 1. The Breadth of Computing Introducing the students to the breadth of the discipline of computing grows out of an important theme of curriculum recommendations of the Association of Computing Machinery (ACM) that an introductory course in computing should introduce the various knowledge areas of the discipline so that a solid base is established for later courses in computer science. To accomplish this, we have included optional Part of the Picture sections (some of which are introduced in the text with complete presentations on the book's Web site). They introduce the major areas of computer science, trying to capture the spirit of the curriculum guidelines in a natural, unobtrusive way. Several of them were written by experts in various areas of computing. They have been carefully selected to provide an overview of the discipline of computer science and to provide a foundation for further study in theoretical or applied computer science. Their titles include the following: What Is Computer Science? The History of Computing Introduction to Computer Systems Ethics and Issues (by Ann Marchant) Data Representation Computability Theory Simulation Boolean Logic and Digital Design Computer Architecture (by William Stallings) Introduction to Algorithm Analysis Numerical Methods Database Systems (by Keith Vander Linden) Component Programming Artificial Intelligence (by Keith Vander Linden) The C++ Type Hierarchy Algorithm Efficiency Expert Systems Other Features The Web site cs.calvin.edu/books/c++/intro/3e will be maintained by the authors and will include corrections, additions, reference materials, and other supplementary materials such as solutions to case studies and some Part of the Picture sections. Optional sections (marked with asterisks) delve into more advanced topics, without requiring that they be covered in a normal introductory course. Programming Pointers at chapter ends highlight important points, including proper techniques of design and style and common programming pitfalls. Approximately 500 Quick Quiz questions provide a quick check of understanding of the material being studied. The answers to all of the Quick Quiz questions are given in Appendix E. Approximately 800 written exercises extend the Quick Quizzes and apply the material of the preceding section(s). No answers for these are provided in the text, therefore, they can be used for written assignments. The Programming Problems sections at the chapter ends contain more than 300 programming problems drawn from a wide range of application areas. A completely new design makes the text attractive and readable. Color is used to emphasize and highlight important features. Boxed displays make it easy to find descriptions of the basic C++ statements and constructs. Icons serve as markers to point out key parts of the text. CS1 & CS2 This book is the first of a series of two, which together provide a thorough presentation of the C++ language. This first volume introduces the essential ideas of C++ programming and the breadth of the discipline of computing, making it ideal for a one-semester course in computer science. The second volume, C++: An Introduction to Data Structures by Larry Nyhoff, covers the more advanced features of C++ programming (e.g., recursion, inheritance, and polymorphism) and introduces topics that are traditionally taught in the second course (including elementary data structures, algorithms, and complexity) and how these three topics converge in the C++ Standard Template Library. Together, these two texts provide the beginning computer-science student with a complete introduction to C++ and a solid introduction to the discipline of computer science. If you choose to take advantage of the two-semester option, your local Prentice Hall Sales Representative can Supplementary Materials Web sites at www.prenhall.com/adams and cs.calvin.edu/books/c++/intro/3e will contain source code, an online study guide, color screen snaps of graphical output, and links to important sites that correspond to items in the text. Other enrichment materials are also planned for inclusion on these Web sites. The Instructors Resource CD-ROM contains most of the preceding items along with PowerPoint slides, as well as solutions to the exercises and many of the programming problems. A Lab Manual containing laboratory exercises and projects coordinated with the text is available in hardcopy with access to an on-line version. It can be used with GNU C++, Borland's C++ Builder, Metrowerks CodeWarrior C++, and Microsoft's Visual C++. Also available are software value pack options that include any of the following three software CD-ROM's: Borland's C++ Builder 6 Enterprise Trial Edition, CodeWarrior's Learning Edition Version 2.0, or Microsoft's Visual C++ 6.0. Excerpted from C++: An Introduction to Computing by Joel Adams, Larry Nyhoff All rights reserved by the original copyright owners. Excerpts are provided for display purposes only and may not be reproduced, reprinted or distributed without the written permission of the publisher.

Powered by Koha