Introduction to Scientific Computing and Computer-Aided Engineering

Introduction to Scientific Computing and Computer-Aided Engineering
Computer programming for engineers taught in context of solving physical systems using numerical methods. Student will program solutions using the C++ language, spreadsheets, symbolic solvers, etc.
 Hours3.0 Credit, 2.0 Lecture, 3.0 Lab
 PrerequisitesMATH 113; Math 302 or 314 or concurrent.
 TaughtFall, Winter, Spring
 ProgramsContaining ME EN 273
Course Outcomes

Role of Numerical Solutions

1. Understand the role of numerical solutions in the engineering process of design and analysis. Understand how integers and real numbers are stored inside the computer. Understand the limitations associated with numerical solutions, including accuracy due to approximations and round-off error.

Modern Numerical Methods

2. Find roots of equations using various modern numerical methods.

Linear Systems of Equations

3. Solve linear systems of equations using Gauss elimination, LU decomposition and/or matrix inversion. Understand the concept of matrix condition number.

Basic Curve Fitting Algorithms

4. Be able to implement basic curve fitting algorithms, including least-squares regression.

Methods for Approximating Derivatives

5. Implement forward and central difference methods for approximating derivatives and the trapezoidal and Simpson's 1/3 rule for numerical integration; estimate round-off and truncation error.

Ordinary Differential Equations

6. Solve simple ordinary differential equations (initial value and boundary value problems) using basic numerical techniques.

C++ Programming

7. Using C++, write programs which use control statements and looping constructs, employ 1D and 2D arrays, call functions, and read and write to data files. Understand classes and pointers at a basic level.

Fundamentals of Software Packages

8. Use commercially available software packages, including Excel and MATLAB, to perform basic numerical tasks (calculate equations, graph data, perform curve-fitting, solve linear systems of equations, and manipulate matrices).

Real World Applications Solving: Explore

9. Learn the BYU ME methodology for exploring the solution space of engineering problems.

Real-world Problem Solving: Communicate

10. Be introduced to the importance of clear, concise, and convincing communication and apply these principles in technical reports.

Written Communication

11. Effectively communicate the methods and results of scientific computing through extended abstracts or executive summaries.