When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 6 modules in this course
This course covers the most important numerical methods that an engineer should know, including root finding, matrix algebra, integration and interpolation, ordinary and partial differential equations. We learn how to use MATLAB to solve numerical problems, and access to MATLAB online and the MATLAB grader is given to all students who enroll.
We assume students are already familiar with the basics of matrix algebra, differential equations, and vector calculus. They should have a working knowledge of a programming language, and be willing to learn MATLAB.
The course contains 74 short lecture videos and MATLAB demonstrations. After each lecture or demonstration, there are problems to solve or programs to write. The course is organized into six weeks, and at the end of each week, there is an assessed quiz and a longer programming project.
Download the lecture notes from the link
https://www.math.hkust.edu.hk/~machas/numerical-methods-for-engineers.pdf
And watch the promotional video from the link
https://youtu.be/qFJGMBDfFMY
MATLAB is a high-level programming language extensively utilized by engineers for numerical computation and visualization. We will learn the basics of MATLAB: how real numbers are represented in double precision; how to perform arithmetic with MATLAB; how to use scripts and functions; how to represent vectors and matrices; how to draw line plots; and how to use logical variables, conditional statements, for loops and while loops. For your programming project, you will write a MATLAB code to compute the bifurcation diagram for the logistic map.
What's included
14 videos14 readings2 assignments9 app items
Show info about module content
14 videos•Total 104 minutes
Course Overview•4 minutes
Week One Introduction•2 minutes
Binary Numbers | Lecture 1•11 minutes
Double Precision | Lecture 2•14 minutes
MATLAB as a Calculator | Lecture 3•6 minutes
Scripts and Functions | Lecture 4•8 minutes
Vectors | Lecture 5•6 minutes
Line Plots | Lecture 6•7 minutes
Matrices | Lecture 7•8 minutes
Logicals | Lecture 8•4 minutes
Conditionals | Lecture 9•4 minutes
Loops | Lecture 10•5 minutes
Logistic Map (Part A) | Lecture 11•17 minutes
Logistic Map (Part B) | Lecture 12•8 minutes
14 readings•Total 133 minutes
Welcome and Course Information•1 minute
How to Write Math in the Discussions Using MathJax•1 minute
MATLAB Online•5 minutes
Rounding Binary Numbers•10 minutes
Computer Numbers•10 minutes
REALMAX•10 minutes
REALMIN•10 minutes
EPS•10 minutes
Logical Expressions•5 minutes
Logical Vectors•10 minutes
Quadratic Equation•10 minutes
Background for the Logistic Map•20 minutes
Period-2•30 minutes
Reference Solution to "Bifurcation Diagram for the Logistic Map"•1 minute
2 assignments•Total 75 minutes
Diagnostic Quiz•30 minutes
Week One Assessment•45 minutes
9 app items•Total 225 minutes
MATLAB as a Calculator•15 minutes
Binet's Formula for the Fibonacci Numbers•15 minutes
Table of Sines and Cosines•15 minutes
Logarithmic Spiral•15 minutes
Lemniscate•15 minutes
Manipulating Matrices•15 minutes
Banded Matrices•15 minutes
Recursion Definition for the Fibonacci Numbers•60 minutes
Bifurcation Diagram for the Logistic Map•60 minutes
Root Finding
Week 2•6 hours to complete
Module details
Root finding is a numerical technique used to determine the roots, or zeros, of a given function. We will explore several root-finding methods, including the Bisection method, Newton's method, and the Secant method. We will also derive the order of convergence for these methods. Additionally, we will demonstrate how to compute the Newton fractal using Newton's method in MATLAB, and discuss MATLAB functions that can be used to find roots. For your programming project, you will write a MATLAB code using Newton's method to compute the Feigenbaum delta from the bifurcation diagram for the logistic map.
Convergence of Newton's Method | Lecture 17•11 minutes
Fractals from Newton's Method | Lecture 18•8 minutes
Coding the Newton Fractal | Lecture 19 •22 minutes
Root-Finding in MATLAB | Lecture 20•9 minutes
Feigenbaum Delta (Part A) | Lecture 21•17 minutes
Feigenbaum Delta (Part B) | Lecture 22•18 minutes
Feigenbaum Delta (Part C) | Lecture 23•9 minutes
8 readings•Total 57 minutes
Estimate the Square-root of Three Using the Bisection Method•5 minutes
Estimate the Square-root of Three Using Newton's Method•5 minutes
Estimate the Square-Root of Three Using the Secant Method•5 minutes
Rates of Convergence•5 minutes
Order of Convergence of the Secant Method•30 minutes
The Four Fourth Roots of Unity•5 minutes
Compute the Value of m in the Period-Two Cycle•1 minute
Reference Solution to "Computation of the Feigenbaum Delta"•1 minute
1 assignment•Total 45 minutes
Week Two Assessment•45 minutes
3 app items•Total 95 minutes
Fractals from the Four Fourth Roots of Unity•15 minutes
Elliptical Planetary Orbits•20 minutes
Computation of the Feigenbaum Delta•60 minutes
1 plugin•Total 23 minutes
Deep Dive into The Newton Fractal•23 minutes
Matrix Algebra
Week 3•5 hours to complete
Module details
Numerical linear algebra is the term used for matrix algebra performed on a computer. When conducting Gaussian elimination with large matrices, round-off errors may compromise the computation. These errors can be mitigated using the method of partial pivoting, which involves row interchanges before each elimination step. The LU decomposition algorithm must then incorporate permutation matrices. We will also discuss operation counts and the big-Oh notation for predicting the increase in computational time with larger problem sizes. We will show how to count the number of required operations for Gaussian elimination, forward substitution, and backward substitution. We will explain the power method for computing the largest eigenvalue of a matrix. Finally, we will show how to use Gaussian elimination to solve a system of nonlinear differential equations using Newton's method. For your programming project, you will write a MATLAB code that applies Newton's method to the Lorenz equations.
What's included
13 videos10 readings1 assignment4 app items
Show info about module content
13 videos•Total 115 minutes
Week Three Introduction •2 minutes
Gaussian Elimination without Pivoting | Lecture 24•11 minutes
Gaussian Elimination with Partial Pivoting | Lecture 25•5 minutes
LU Decomposition with Partial Pivoting | Lecture 26•11 minutes
Operation Counts | Lecture 27•9 minutes
Operation Counts for Gaussian Elimination | Lecture 28•9 minutes
Operation Counts for Forward and Backward Substitution | Lecture 29•7 minutes
Eigenvalue Power Method | Lecture 30•11 minutes
Eigenvalue Power Method (Example) |Lecture 31•8 minutes
Matrix Algebra in MATLAB | Lecture 32•12 minutes
Systems of Nonlinear Equations | Lecture 33•10 minutes
Systems of Nonlinear Equations (Example) | Lecture 34•10 minutes
Fractals from the Lorenz Equations | Lecture 35•9 minutes
10 readings•Total 71 minutes
Round-off Errors in Gaussian Elimination•10 minutes
Reduced Round-off Errors in Gaussian Elimination with Partial Pivoting•5 minutes
The (PL)U Decomposition of A•10 minutes
Estimating Computational Time using Operation Counts•5 minutes
Summation Identities•10 minutes
Operation Counts for a Lower Triangular System•10 minutes
Convergence of the Eigenvalue Power Method•5 minutes
Determine the Dominant Eigenvalue•10 minutes
How to Solve Three Nonlinear equations•5 minutes
Reference Solution to "Fractals from the Lorenz Equations"•1 minute
1 assignment•Total 45 minutes
Week Three Assessment•45 minutes
4 app items•Total 90 minutes
The LU Decomposition of a Matrix•10 minutes
Eigenvalues and Eigenvectors•10 minutes
Fixed-Point Solutions of the Lorenz Equations•10 minutes
Fractals from the Lorenz Equations•60 minutes
Quadrature and Interpolation
Week 4•6 hours to complete
Module details
The computation of definite integrals is known as quadrature. We will explore the fundamentals of quadrature, including elementary formulas for the Trapezoidal rule and Simpson’s rule; development of composite integration rules; an introduction to Gaussian quadrature; construction of an adaptive quadrature routine where the software determines the appropriate integration step size; and the usage of the MATLAB function integral.m. Additionally, we will learn about interpolation. A good interpolation routine can estimate function values at intermediate sample points. We will learn about linear interpolation, commonly employed for plotting data with numerous points; and cubic spline interpolation, used when data points are sparse. For your programming project, you will write a MATLAB code to compute the zeros of a Bessel function. This task requires the combination of both quadrature and root-finding routines.
Cubic Spline Interpolation (Part A) | Lecture 44•16 minutes
Cubic Spline Interpolation (Part B) | Lecture 45•11 minutes
Interpolation in MATLAB | Lecture 46•5 minutes
Bessel Functions and their Zeros | Lecture 47•7 minutes
11 readings•Total 106 minutes
The Midpoint Rule is the Area of a Rectangle•5 minutes
Midpoint Rule for a Quadratic Function•10 minutes
Derive the Trapezoidal Rule•10 minutes
Derive Simpson's Rule•15 minutes
Simpson's 3/8 Rule•10 minutes
Three-point Legendre-Gauss Quadrature•10 minutes
Computing the Error in an Adaptive Quadrature•10 minutes
Linear and Quadratic Interpolation•10 minutes
Cubic Spline Interpolation with Endpoint Slopes Known•10 minutes
Cubic Spline Interpolation with the Not-a-Knot Condition•15 minutes
Reference Solution to "Bessel Function Zeros"•1 minute
1 assignment•Total 45 minutes
Week Four Assessment•45 minutes
3 app items•Total 105 minutes
Cornu Spiral•30 minutes
Interpolate Two Data Files•15 minutes
Bessel Function Zeros•60 minutes
Ordinary Differential Equations
Week 5•6 hours to complete
Module details
We will learn about the numerical integration of ordinary differential equations (ODEs). We will introduce the Euler method, a single-step, first-order method, and the Runge-Kutta methods, which extend the Euler method to multiple steps and higher order, allowing for larger time steps. We will show how to construct a family of second-order Runge-Kutta methods, discuss the widely-used fourth-order Runge-Kutta method, and adopt these methods for solving systems of ODEs. We will show how to use the MATLAB function ode45.m, and how to solve a two-point boundary value ODE using the shooting method. For your programming project, you will conduct a numerical simulation of the gravitational two-body problem.
Integrating ODEs in MATLAB (Part A) | Lecture 55•16 minutes
Integrating ODEs in MATLAB (Part B) | Lecture 56•7 minutes
Shooting Method for Boundary Value Problems | Lecture 57•12 minutes
The Two-Body Problem (Part A) | Lecture 58•10 minutes
The Two-Body Problem (Part B) | Lecture 59•11 minutes
9 readings•Total 76 minutes
When the Euler Method is Exact•10 minutes
When the Modified Euler Method is Exact•10 minutes
Ralston's Method•5 minutes
Runge-Kutta Methods and Quadrature Formulas•10 minutes
Fourth-Order Runge-Kutta Method and Simpson's Rule•10 minutes
Systems of ODEs•10 minutes
Example of Adaptive Integration•10 minutes
Circular orbits•10 minutes
Reference Solution to "Two-Body Problem"•1 minute
1 assignment•Total 45 minutes
Week Five Assessment•45 minutes
3 app items•Total 120 minutes
The Lorenz Equations•30 minutes
Swing a Pendulum to the Top•30 minutes
Two-Body Problem•60 minutes
Partial Differential Equations
Week 6•8 hours to complete
Module details
We will learn how to solve partial differential equations (PDEs). While this is a vast topic with various specialized solution methods, such as those found in computational fluid dynamics, we will provide a basic introduction to the subject. We will categorize PDE solutions into boundary value problems and initial value problems. We will then apply the finite difference method for solving PDEs. We will solve the Laplace equation, a boundary value problem, using two methods: a direct method via Gaussian elimination; and an iterative method, where the solution is approached asymptotically. We will next solve the one-dimensional diffusion equation, an initial value problem, using the Crank-Nicolson method. We will also employ the Von Neumann stability analysis to determine the stability of time-integration schemes. For your programming project, you will solve the two-dimensional diffusion equation using the Crank-Nicolson method.
What's included
17 videos15 readings2 assignments4 app items
Show info about module content
17 videos•Total 170 minutes
Week Six Introduction •3 minutes
Boundary and Initial Value Problems | Lecture 60•5 minutes
Central Difference Approximation | Lecture 61•9 minutes
Discrete Laplace Equation | Lecture 62•10 minutes
Natural Ordering | Lecture 63•9 minutes
Matrix Formulation | Lecture 64•12 minutes
MATLAB Solution of the Laplace Equation (Direct Method) | Lecture 65•17 minutes
Jacobi, Gauss-Seidel and SOR Methods | Lecture 66•12 minutes
Red-Black Ordering | Lecture 67•3 minutes
MATLAB Solution of the Laplace Equation (Iterative Method) | Lecture 68•12 minutes
Explicit Methods for Solving the Diffusion Equation | Lecture 69•14 minutes
Von Neumann Stability Analysis of the FTCS Scheme | Lecture 70•15 minutes
Implicit Methods for Solving the Diffusion Equation | Lecture 71•8 minutes
Crank-Nicolson Method for the Diffusion Equation | Lecture 72•14 minutes
MATLAB Solution of the Diffusion Equation | Lecture 73•12 minutes
HKUST is a world-class research-intensive university that focuses on science, technology, and business as well as humanities and social science. HKUST offers an international campus, and a holistic and interdisciplinary pedagogy to nurture well-rounded graduates with a global vision, a strong entrepreneurial spirit, and innovative thinking.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.9
439 reviews
5 stars
90.45%
4 stars
7.04%
3 stars
1.36%
2 stars
0.45%
1 star
0.68%
Showing 3 of 439
M
MP
5·
Reviewed on Jul 17, 2023
Hello, thank you for your efforts in the course. It was very useful and beautiful. I hope you will always be healthy and happy. Mohammad Pakzad from Iran.
I
IU
5·
Reviewed on Jan 2, 2023
very Fantastic core course for all engineering and science students to take. Many thanks again to Prof. Jeffrey Chasnov and everyone for making this happen. God bless you.  
S
SS
5·
Reviewed on Feb 25, 2025
This course was amazing. It provided a wide range of practical and effective methods that are extremely useful for solving engineering problems.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.