Engineering Problem Solving with C++

3 avg rating
( 6 ratings by GoodReads )
 
9780130912664: Engineering Problem Solving with C++

For one/two semester courses in Engineering and Computer Science at the freshman/sophomore level. This introduction to engineering problem solving with ANSI C++ programming language employs an easy-to-read problem solving methodology to consider a diverse range of Grand Challenges. The emphasis on engineering and scientific problem solving remains an integral part of the text. An object-based programming approach is utilized starting with Chapter 8.

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

From the Back Cover:

Best-selling author Delores M. Etter and computer science and engineering educator coauthor Jeanine A. Ingber provide an introduction to engineering problem solving with an object-based programming approach using the ANSI C++ programming language. The authors employ an easy-to-use problem solving methodology to consider a diverse range of grand challenges, including prediction of weather, climate, and global change; computerized speech understanding; mapping of the human genome; improvement in vehicle performance; enhanced oil and gas recovery; and engineering simulation. The emphasis on engineering and scientific problem solving remains as an integral part of the text.

Introduces engineering problem solving with the following objectives:

  • To develop a consistent methodology for solving engineering problems.
  • To illustrate the problem-solving process with C++ through a variety of engineering examples and applications.
  • To introduce the concept of object-based programming and the features of C++ that support it, while focusing on the fundamentals of programming.

Key features:

  • Presents a five-step process used consistently throughout the text for solving engineering problems.
  • Introduces objects early in the discussion of data types and standard input and output.
  • Discusses fundamental capabilities of C++ for solving engineering problems, including control structure, data files, and functions.
  • Provides flexibility in covering topics.
  • Exposes the reader to the template functions.
  • Addresses one-dimensional arrays and Matrices with an introduction to the vector class.
  • Explains programmer-defined classes, including overloaded operators and inheritance.
  • Explores the use of pointers and dynamic memory allocation.
  • Includes an introduction to dynamic data structures using classes supported in the C++ Standard Library.
  • Offers an Instructor's Resource CD-ROM with Microsoft PowerPoint presentations.

Excerpt. © Reprinted by permission. All rights reserved.:

Object-based programming is used in many fields of engineering and science and is likely to be seen in the workplace. C++ is an object-based programming language derived from the C programming language, which makes it a good choice for an introduction to computing course for engineers and scientists. Using C++, object-based design and programming can be introduced early while focusing on the basic control structures, data structures, and functions necessary for scientific programming. The features of the C programming language that make it attractive for system-level operations are supported by C++, making the latter one of the most powerful and versatile programming languages available. This text was written to introduce engineering problem solving with an object-based programming approach. Our objectives are the following:

  • to develop a consistent methodology for solving engineering problems,
  • to present the object-based features of C++ while focusing on the fundamentals of programming,
  • to illustrate the problem-solving process with C++ through a variety of engineering examples and applications,
  • to provide an easy-to-understand, integrated introduction to function templates and classes defined in the Standard C++ Library.

To accomplish these objectives, Chapter 1 presents a five-step process that is used consistently in the rest of the text for solving engineering problems. Chapter 2 introduces the use of predefined objects and member functions in the discussion of data types and standard input and output. Chapters 3-5 present the fundamental capabilities of C++ for solving engineering problems, including control structures, data files, and functions. Chapters 6 and 7 present arrays and introduce the reader to function templates and the vector class. Chapter 8 is an introduction to programmer-defined classes. Chapter 9 introduces the use of pointers, dynamic memory allocation, and classes defined in the Standard C++ library to implement dynamic data structures. Chapter 10 provides a more in-depth look at classes, including overloading operators, inheritance, and virtual functions. Throughout all these chapters, we present a large number of examples from many different engineering, science, and computer science disciplines. The solutions to these examples are developed using the five-step process and Standard C++.

Prerequisites

No prior experience with the computer is assumed. The mathematical prerequisites are college algebra and trigonometry. Of course, the initial material can be covered much faster if the student has used other computer languages or software tools.

Course Structure

The material in these chapters was selected to provide the basis for a one-term course in engineering and scientific computing. These chapters contain the essential topics of mathematical computations, character data, control structures, functions, arrays, classes, and pointers. Students with background in another computer language should be able to complete this material in one semester. A minimal course that provides only an introduction to C++ can be designed using the nonoptional sections of the text. (Optional sections are indicated in the Contents with an *.) Three ways to use the text, along with the recommended chapter sections, are

  • Introduction to C++. Many freshman introductory courses introduce the student to several computer tools in addition to an introduction to a language. For these courses, we recommend covering the nonoptional sections of Chapters 1-7. This material introduces students to the fundamental capabilities of C++, and they will be able to write substantial programs using mathematical computations, character data, control structures, functions, and arrays.
  • Problem Solving with C++. In a semester course devoted specifically to teaching students to master the C++ language, we recommend covering all nonoptional sections of Chapters 1-10. This material covers all the fundamental concepts of the C++ language, including mathematical computations, character data, control structures, functions, arrays, classes, and pointers.
  • Problem Solving with C++ and Numerical Techniques. Upper-level students or students who are already familiar with other high-level languages will be able to cover the material in this text very quickly. In addition, they will be able to apply the numerical technique material to their other courses. Therefore, we recommend that these students cover all sections of Chapters 1-10, including the optional material.

