Courses / DescriptionsEECS 328: Numerical Methods for Engineers
Quarter OfferedNone ;
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.
- This course fulfills the Interfaces breadth & Interfaces depth requirement.
REQUIRED TEXT: Michael Heath, Scientific Computing: 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
- 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
- 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.