CHEN 2450 – Numerical Methods – Spring 2020

Instructor: Prof. Tony Saad
Phone Number: 801 585 0344
Tu/Th 2:00 PM – 3:20 PM – WEB 2250
Office Hours: Tuesdays from 3:30 PM to 4:30 PM or by appointment
Office Location: CME 115

Previous Installments of this course

Fall 2017, Fall 2018

Course Catalog Description

Applications of numerical methods to interpolation, differentiation, integration, and the solution of systems of linear, nonlinear, and differential equations in chemical engineering.

Learning Outcomes and Topics:

The primary goal of this course is to provide engineering students with a basic working knowledge of numerical methods. In addition, this course aims at developing an appreciation of programming and how computers can be an asset for the modern-day engineer.

My goals in this class are to:

    1. Teach you the importance of numerical methods
    2. Introduce you to the skills needed by modern engineers
    3. Emphasize the importance of knowing a few programming languages
    4. Emphasize learning and critical thinking

By the end of this class, students will have a working knowledge of the following:

  • Errors
    • Absolute and relative errors
    • True and approximate error
    • Sources of numerical errors: Roundoff, truncation, and iterative errors
  • Solution of linear systems of equations
    • Direct and iterative solution methods
    • Sparse matrices
    • Pivoting and diagonal dominance
    • Tridiagonal systems (TDMA)
    • Jacobi, Gauss-Seidel, and SOR
  • Interpolation
    • Linear, polynomial, and cubic splines
    • 2D interpolation
  • Regression
    • Linear and nonlinear least-squares regression
  • Solution of nonlinear equations
    • Open and closed domain methods
    • Newton’s method
    • Systems of nonlinear equations
  • Numerical differentiation
  • Numerical integration
    • Newton-Cotes integration: midpoint, trapezoid, and Simpson’s rules
    • Numerical integration of discrete data
  • Solution of ordinary differential equations (ODEs)
    • Initial and boundary value problems
    • Explicit and implicit methods
    • Basic ODE stability
    • Systems of ODEs
    • Finite difference methods
  • Introduction to PDEs

The following are listed as prerequisites and co-requisites for ChEn 2450:

  • Prerequisites:  ChEn 1703,  Algebra & calculus
  • Corequisite: Math 2250 – Ordinary differential equations & Linear Algebra

Textbook & Reading Material:

There is no textbook for this class. Material presented in this class will be based on the following resources:

  • Chapra, S. C., & Canale, R. P. (2010). Numerical methods for engineers , 7th edition. Boston: McGraw-Hill Higher Education

Lecture Notes

You can watch all recorded lectures on Dr. Saad’s youtube channel. Subscribe to the channel to receive regular updates.


Lecture Notes (PDF/Web)






Tuesday, 01/07/2020

1. Introduction.pdf
2. Python Primer

Introduction, Jupyter notebook, Python.

1. Introduction
2. Why Python?
Jupyter guide


Thursday, 01/09/2020

1. EasyPy
2. Errors.pdf

Python tutorial. Measuring errors, true errors, absolute and relative errors.

1. EasyPy
2. Errors 1

HW1 Assigned


Tuesday, 01/14/2020

Approximate error, Sources of error, Roundoff, Truncation, and Iterative errors. 1. Errors 2


Thursday, 01/16/2020

Linear Solvers.pdf 1. Finish off discussion on errors.
2. Introduction to systems of linear equations, sparse matrices.
1. Errors 3
2. Linear Solvers 1
Linear algebra refresher HW2 Assigned


Tuesday, 01/21/2020

1. Go over homework 1
2. Continue discussion on the TDMA
3. Heat transfer example for TDMA
1. HW1 Solution
2. Linear Solvers 2


Thursday, 01/23/2020

1. Continue with the heat transfer example
2. Start on Iterative Solvers
1. Heat Transfer Example
2. Iterative Solvers 1
HW3 Assigned


Tuesday, 01/28/2020

1. Solve HW2
2. Iterative Solvers 2: Error Norms
1. HW2 Sol
2. Iterative Solvers 2


Thursday, 01/30/2020

1. Gauss-Seidel, SOR
2. Sparse matrix storage
3. Iterative Solvers in Python
HW4 Assigned


