Applied Math Modeling (Python)

Applied Math Lab: course hub

Welcome! This site collects the notes, code, and datasets for the Applied Math Lab.

Course at a glance

  • Format: 10 live in-person sessions
  • Tools: Python, NumPy, SciPy, matplotlib, Streamlit, NetworkX
  • Main goal: learn modeling by building simulations you can explore and explain

How this repo/site is organized

  • Modules (theory + guided notebooks/notes): modules/
  • Session code (classroom scripts and demos): sessions/
  • Streamlit app (interactive demos): streamlit/
  • Datasets used in network sessions: data/

What you will build

Across the course you will implement and experiment with:

  • ODE models (SIR, spruce budworm, Michaelis–Menten)
  • Nonlinear oscillators (Van der Pol, FitzHugh–Nagumo)
  • Reaction–diffusion PDEs (finite differences + animations)
  • Collective behavior (Vicsek flocking + interaction)
  • Networks (metrics, spreading processes, real datasets)
  • Cellular automata (1D rules + traffic models)

Getting started locally

Create an environment

If you use Conda:

conda create --name amlab python=3.13
conda activate amlab
conda install --yes --file requirements.txt

If you prefer pip:

Windows (PowerShell):

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt

macOS/Linux:

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Run the Streamlit app

streamlit run ./streamlit/home.py

Where to go next