The chapters in this text were designed to give the instructor flexibility in the ordering of topics, especially regarding the decision of when to cover classes: before or after arrays. The introductory chapter on classes does not depend on the chapters on arrays, and the chapters on arrays do not depend on the introductory chapter on classes. The dependency chart on the next page illustrates the dependency of chapters.

Problem-Solving Methodology

The emphasis on engineering and scientific problem solving is an integral part of the text. Chapter 1 introduces a five-step process for solving engineering problems using the computer:

  1. State the problem clearly.
  2. Describe the input and output information, and determine required data types.
  3. Work a simple example by hand.
  4. Develop an algorithm and convert it to a computer program.
  5. Test the solution with a variety of data.

To reinforce the development of problem-solving skills, each of these five steps is clearly identified each time that a complete engineering problem is solved. In addition, top-down design and stepwise refinement are presented with the use of decomposition outlines, pseudocode, and flowcharts.

Engineering and Scientific Applications

Throughout the text, emphasis is placed on incorporating real-world engineering and scientific examples and problems. This emphasis is centered around a theme of grand challenges, which include

  • prediction of weather, climate, and global change
  • computerized speech understanding
  • mapping of the human genome
  • improvements in vehicle performance
  • enhanced oil and gas recovery
  • simulation

Each chapter begins with a photograph and a discussion of some aspect of one of these grand challenges that provides a glimpse of some of the exciting and interesting areas in which engineers might work. Later in the chapter, we solve a problem that not only relates to the introductory problem, but also has applications in other problem solutions. The grand challenges are also referenced in many of the other examples and problems.

Standard C++

The statements presented and all programs developed use C++ standards developed by the International Standards Organization and American National Standards Institute (ISO/ANSI) C++ Standards committee. ISO and ANSI together have published the first international standard for the C++ programming language. By using Standard C++, students learn to write portable code that can be transferred from one computer platform to another. Many of the standard capabilities of the C++ programming language are discussed in the text. Additional components of the C++ standard library are discussed in Appendix A.

Software Engineering Concepts

Engineers and scientists are expected to develop and implement user-friendly and reusable computer solutions. Learning software engineering techniques is therefore crucial to successfully developing these computer solutions. Readability and documentation are stressed in the development of programs. Additional topics that relate to software engineering issues are discussed throughout the text and include issues such as software life cycle, portability, maintenance, modularity, recursion, abstraction, reusability, structured programming, validation, and verification.

Four Types of Problems

Learning any new skill requires practice at a number of different levels of difficulty. We have developed four types of exercises that are used throughout the text to develop problem-solving skills. The first set of exercises is Practice! problems. These are short-answer questions that relate to the section of material just presented. Most sections are immediately followed by a set of Practice! problems so that students can determine if they are ready to continue to the next section. Complete solutions to all the Practice! problems are included at the end of the text.

The Modify! problems are designed to provide hands-on experiences with the programs developed in the Problem-Solving Applied sections. In these sections, we develop a complete C++ program using the five-step process. The Modify! problems ask students to run the program (which is available on our Instructor's Resource CD) with different sets of data to test their understanding of how the program works and of the relationships among the engineering variables. These exercises also ask the students to make simple modifications to the program and then run the program to test their changes.

Most chapters end with a set of Exam Practice! problems, and every chapter includes a set of Programming Problems. The Exam Practice! problems are short-answer questions that relate to the material covered in the chapter. These problems help students determine how well they understand the features of C++ presented in the chapter. The Programming Problems are new problems that relate to a variety of engineering applications, and the level of difficulty ranges from very straightforward to longer project assignments. Each programming problem requires that the student develop a c...

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

Top Search Results from the AbeBooks Marketplace

1.

Delores M. Etter, Jeanine A. Ingber
Published by Prentice Hall (2002)
ISBN 10: 0130912662 ISBN 13: 9780130912664
New Paperback Quantity Available: 1
Seller
Ergodebooks
(RICHMOND, TX, U.S.A.)
Rating
[?]

Book Description Prentice Hall, 2002. Paperback. Book Condition: New. Bookseller Inventory # DADAX0130912662

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 45.75
Convert Currency

Add to Basket

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

2.

Etter, Delores M.; Ingber, Jeanine A.
Published by Prentice Hall (2002)
ISBN 10: 0130912662 ISBN 13: 9780130912664
New Paperback Quantity Available: 1
Seller
Irish Booksellers
(Rumford, ME, U.S.A.)
Rating
[?]

Book Description Prentice Hall, 2002. Paperback. Book Condition: New. book. Bookseller Inventory # 0130912662

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 50.88
Convert Currency

Add to Basket

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

3.

Etter, Delores M.; Ingber, Jeanine A.
Published by Prentice Hall
ISBN 10: 0130912662 ISBN 13: 9780130912664
New PAPERBACK Quantity Available: 1
Seller
Cloud 9 Books
(West Palm Beach, FL, U.S.A.)
Rating
[?]

Book Description Prentice Hall. PAPERBACK. Book Condition: New. 0130912662 New Condition. Bookseller Inventory # NEW6.0045329

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 49.99
Convert Currency

Add to Basket

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