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.
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:
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:
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.
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.
Book Description Prentice Hall. PAPERBACK. Book Condition: New. 0130284513. Bookseller Inventory # HGT3150EGIF070216H1470A
Book Description Prentice Hall, 2001. Paperback. Book Condition: New. book. Bookseller Inventory # 0130284513
Book Description Prentice Hall, 2001. Paperback. Book Condition: New. 3. Bookseller Inventory # DADAX0130284513
Book Description Prentice Hall, 2001. Book Condition: New. Brand New, Unread Copy in Perfect Condition. A+ Customer Service!. Bookseller Inventory # ABE_book_new_0130284513
Book Description Book Condition: Brand New. Book Condition: Brand New. Bookseller Inventory # 97801302845181.0
Book Description Prentice Hall, 2001. Paperback. Book Condition: New. New item. Bookseller Inventory # QX-005-31-0834100