## EECS 328 - Numerical Methods for Engineers

**CATALOG DESCRIPTION: **Introduction to numerical methods; numerical differentiation, numerical integration, solution of ordinary and partial differential equations. Students write programs in C++, FORTRAN, C, or Matlab using methods presented in class.

**REQUIRED TEXT: **Michael Heath, *Scientific Computin**g: An Introductory Survery*, McGraw Hill, 2nd edition, Primis ISBN: 978-0-390-90302-0

**REFERENCE TEXTS: **None

**COURSE COORDINATOR: **Jorge Nocedal

**COURSE GOALS: **To teach basic numerical methods required for typical engineering and business applications. Give students experience in understanding the properties of different numerical methods so as to be able to choose appropriate methods and interpret the results for engineering problems that they might encounter. Students will implement and study some of the numerical methods using C++, C, FORTRAN, MATLAB or some other high-level language. Emphasis is given to the graphical representation of results.

**PREREQUISITES **: GEN_ENG 205-1,2,3 and MATH 220, 224, 230

**PREREQUISITES BY TOPIC:**

- Computer programming
- Calculus
- Differential equations
- Linear Algebra

**DETAILED COURSE TOPICS**

**Week 1: **Computer Arithmetic**Week 2: **Linear Algebra and Matrices**Week 3: **Gaussian elimination and LU factorization**Week 4: **Nonlinear Equations and Optimization**Week 5: **Polynomial interpolation**Week 6: **Splines**Week 7: **Numerical methods for integration**Week 8: **Gaussian Quadrature**Week 9: **Numerical Methods for Ordinary Differential Equations**Week 10: **Initial value problems including stiff equations.

**COMPUTER USAGE: **There are five programming assignments. Students can use a PC or a workstation and are required to master a program such as MATLAB OR MATHEMATICA that will allow them to produce graphical representations of their results.

**LABORATORY PROJECTS: **None

**GRADES:**

- Homework - 55 %
- Midterm - 20 %
- Final - 25 %

**COURSE OBJECTIVES: When a student completes this course, s/he should be able to:**

• Understand the type of numerical problem he/she is facing and relate it to one of the problem classes discussed in the course.

• Find a numerical routine that will solve the engineering problem, or use one of the numerical tools such as MATLAB or MATHEMATICA.

• Design a driver that will use a number of numerical routines to perform the desired task.

• Interpret numerical results and devise graphical representations that facilitate their analysis

• Understand the fundamental properties of computer arithmetic. Differentiate between the errors caused by computer arithmetic and those caused by the limitations of the algorithms

• Predict the difficulties that may occur in solving an engineering problem due to (1) problem size (2) conditioning (3) errors in the data

• Understand the concepts of ill-conditioned and well posed problems, and identify important classes of problems (such as nearly singular systems of equations) that are difficult to solve

• Understand the tradeoffs between speed and memory, or speed and robustness that often occur in practical algorithms.

**ABET CONTENT CATEGORY: **50% Math and Basic Science, 50% Engineering.