Applied Math Modeling (Python)

Applied Math Lab: course hub

Welcome to Applied Math Lab. This site brings together the lecture notes, computational labs, slides, and supporting materials for the course.

Note

Quick links:

Course at a glance

  • Format: 6 modules organized into 32 sessions
  • Tools: Python, NumPy, SciPy, matplotlib, Streamlit, NetworkX
  • Main goal: learn mathematical modeling through analysis, simulation, and interpretation

Learning Approach

  • Start from a mathematical model and identify its main variables, parameters, and assumptions.
  • Move from qualitative reasoning to numerical simulation and visual interpretation.
  • Compare related models across sessions so each new topic extends a familiar workflow.
  • Use the assignments to turn lecture examples into independent investigations.

Course map

Low-Dimensional Dynamics

S1 · Course overview

S2 · A first model: the spruce budworm

S3 · Lab: numerical tools for 1D models

S4 · The budworm outbreak: hysteresis

S5 · Epidemics: SIR and SIS

S6 · Lab: epidemics and real data

S7 · Two-dimensional systems: oscillations

S8 · Lab: two-dimensional systems

S9 · Excitable systems and neurons

Extra: the Lorenz system

Synchronization and Collective Behaviour

S10 · Synchronization: from one oscillator to many

S11 · The Kuramoto model

S12 · Lab: Kuramoto and the Millennium Bridge

S13 · Collective behaviour: Vicsek and Couzin

S14 · Lab: collective motion

Modelling with Randomness

S15 · From random walks to diffusion

S16 · Fat tails and anomalous diffusion

S17 · Modelling financial markets

S18 · Lab: financial time series

Space and Pattern Formation

S19 · Reaction-diffusion equations

S20 · Turing instability

S21 · Lab: pattern formation in 1D

S22 · Lab: pattern formation in 2D

Complex Networks

S23 · Networks: fundamental concepts

S24 · Lab: cascading failures in power grids

S25 · Models of network growth

S26 · Lab: spreading processes on networks

Explorables and Discrete Models

S27-28 · Explorables

S29 · Modelling with cellular automata

S30 · Lab: cellular automata

S31 · Traffic flow and congestion

S32 · Lab: traffic models

What you will build

Across the course you will implement and experiment with:

  • Low-dimensional dynamical systems (spruce budworm, SIR/SIS, CDIMA, Van der Pol, FitzHugh-Nagumo)
  • Coupled oscillator simulations (Kuramoto synchronization and the Millennium Bridge)
  • Collective motion models (Vicsek, Couzin, social force, predator response)
  • Random walks and statistical modelling (diffusion, heavy tails, financial returns)
  • Network analysis and spreading simulations (metrics, graph models, SIS/SIR)
  • Reaction-diffusion solvers and Turing analysis (Gierer-Meinhardt, Gray-Scott)
  • Discrete and agent-based explorables (cellular automata, traffic flow, congestion)

How to Use the Material

  • Read each module overview first so the mathematical question and modeling goal are clear.
  • Use the lecture slides as a compact guide to the main ideas and calculations.
  • Work through the case studies in order before starting the assignment.
  • Return to earlier modules when a later topic reuses the same analytical or numerical pattern.