
This course provides a comprehensive introduction to Python programming tailored for numerical methods and scientific computing. It aims to bridge the gap between abstract mathematical theories and concrete, practical computations using modern software toolkits. By leveraging Python's powerful ecosystem, the course builds a strong foundation in manipulating scientific datasets, executing algorithmic matrix algebra, and graphing intricate mathematical models. By the end of the course, students will be fully equipped to write optimized programming routines to solve engineering, mathematical, and physics problems that are analytically complex.
Learning Outcomes:
• LO1: Apply foundational Python libraries (NumPy, Matplotlib) to manipulate arrays and visualize mathematical functions.
• LO2: Solve linear equations and generate predictive models using interpolation and least-squares regression.
• LO3 : Implement iterative root-finding algorithms and compare their performance against standard SciPy solvers.
• LO4 : Compute numerical derivatives and definite integrals using Python’s scientific computing toolkits.
Course Modules:
Setting Up for Scientific Python
The Engine of Numerical Python: NumPy
Visualizing Math: Matplotlib
Matrix Operations & Solving Linear Systems
Iterative Method for Solving Linear Systems
Interpolation Algorithms
Curve Fitting with Least-Squares Regression
Iterative Root Finding
Numerical Differentiation in Python
Numerical Integration in Python
Course Content:
Interactive Jupyter Notebooks: Every module is delivered via a highly engaging, code-executable Jupyter Notebook environment containing a mix of detailed markdown lecture notes, structured programming syntax, and inline coding exercises.
Video Instructional Lectures: The materials are structured into 10 distinct video sessions, which guide students through core concepts, code walkthroughs, and practical mathematical applications.
Verification and Benchmarking Code: Modules include systematic testing guidelines—such as verifying matrix solutions using dot products or comparing customized algorithmic loops against robust built-in SciPy functions—to instill deep structural comprehension.
The course is designed as a self-paced learning module with a total estimated duration of approximately 15 to 20 hours to complete all 10 video sessions, thoroughly analyze the corresponding lecture notebooks, and complete the hands-on verification exercises. This program is ideal for scientists, engineering students, and data practitioners who want to master real-world computational mathematics and numerical simulations using the Python ecosystem.