Skip to main content
Back to courses

Scientific Python

Use NumPy arrays, plots, fitting, numerical methods, units and instrument data files to do real engineering and science calculations in Python.

Level: Intermediate4 modules · 12 lessons · 12h 58m
pythonnumpyscientific-computingnumerical-methodsmatplotlibscipypandasengineering

Leads to: Civil Engineer, Mechanical Engineer, Electrical Engineer, Biochemist, Chemist, Physicist, Materials Scientist

Before you start

This course builds on Python Fundamentals and Calculus & Linear Algebra for STEM. Take them first if you are new to the topic.

About this course

An intermediate course for engineering and physical and life science careers. You will replace loops with vectorised NumPy array maths and broadcasting, solve linear systems with numpy.linalg, and simulate measurement noise with seeded random numbers. You will make publication-quality plots with error bars and units, linearise data on log axes, and show 2D data as heatmaps and contours. You will fit models to data and read their uncertainties, step ODEs forward with Euler and Runge-Kutta, find roots and integrate numerically, and see how SciPy's curve_fit, solve_ivp, brentq and quad do the same jobs. The last module covers carrying units through a calculation, parsing and cleaning instrument exports with pandas, and structuring notebooks that others can rerun. Prerequisites: Python Fundamentals and Calculus & Linear Algebra for STEM. Exercises use NumPy and pandas, which run in the browser; matplotlib and SciPy are taught in the reading.

Course content

  1. Module 1

    NumPy

  2. Module 2

    Plotting Scientific Data

  3. Module 3

    Fitting and Solving

  4. Module 4

    Units and Data Files