Preface

Welcome to our textbook! After many years of teaching C and C++ and continually searching for the “perfect book,” we have finally decided to write our own.

C++: An Active Learning Approach is designed to teach beginning programming at the college level. It has a strong focus on procedural programming using the C++ language. Additionally, at the end of most chapters we show how these concepts apply to the C programming language. The textbook serves as an introduction to programming for use within such curricula as Computer Science, Software Engineering, Information Technology, and Management Information Systems, or it can be used by individuals on their own. The text can be used for either a one-semester course or a two-quarter term sequence.

 

Prerequisites

The text is targeted at the broad base of students taking their first programming course. Although it assumes no prior programming knowledge, due to the mathematical nature of some of the programming assignments, students should have an understanding of algebraic concepts.

 

How We Are Different

Over the past few years we have used several texts within our introductory courses for programming students. Every few years we tend to alternate among these texts, only to find that they all fall short of our objectives. Our text is different in the following ways:

1.  We include a more hands-on approach to presenting materials.

2.  Throughout the text, exercises are presented for the students to complete as they work through a specific topic.

3.  We clearly stress a more procedural approach to learning programming.

4.  At the end of most chapters, we point out the corresponding C language constructs related to the specific topic being presented.

5.  The writing style seeks to actively engage the reader in a “learn-by-doing” fashion and makes extensive use of various aspects associated with using the debugger to help solidify concepts.

6.  The writing style presents information concisely and makes use of many code examples to help present the topics.

 

Getting the Most Out of the Text

The distinguishing feature of this text is the applied, hands-on nature of the material presented. It actively involves students in the learning process and provides a practical how-to guide to help them quickly learn and appreciate various fundamental aspects associated with the C++ programming language. It is strongly encouraged that the reader completes all of the Section Exercises and “Learn by Doing” Exercises before moving on to the next section. These exercises allow readers to solidify their understanding before advancing to the next topic.

The Problem Solving Applied and Debugging sections typically contain some of the more difficult concepts our students encounter. These sections have been very helpful to the students in our test group.

One aspect of programming that many students in academia don't have exposure to is using other people's design, code, and specifications. The Team Programming section tries to introduce the student to typical situations found in the team environment of the computer industry.

 

Chapter Components

The typical chapter format includes the following sections:

images  Objectives

images  Introduction

images  Major Concepts (1.0, 1.1, 1.2, etc.)

    images  Code examples

    images  Coding style tips

    images  Section Exercises

    images  Learn by Doing Exercises

images  Problem Solving Applied

images  C—The Differences

images  Summary

images  Debugging Exercise

images  Programming Exercises

images  Team Programming Exercise

images  Answers to Chapter Exercises

Within the main body of each chapter, a number of code examples are provided. Most of the samples are short, focusing directly on the concept being presented. A section is also provided after the chapter topics that walks students through the design process. This section includes pseudocode as well as UML class diagrams where appropriate.

Preceding the summary, a section clearly outlines the syntactical differences between C and C++. This is a purely optional section in the text.

 

Supplements

Example Code—The programs contained within the text are available for students and instructors from the publisher's website at http://www.jbpub.com/catalog/9780763757236/.

PowerPoint Presentations—PowerPoint slides are available to adopters on request from Jones and Bartlett Publishers.

Solutions—The solutions to the Learn by Doing Exercises, Programming Exercises, and Team Programming Exercises are also available for instructors from Jones and Bartlett Publishers.

 

Acknowledgments

The beta version of the text was used in CST 116 C++ Programming I and CST 126 C++ Programming II at the Oregon Institute of Technology (OIT). The students provided a lot of positive feedback as well as suggestions for improvement.

During the process of writing this text we have received the continual encouragement and support of our colleagues, our current students, OIT alumni, and the OIT administration. We would like to thank the following reviewers: Dmitriy Kupis, St. Joseph's College; Michael I. Schwartz, University of Denver; Deirdre Folkers, Penn State University; and Stacey Dunevant, Jackson State Community College. In addition, we owe a special thank you to Bryan Wintermute, Heath Higgins, Jeanie King, and Marcus Blankenship for their support, careful review, corrections, and invaluable comments on a number of the chapters. A special thank you goes to Tyler Ferraro and Scott Nash for their editing feedback.

A number of other individuals have provided a wide range of support. Marie Murray, Gary Albert, Gregg Albert, Lois Breedlove, Paul Breedlove, Tim Wheeler, and Lennard Wheeler have been invaluable sources of support and encouragement. We would also like to thank Tim Anderson, Melissa Elmore, Melissa Potter, and Amy Rose at Jones and Bartlett Publishers for putting up with our unending stream of questions.

Feedback

We greatly value your opinion and would appreciate hearing about any errors or problems you might encounter in the textual or technical portions of the book. If you should find an error or have concerns, please email us at:

Todd Breedlove: [email protected]

Randy Albert: [email protected]

Your comments will help us improve the text. Thanks for any help and feedback you can provide!

Randy and Todd

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset