Structured & Object-Oriented Problem Solving Using C++ (3rd Edition)

0 avg rating
( 0 ratings by Goodreads )
 
9780130284518: Structured & Object-Oriented Problem Solving Using C++ (3rd Edition)

Appropriate for Introductory Computer Science (CS1) courses using C++ and Introductory C++ programming courses found in Computer Science, Engineering, CIS, MIS, and Business Departments. This accessible text emphasizes problem-solving techniques using the C++ language, with coverage that develops strong problem-solving skills using problem abstraction and stepwise refinement through the "Programmer's Algorithm." Staugaard first emphasizes the structured (procedural) paradigm, then gradually advances to the object-oriented paradigm-using object-oriented programming "seed topics." This approach prepares students for in-depth coverage of classes and objects presented later in the text, while building essential structured programming concepts.

"synopsis" may belong to another edition of this title.

From the Back Cover:

The third edition of this successful introductory programming text by Andrew C. Staugard, Jr., emphasizes problemsolving techniques using the C++ language. Emphasizing problem solving throughout the book and a gentle introduction to object-oriented programming, this accessible text provides readers with a thorough foundation in programming using the C++ language.

KEY FEATURES:
  • Excellent pedagogy including programming, style, and debugging tips, caution boxes, notes, and case studies within each chapter, "quick-check" exercises at the end of each chapter section, as well as questions and problems at. the end of each chapter.
  • NEW. Addition of special learning modules including GUI programming, graphics programming, and software engineering using the UML.
  • NEW. A free CD containing Microsoft's Visual Studio C++ 6.0, Introductory Edition, along with a special tutorial on how to use the software.
  • NEW. Treatment of the ANSI/ISO Standard Template Library (STL)—string, vector, stack, queue, and list classes.
  • NEW. Companion Web site with on-line review tests that are graded on-line for immediate feedback as well as downloadable files for all text example and case study code.
  • Comprehensive development of stack, queue, and linked list ADTs.

Excerpt. Reprinted by permission. All rights reserved.:

Welcome to the third edition of my C++ text. The highly successful first edition was one of the first textbooks available for teaching C++ in the first programming course. The text was introduced at the 1994 ACM Conference in Phoenix when many were arguing the virtues of teaching C++ and OOP versus Pascal and structured programming in the first programming course. I argued at that time, and still argue, that students need to be taught problem solving early-on using both the structured and object-oriented paradigms and, because of its hybrid nature, C++ is the only language suited to learning both of these paradigms. Since then, many institutions have made the switch from Pascal to C++ for just this reason, as well as the intense industry support for the C++ language. As a result, this third edition continues to provide an introduction to both structured and object-oriented problem solving techniques using the C++ language. Of course, many improvements have been made based on using the text in numerous classrooms all over the world since 1994.

As with earlier editions, the text starts from the beginning, assuming no previous knowledge of C, or any other programming language. The text is appropriate for any introductory programming (CSl) course using the C++ language as well as experienced programmers wanting an introduction to structured and object-oriented problem solving techniques using the C++ language.

New features in this third editions include:

  • An introductory "getting acquainted" chapter that provides an overview of basic hardware and software concepts and gets students started early with the proverbial "Hello World" program.
  • A comprehensive Visual C++ tutorial in Appendix C using Microsoft's popular Visual Studio integrated development environment (IDE).
  • Learning modules strategically placed throughout the text on topics of GUIs, graphics, and software engineering. These modules are optional, but encouraged to provide a rich background for further study of these important topics.
  • The use of the Unified Modeling Language (UML) class diagrams for object-oriented design.
  • A series of software engineering modules that follow the Foo.com company programming team from a disastrous build-it, fix-it spaghetti code program, to a structured design, and finally an object-oriented design of their program using the Unified Modeling Language, UML. With these modules, the student gets an understanding of the bigger software engineering picture. In addition, the UML module prepares the student for planning and designing their own classes in Chapter 10.
  • The use of the ANSI/ISO string class throughout. However, C-strings are also covered in the chapter on arrays.
  • Coverage of the ANSI/ISO Standard Template Library (STL) vector, stack, queue, and list classes.
  • A text CD that includes an introductory edition of Microsoft's Visual C++ as well as all example, case study, and Visual C++ tutorial source code.
  • An instructor's CD that includes PowerPoint presentations organized by chapter, a test bank with answer keys which includes chapter tests as well as comprehensive mid-term and final exams, the solutions to all the chapter questions and programming problems, and all the example, case study and tutorial source code.
  • A companion Web site at www.prenhall.com/staugaard that includes chapter objectives, on-line review tests that are automatically graded, a glossary of terms, downloadable example, case study and tutorial source code, and a syllabus manager.

APPROACH

The text emphasizes problem solving techniques using the C++ language. In fact, problem solving is the essential theme throughout the text. The student begins mastering the art of problem solving in Chapter 2, using problem abstraction and stepwise refinement via the "Programmer's Algorithm." Emphasis is first based on the structured (procedural) paradigm building gently into the object-oriented paradigm using seeds planted in the earlier chapters. This approach gradually prepares the student for in-depth coverage of classes and objects later in the text, while building essential structured programming concepts.

This third edition is based on the highly successful earlier editions that have been widely used in CS1 courses since 1994. Previous editions have been adopted at large and small institutions alike. One of the many reasons for the success of these earlier editions is that the text is highly readable and student oriented, with a teachable pedagogy and excellent features. The text provides sufficient material for a fast-paced one semester course or slower paced two semester course sequence.

FEATURES

  • Highly readable and student oriented.
  • Thoroughly instructor arid student tested via first and second edition adoptions at large and small institutions alike.
  • Early introduction to problem abstraction and stepwise refinement in Chapter 2 and used as a theme throughout the text using "Problem Solving In Action" case studies.
  • A gentle introduction to classes and objects, beginning in Chapter 2. In-depth coverage of C++ classes and objects in Chapter 10.
  • The "Programmer's Algorithm": A step-by-step process used to get students started on the right programming tract by considering problem definition, solution planning via algorithms, and good documentation. Problem solving using problem abstraction and stepwise refinement, prior to coding, is stressed throughout the text. All "Problem Solving in Action" case studies follow these proven software engineering techniques.
  • Tip and note boxes for students throughout.
  • Section-by-section quick-check exercises for students to check their progress with all answers in an appendix.
  • Examples that pose problems and then give solutions immediately.
  • Chapter questions with solutions on an instructor's CD.
  • Chapter programming problems with solutions on an instructor's CD.
  • Comprehensive glossary of general computer science as well as object-oriented programming terms.

TO THE INSTRUCTOR

This text has been written to teach structured and object-oriented problem solving techniques using the C++ language at the freshman level in a CS1 type of course. In today's market, it is imperative that students know both paradigms. Students need to understand the roles of and relationship between classes and objects early-on while at the same time learning classic program structuring techniques. I have found that there is no "paradigm shift" when class and object concepts are integrated into the structured paradigm. Structured, or procedural, programming is built around functions, and object-oriented programming is built around classes. Do the two have any relationship whatsoever? Yes! The classes that we build are constructed using elements of structured programming, namely functions. As a result, the structured paradigm is embedded within the object-oriented paradigm. This is why we need to study structured programming first, integrating object-oriented concepts where the opportunity arises, and gently move into object-oriented programming.

Some will say that you can't teach programming using C++, because the language is too complicated. I disagree. There is no need to teach every detail of the language in a beginning course. I have used a subset of C++ to teach fundamental structured and object-oriented concepts and have found that beginning students do not have any more difficulty using C++ than Pascal or JAVA with this approach. In addition, learning C++ has the added benefit for the student of learning a very widely used industry standard.

The text can be taught in one or two terms, depending on the ability of the students. In a two term sequence, I would suggest coverage through the topic of functions (Chapters 18). Then, begin the second term with arrays and finish out the book (Chapters 9-15). Make sure to cover the strategically placed learning modules on software engineering. These modules provide the student with an understanding of the bigger software engineering picture.

The text begins with a "getting acquainted" chapter that provides an overview of fundamental hardware/software concepts and ends with a section on getting started with C++. If you are using Visual C++, I suggest that you assign the first part of the Visual C++ tutorial in Appendix C at this time so that students learn how to enter, compile, and execute a C++ program in the Visual C++ environment. Chapter 2 is devoted entirely to problem solving using problem abstraction and stepwise refinement. These concepts are presented in detail here and used as a theme throughout the text. The chapter discusses problem solving using what I call "The Programmer's Algorithm" and should be covered thoroughly. The programmer's algorithm is a step-by-step process that I have used to get students started on the right programming track by considering problem definition, step-by-step solution planning via algorithms, and good documentation. I have employed a pseudocode algorithmic language for problem solution that is generic, simple, and allows for easy translation to the coded C++ program.