Tuesday, 02/04/2020

Iterpolation.pdf 1. Interpolation 1 1. Interpolation 1 (video)


Thursday, 02/06/2020

1. Interpolation 2 1. Interpolation 2 (video) HW5 Assigned


Tuesday, 02/11/2020


1. Regression 1

1. Regression 1 (video) Least Squares Example 1.ipynb


Thursday, 02/13/2020

1. Go over HW 4
2. Continue Regression
(no audio on screencast – sorry)

Tuesday, 02/18/2020

1. Solve HW5
2. Exam 1 Review
2. Regression 3
Regression 3 (video)


Thursday, 02/20/2020

Exam 1 Study Guide.pdf
Exam 1 Review.pdf
Practice Exam 1.pdf
Exam 1(Errors, Linear Systems, and Interpolation)


Tuesday, 02/25/2020

Regression Regression 4


Thursday, 02/27/2020

Regression (no audio on screencast – sorry) HW 6 Assigned


Tuesday, 03/03/2020

Integration.pdf Numerical Integration


Thursday, 03/05/2020

Differentiation.pdf Numerical Differentiation HW 7 Assigned


Tuesday, 03/10/2020




Thursday, 03/12/2020




Tuesday, 03/17/2020



Thursday, 03/19/2020

Nonlinear Solvers.pdf Intro to nonlinear solvers (Video)
The Bisection Method (video)
The Method of False Position (video)
The Secant Method (video)
Newton’s Method (video)
Root Finding Methods.ipynb


Tuesday, 03/24/2020

Systems of Nonlinear Equations (video) Nonlinear System Demo.ipynb


Thursday, 03/26/2020

Exam 2 Review and other items


Tuesday, 03/31/2020

Exam 2 study guide.pdf
Exam 2 review.pdf
Practice exam 2.pdf
EXAM 2 (Regression, Integration & Differentiation, Nonlinear Solvers)


Thursday, 04/02/2020

Ordinary Differential Equations.pdf ODEs 1
Explicit Time Integration.ipynb

Motivation for Implicit Methods.ipynb

Cyclical Systems.ipynb

System of Equations – Kinetics Example.ipynb


Tuesday, 04/07/2020

ODEs 2


Thursday, 04/09/2020

ODEs 3 (video) HW8 Assigned


Tuesday, 04/14/2020

ODEs 4


Thursday, 04/16/2020

ODEs 5


Tuesday, 04/21/2020

Wrap up and Review


Friday, 04/24/2020





Administrative Information

See here for fall semester schedule:

Event Date
Semester Length Classes
Classes begin Monday, January 6
Last day to add without a permission code Friday, January 10
Last day to wait list Friday, January 10
Last day to add, drop (delete), elect CR/NC, or audit classes Friday, January 17
Last day to withdraw from classes Friday, March 6
Last day to reverse CR/NC option Friday, April 17
Classes end Tuesday, April 21
Reading Day Wed, April 22
Final exam period Thurs-Wed, April 23-April 29
  • Getting Help: Meeting times: coming soon
  • Discussion sections: coming soon
  • Teaching Assistants: coming soon
  • College of engineering guidelines discusses withdrawal policies, ADA policies, etc.
  • Attend the discussion section you are registered for.  You may attend other ones in addition for extra help.
  • Use the course website, lectures, and online resources.
  • If all the above fails, then feel free to stop by and we can discuss any gaps in your understanding of the subject matter.


This class will make exclusive use of Python – a modern programming language that is suitable for scientific computing. Python is easy to use and  – most importantly – free!

We will also focus on using Python within Jupyter Notebooks: a great way to combine text, math, and programming into one document that is edited and executed in a web browser (See this example). You will learn about that in the class. You will also have access to python through your web browser (after the class starts). If you want to download your own Python + Jupyter Notebook, then download the Anaconda distribution here.

Please go here for an easy tutorial on Python by Prof. Saad. In addition, Prof. Saad will hold a few in-class lectures on learning Python.

Accessing Matlab

