P R E FAC E This text has grown out of the authors experiences teaching introductory computation courses to engineering students from a variety of disciplines at three different institutions The integration of computational tools in engineering programs is a constant challenge for educators The broad goals associated with an introductory course in computer applications often include Teaching the concept of procedural thinking and algorithm development Teaching the mechanics of the computational tools required in both the subsequent academic program and professional practice Teaching the techniques for developing a computational solution to a physical problem Providing the context for the selection of a computational tool appropriate for the task at hand Teaching the accepted techniques for documenting and verifying computer based solutions to engineering problems Stimulating interest in upper division coursework by introducing the students to realistic interesting and exciting problems and applications This text will emphasize these concepts using MATLAB and Excel as the software packages of choice These packages were chosen because Excel is a ubiquitous spreadsheet application which nearly every engineering student will have access to during their academic and professional careers Excel has powerful built in functions that allow it to be applied to high level engineering problems Since spreadsheet solutions are so fundamentally different than the procedural solutions developed using programming tools like MATLAB the contrasting approach allows for demonstration and discussion about implication of the choice of software tool on the type and complexity of the solution technique Philosophy of the Text The underlying philosophy behind the approach taken in this text is MATLAB is widely accepted as a first computation tool in numerous engineering programs MATLAB has the unique ability to be both used as an introductory programming tool and a high level computational tool the programming constructs loops and logic allow it to be used as a first programming language for engineering students while the numerous mathematical and analysis toolboxes allow it to be readily applied to highlevel engineering applications MATLAB is a registered trademark of TheMathWorks Inc Excel is a registered trademark of The Microsoft Corporation Computer tools will change during the professional careers of a freshman engineering student While it is important to teach the mechanics of using the relevant tools the focus of this text should be on the fundamentals of engineering computing algorithm development selection of appropriate tools documentation of solutions and verification and interpretation of results Programming is a fundamental concept for engineers while shortcut solutions such as implied loops in MATLAB and canned software are certainly appropriate for upper division students and practicing engineers introductory students should be focused on the basics of structured programming loops logic and array structures These basic concepts which are language independent are the critical building blocks for programming and should be introduced early vP R E FAC E This text has grown out of the authors experiences teaching introductory computation courses to engineering students from a variety of disciplines at three different institutions. The integration of computational tools in engineering programs is a constant challenge for educators. The broad goals associated with an introductory ...course in computer applications often include: Teaching the concept of procedural thinking and algorithm development. Teaching the mechanics of the computational tools required in both the subsequent academic program and professional practice. Teaching the techniques for developing a computational solution to a physical problem. Providing the context for the selection of a computational tool appropriate for the task at hand. Teaching the accepted techniques for documenting and verifying computer-based solutions to engineering problems. Stimulating interest in upper-division coursework by introducing the students to realistic, interesting, and exciting problems and applications. This text will emphasize these concepts, using MATLAB and Excel as the software packages of choice. These packages were chosen because: Excel is a ubiquitous spreadsheet application, which nearly every engineering student will have access to during their academic and professional careers. Excel has powerful built-in functions that allow it to be applied to high-level engineering problems. Since spreadsheet solutions are so fundamentally different than the procedural solutions developed using programming tools like MATLAB, the contrasting approach allows for demonstration and discussion about implication of the choice of software tool on the type and complexity of the solution technique. Philosophy of the Text The underlying philosophy behind the approach taken in this text is: MATLAB is widely accepted as a first computation tool in numerous engineering programs. MATLAB has the unique ability to be both used as an introductory programming tool and a high-level computational tool; the programming constructs (loops and logic) allow it to be used as a first programming language for engineering students, while the numerous mathematical and analysis toolboxes allow it to be readily applied to highlevel engineering applications. MATLAB is a registered trademark of TheMathWorks, Inc. Excel is a registered trademark of The Microsoft Corporation. Computer tools will change during the professional careers of a freshman engineering student. While it is important to teach the mechanics of using the relevant tools, the focus of this text should be on the fundamentals of engineering computing: algorithm development, selection of appropriate tools, documentation of solutions, and verification and interpretation of results. Programming is a fundamental concept for engineers; while shortcut solutions (such as implied loops in MATLAB) and canned software are certainly appropriate for upper-division students and practicing engineers, introductory students should be focused on the basics of structured programming: loops, logic, and array structures. These basic concepts, which are language-independent, are the critical building blocks for programming, and should be introduced early. v