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: 9 core modules plus 1 extra Lorenz module
  • 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

What you will build

Across the course you will implement and experiment with:

  • One-dimensional ODE models (SIR, spruce budworm, Michaelis-Menten)
  • Two-dimensional oscillators (CDIMA, Van der Pol, FitzHugh-Nagumo)
  • Coupled oscillator simulations (Kuramoto synchronization)
  • Collective motion models (Vicsek, Couzin, predator response)
  • Network analysis and spreading simulations (metrics, graph models, SIS/SIR)
  • 1D reaction-diffusion solvers and Turing analysis (Gierer-Meinhardt)
  • 2D reaction-diffusion simulators (Gierer-Meinhardt, Gray-Scott)
  • Cellular automata experiments (1D rules and rule exploration)
  • Agent-based traffic models (flow, congestion, density sweeps)
  • A deterministic chaos case study (Lorenz attractor)

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.

Where to go next