Applied Math Lab

Syllabus (Program Overview)

Program

This course has 10 live in-person sessions.

Session 1 — 1D ODEs (SciPy + Streamlit)

Simulate classical one-dimensional ODE models (SIR epidemiological model, spruce budworm population model, Michaelis–Menten enzyme kinetics). Solve ODEs numerically with SciPy in Python, and build/deploy a simple Streamlit web app to explore parameter effects. Groups are assigned and remain for the whole course.

Session 2 — 2D ODEs (Nonlinear Oscillators)

Explore two-dimensional ODEs via nonlinear oscillatory systems: Van der Pol oscillator and FitzHugh–Nagumo model. Create animations with matplotlib and build interactive Python programs that let users set initial conditions via mouse clicks.

Session 3 — PDEs via Reaction–Diffusion Systems

Introduce partial differential equations through reaction–diffusion models (Gierer–Meinhardt and Gray–Scott). Implement 1D and 2D Laplacians with NumPy and animate spatiotemporal evolution to study Turing instability and pattern formation.

Session 4 — Coupled ODEs (Kuramoto Model)

Implement coupled ODEs, focusing on the Kuramoto model. Animate multiple plots simultaneously (e.g., oscillator evolution and a bifurcation diagram).

Session 5 — Flocking (Vicsek Model)

Simulate flocking behavior using the Vicsek model. Implement interaction rules for “boids” and extend the simulation by treating the mouse as a predator and coding avoidance behavior.

Session 6 — Networks I (NetworkX Fundamentals)

Introduce NetworkX: build graphs, compute structural metrics (degree distribution, clustering coefficient, centrality), and visualize different network types. Establish foundations for modeling dynamics on networks.

Session 7 — Networks II (Spreading on Real Networks)

Simulate spreading processes (fake news, epidemics) on real-world networks. Retrieve and process open-source network datasets, and investigate how network structure shapes propagation dynamics.

Session 8 — Cellular Automata I (1D CA)

Introduce one-dimensional cellular automata as a framework for discrete dynamical systems. Explore deterministic and stochastic CA, and how simple local rules generate complex global behavior.

Session 9 — Cellular Automata II (Traffic Dynamics)

Apply cellular automata to traffic modeling with the Nagel–Schreckenberg model. Study congestion, flow, and phase transitions by tuning parameters such as vehicle density and maximum speed.

Session 10 — Final Project Support

Wrap-up and support session for the final project: address remaining questions, clarify concepts, and help groups prepare deliverables.