Instructor: Prof. Tony Saad
Email: tony.saad@chemeng.utah.edu
Phone Number: 801 585 0344
Office Hours: Tuesdays from 1:00 PM to 3:00 PM or by appointment
Office Location: MEB 2286
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.
Course Objectives & 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 modernday engineer.
My goals in this class are:

 Teach you the importance of numerical methods

 Introduce you to the skills needed by modern engineers

 Emphasize the importance of knowing a few programming languages
 Emphasize learning and critical thinking
Matlab is the standard software environment used for implementation and application of numerical methods.
By the end of this class, students will have a working knowledge of the following:
 Solution of linear systems of equations
 Interpolation
 Regression
 Solution of nonlinear equations
 Numerical differentiation
 Numerical integration
 Solution of ordinary differential equations (ODEs).
 Solution of elliptic and parabolic partial differential equations.
The following are listed as prerequisites and corequisites 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:
 Hoffman, J. D. (2001). Numerical methods for engineers and scientists. New York: Marcel Dekker.

Chapra, S. C., & Canale, R. P. (2010). Numerical methods for engineers . Boston: McGrawHill Higher Education.
Lecture Notes
Date  Lecture Notes (PDF/Web)  Screencast  Jupyter Notebooks  HW 

Tuesday, 08/21/2018  Introduction Why Python? 

Thursday, 08/23/2018  Python Primer Errors – Part 1 
Why Python?  HW1 Assigned  
Tuesday, 08/28/2018  Errors – Part 2  Errors – Part 2  
Thursday, 08/30/2018  Linear system: direct solvers 1  Linear Systems – Part 1  HW2 Assigned  
Tuesday, 09/04/2018  Solution to HW1 (see screencast) Solving the heat equation in Python 
Solution to HW1 Solving the heat equation in Python 

Thursday, 09/06/2018  Linear systems: iterative solvers 1  HW3 Assigned: Thomas Algorithm  
Tuesday, 09/11/2018  Linear systems: iterative solvers 2  Solution to HW2 + Continuation of Iterative Linear Solvers  
Thursday, 09/13/2018  Interpolation  Interpolation – Part 1  HW4 Assigned: Iterative Linear Solvers  
Tuesday, 09/18/2018  Solution of HW3 Interpolation 2 (use previous set of slides) 
HW3 – Solution Interpolation – Part 2 

Thursday, 09/20/2018  Regression 1  Regression 1  Least Squares Regression.ipynb  HW5 Assigned: Interapolation 
Tuesday, 09/25/2018  No notes  No screencast  
Thursday, 09/27/2018  Use previous notes on regression  Regression 2 – The Normal Equations & Nonlinear Models  Normal Equations Example – GPA.ipynb  
Tuesday, 10/02/2018  Exam 1 Review  HW 5 Solution  
Thursday, 10/04/2018  MIDTERM 1 (Errors, linear systems, and interpolation)  
Tuesday, 10/09/2018  NO CLASS – Fall Break  
Thursday, 10/11/2018  NO CLASS – Fall Break  
Tuesday, 10/16/2018  Numerical Integration  Numerical Integration  Numerical Integration Examples  
Thursday, 10/18/2018  Numerical Differentiation  Numerical Differentiation  
Tuesday, 10/23/2018  NO CLASS  NO CLASS  
Thursday, 10/25/2018  Nonlinear Equations – All Slides  HW 6 Solution  
Tuesday, 10/30/2018  Closed Domain Methods – Bisection + RegulaFalsi (see slides above)  HW 7 Solution  
Thursday, 11/01/2018  Secant and Newton Methods (see slides above)  Secant and Newton Methods  Root Finding Methods.ipynb  
Tuesday, 11/06/2018  Systems of Nonlinear Equations (see slides above)  Systems of Nonlinear Equations  Nonlinear System Demo.ipynb  
Thursday, 11/08/2018  ODEs – All Slides  ODEs1  
Tuesday, 11/13/2018  Exam 2 Review  Exam 2 Review  
Thursday, 11/15/2018  EXAM 2  EXAM 2  EXAM 2  EXAM 2 
Tuesday, 11/20/2018  Implicit Methods for Initial Value Problems  Explicit Time Integration.ipynb
Motivation for Implicit Methods.ipynb System of Equations – Kinetics Example.ipynb


Thursday, 11/22/2018  NO CLASS – Thanksgiving  
Tuesday, 11/27/2018  Boundary Value Problems  
Thursday, 11/29/2018  Basic Intro to Numerical PDEs  Boundary Value Problems – Nonlinear RHS  
Tuesday, 12/04/2018  
Thursday, 12/06/2018  
Tuesday, 12/11/2018 
Administrative Information
See here for fall semester schedule: https://registrar.utah.edu/academiccalendars/fall2018.php
Event  Date 

Classes begin  Monday, August 20 
Last day to add without a permission code  Friday, August 24 
Last day to wait list  Friday, August 24 
Last day to add, drop (delete), elect CR/NC, or audit classes  Friday, August 31 
Last day to withdraw from classes  Friday, October 19 
Last day to reverse CR/NC option  Friday, November 30 
Classes end  Thursday, December 6 
Reading day  Friday, December 7 
Final exam period  Mon.Fri., Dec. 1014 
 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.
Python
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 inclass lectures on learning Python.
Matlab?
You are welcome to use Matlab for you assignments, but you will not get any specific Matlab help. It is highly recommended that you just use Jupyter Notebooks with Python. If you insist on using Matlab, you will have to also submit your reports and code separately – with Jupyter notebooks, you can submit the whole thing as just one notebook.
Matlab Help
A prerequisite for this course is CHEN 1703, which provides an introduction to MATLAB. Students without MATLAB background should be prepared to learn MATLAB quickly in the first week of class. Among the key proficiencies you need in MATLAB: arrays, solving linear systems, plotting, loops (for/while), conditionals (if/then/else), functions.
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 Xwindows 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 utah.edu Email address to communicate with you and send information to class. Please make sure that you have access to your utah email address.
Homework
 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 the homework page of the course web site. Unless otherwise stated, homework is due by the beginning of class on the date indicated on the schedule.
 Solutions will be posted on the class web site shortly after the due date.
 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 the course web page. You should write a report describing the problem, your solution, and presenting your results. Submit your report in either PDF or MS Word format. Any Excel or Matlab files that you used to solve the homework problem should also be submitted with your solution. For more information, see the Homework page.
InClass 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% InClass 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, 8015818365, or the Office of the Dean of Students, 270 Union Building, 8015817066. For support and confidential consultation, contact the Center for Student Wellness, 426 SSB, 8015817776. To report to the police, contact the Department of Public Safety, 8015852677(COPS).
Academic Misconduct
All instances of academic misconduct will be handled in accordance with the Student Code (http://regulations.utah.edu/academics/6400.php).
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) 5815020. 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.