There are several options for accessing MATLAB.

  • The most convenient for ChEn students is probably via the ICC (MEB 2285), which is a Chemical Engineering computer lab.  To set up an account, follow this link.  You can also gain remote access to this lab from any computer with a (fast) network connection.
  • You can purchase the student version of MATLAB.  There are also several free MATLAB alternatives, including Octave and FreeMAT.  These don’t have all of the features of MATLAB, but are probably sufficient for what you will need in this class.
  • The CADE lab in WEB has Windows (WEB 210), Mac (WEB 210) and Linux (WEB 246) computers. Walk in and find one of the system administrators to get set up with an account.  Also, you can access the Linux machines remotely if you have a fast internet connection.  Only try this if you are familiar with X-windows and SSH.
  • Library computers running Windows.  (I don’t think that MATLAB is installed on the Mac computers in the library)


I will use your Email address to communicate with you and send information to class. Please make sure that you have access to your utah email address.


  • Homework is a fundamental piece of the learning process. It will help you strengthen the concepts you learned in class and apply them to new problems.
  • The goal of homework is to get you to familiarize yourself with the nomenclature and the types of problems that can be solved with numerical methods.
  • Homework assignments will be posted on Canvas. Unless otherwise stated, homework is due by the beginning of class on the date indicated on the schedule.
  • Solutions will be discussed in class the day after the homework is due.
  • Feel free to “work together” on homework assignments. Discuss the various solutions methods and attempt to learn or fill deficits in your understanding of the subject matter. However, you must submit your own original work. Please do not cross the line of plagiarism and cheating. Such behavior will not be tolerated.
  • Homework assignments must be submitted electronically via Canvas. Your report should be submitted as a single Jupyter notebook (.ipynb) that combines both a reasonable discussion of your results as well as your code. If your code does NOT run, it will be assumed that it does not work.

In-Class comprehension quizzes

Every now and then, I will give you a short “comprehension” quiz. The quiz should take no more than five minutes to complete and will address the comprehension aspect of numerical methods. For example: What do you use interpolation for? Give an example of where linear systems arise?

The quiz will also challenge your critical thinking. For example, if the temperature at 8 AM was 25 degrees and at 9 AM it was 35 degrees. An engineer estimated the temperature at 8:30 AM to be 55 degrees. Does this make sense?

These quizzes are aimed to test your understanding of the subject matter in “words”.

Grading policy (tentative)

  • 20% each midterm exam (two midterms)
  • 25% Homework
  • 10% In-Class comprehension quizzes
  • 25% Final exam

Grades will be assigned on the following scale, normalized to the highest student in the class (who, by definition, is 100%)

  • 92< A ≤ 100,   89 < A- ≤ 92
  • 86 < B+ ≤ 89,   81 < B ≤ 86,   78 < B- ≤ 81
  • 75 < C+ ≤ 78,   70 < C ≤ 75,   67 < C- ≤ 70
  • 64 < D+ ≤ 67,   59 < D ≤ 64,   56 < D- ≤ 59
  • E ≤ 56

I reserve the right to adjust this scale downward if I deem it necessary.

Addressing Sexual Misconduct

Title IX makes it clear that violence and harassment based on sex and gender (which includes sexual orientation and gender identity/expression) is a Civil Rights offense subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, color, religion, age, status as a person with a disability, veteran’s status or genetic information. If you or someone you know has been harassed or assaulted, you are encouraged to report it to the Title IX Coordinator in the Office of Equal Opportunity and Affirmative Action, 135 Park Building, 801-581-8365, or the Office of the Dean of Students, 270 Union Building, 801-581-7066. For support and confidential consultation, contact the Center for Student Wellness, 426 SSB, 801-581-7776. To report to the police, contact the Department of Public Safety, 801-585-2677(COPS).

Academic Misconduct

All instances of academic misconduct will be handled in accordance with the Student Code (

Students with Disabilities (ADA)

The University of Utah seeks to provide equal access to its programs, services, and activities for people with disabilities. If you will need accommodations in this class, reasonable prior notice needs to be given to the Center for Disability Services, 162 Olpin Union Building, (801) 581-5020. CDS will work with you and the instructor to make arrangements for accommodations. All written information in this course can be made available in an alternative format with prior notification to the Center for Disability Services.