Chapter 3 introduces the concepts of data abstraction and ADTs as well as traditional data types, classes, and objects. Here is where we begin planting the seeds of object-orientation to prevent any possible "paradigm shift" for the student when object-oriented programming is covered in-depth in Chapter 10. 1 suggest that you emphasize the concepts of classes, objects, and ADTs here to get students accustomed to object-oriented concepts. In addition, Chapter 3 introduces students to C++ functions, the common denominator of both paradigms.

In Chapters 4-7, students learn about program 1/O, decision making, and iteration. These chapters provide the "nuts and bolts" required to write workable C++ programs. The ...

"About this title" may belong to another edition of this title.

Top Search Results from the AbeBooks Marketplace

1.

Staugaard, Andrew C.
Published by Prentice Hall
ISBN 10: 0130284513 ISBN 13: 9780130284518
New PAPERBACK Quantity Available: 1
Seller
Your Online Bookstore
(Houston, TX, U.S.A.)
Rating
[?]

Book Description Prentice Hall. PAPERBACK. Book Condition: New. 0130284513 Ships promptly. Bookseller Inventory # HGT3150EGIF070216H1470A

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 9.83
Convert Currency

Add to Basket

Shipping: FREE
Within U.S.A.
Destination, Rates & Speeds

2.

Andrew C., Jr. Staugaard
ISBN 10: 0130284513 ISBN 13: 9780130284518
New Quantity Available: 1
Seller
Castle Rock
(Pittsford, NY, U.S.A.)
Rating
[?]

Book Description Book Condition: Brand New. Book Condition: Brand New. Bookseller Inventory # 97801302845181.0

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 17.15
Convert Currency

Add to Basket

Shipping: US$ 3.99
Within U.S.A.
Destination, Rates & Speeds

3.

Andrew C. Staugaard
Published by Prentice Hall (2001)
ISBN 10: 0130284513 ISBN 13: 9780130284518
New Paperback Quantity Available: 1
Seller
Ergodebooks
(RICHMOND, TX, U.S.A.)
Rating
[?]

Book Description Prentice Hall, 2001. Paperback. Book Condition: New. 3. Bookseller Inventory # DADAX0130284513

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 20.25
Convert Currency

Add to Basket

Shipping: US$ 3.99
Within U.S.A.
Destination, Rates & Speeds

4.

Andrew C. Staugaard
Published by Prentice Hall (2001)
ISBN 10: 0130284513 ISBN 13: 9780130284518
New Paperback Quantity Available: 1
Seller
Irish Booksellers
(Rumford, ME, U.S.A.)
Rating
[?]

Book Description Prentice Hall, 2001. Paperback. Book Condition: New. book. Bookseller Inventory # 0130284513

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 32.14
Convert Currency

Add to Basket

Shipping: FREE
Within U.S.A.
Destination, Rates & Speeds

5.

Staugaard, Andrew C.
Published by Prentice Hall (2001)
ISBN 10: 0130284513 ISBN 13: 9780130284518
New Paperback Quantity Available: 2
Seller
Murray Media
(North Miami Beach, FL, U.S.A.)
Rating
[?]

Book Description Prentice Hall, 2001. Paperback. Book Condition: New. Bookseller Inventory # P110130284513

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 35.95
Convert Currency

Add to Basket

Shipping: US$ 2.99
Within U.S.A.
Destination, Rates & Speeds

6.

Staugaard, Andrew C.
Published by Prentice Hall
ISBN 10: 0130284513 ISBN 13: 9780130284518
New PAPERBACK Quantity Available: 1
Seller
Cloud 9 Books
(Wellington, FL, U.S.A.)
Rating
[?]

Book Description Prentice Hall. PAPERBACK. Book Condition: New. 0130284513 New Condition. Bookseller Inventory # NEW6.0043172

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 59.99
Convert Currency

Add to Basket

Shipping: US$ 4.99
Within U.S.A.
Destination, Rates & Speeds