8 - Numerical Methods with SciPy and Curve Fitting — Topics & Learning Outcomes

📋 Module Topics🎯 Student Learning Outcomes

Module Topics

Introduction to SciPy for Numerical Computing

Introduces the SciPy library, its ecosystem, and how it extends NumPy to support numerical methods used in engineering and science.

Root Finding with scipy.optimize

Covers scalar and multivariate root-finding methods available in scipy.optimize, including bracket-based and derivative-based approaches.

Numerical Integration with scipy.integrate

Covers numerical quadrature for definite integrals and the integration of systems of ordinary differential equations using scipy.integrate.

Linear Curve Fitting with numpy.polyfit

Explains polynomial regression using numpy.polyfit, including model selection, coefficient interpretation, and generating fitted curves for visualization.

Nonlinear Curve Fitting with scipy.optimize.curve_fit

Covers fitting arbitrary nonlinear models to data using scipy.optimize.curve_fit, including defining model functions, interpreting fit parameters, and assessing uncertainty.

Residuals Analysis

Explains how to compute, visualize, and interpret residuals to evaluate curve-fit quality and identify model inadequacy on engineering datasets.

Applying Numerical Methods to Engineering Datasets

Brings together root finding, integration, ODE solving, and curve fitting in end-to-end workflows applied to realistic engineering problems.

Student Learning Outcomes

By the end of this module, students will be able to:

MO1
Select an appropriate root-finding method from scipy.optimize (such as brentq, bisect, or fsolve) based on the continuity of the function, availability of derivatives, and the existence of a bracketing interval
Level: EvaluateType: CognitiveCourse mapping: CO3
MO2
Apply scipy.integrate functions (quad, simpson, trapezoid, or solve_ivp) to compute definite integrals and solve initial value ODE problems from engineering datasets
Level: ApplyType: CognitiveCourse mapping: CO3
MO3
Fit both polynomial and nonlinear models to engineering data using numpy.polyfit and scipy.optimize.curve_fit, including defining model functions, supplying initial parameter guesses, and extracting fitted coefficients
Level: ApplyType: BehavioralCourse mapping: CO2
MO4
Construct residual plots and calculate quantitative fit metrics (R² and RMSE) to diagnose model adequacy and identify overfitting in curve-fitting results
Level: AnalyzeType: CognitiveCourse mapping: CO3
MO5
Design an end-to-end numerical workflow that integrates data preprocessing, method selection, parameter estimation, and clearly labeled result visualization to address a realistic engineering problem
Level: CreateType: BehavioralCourse mapping: CO3

Course Outcomes (reference)

CO1Use variables, arrays and object structures appropriate to solve engineering problems.
CO2Write computer functions to meet specific calculation needs.
CO3Write computer programs to solve mathematical expressions and engineering problems