Every unit of the course opens with an activity notebook — a hands-on simulation or thought experiment, worked in Python, that motivates the formal notes that follow. These aren’t optional extras; they’re where most of the actual modeling happens. Below is the full set, grouped by topic, plus the homework sets that apply them.
Unit activities¶
| Unit | Activity | What you’ll do |
|---|---|---|
| 1 | Overture: What is Classical Physics? | Survey where classical mechanics shows up in current research and industry. |
| 2 | Computing as a tool for science | Use the Euler method to discretize Newton’s second law and step a trajectory forward numerically. |
| 3 | What is Mathematical Modeling? | Build a model of a physical system from assumptions to equations. |
| 4 | Why does fluid drag complicate things? | Add drag to the equations of motion and see how it changes a trajectory. |
| 5 | Conservation Laws | Track energy through a simulation and check where it is (and isn’t) conserved. |
| 6 | Stability and Equilibria | Find equilibrium points and test whether small perturbations grow or decay. |
| 7 | Nonlinear Dynamics | Plot phase portraits for nonlinear first-order ODEs and locate critical points. |
| 8 | Oscillations | Model a simple oscillator and compare the numerical solution to the analytic one. |
| 9 | Driven Oscillators and Resonance | Drive an oscillator at different frequencies and find the resonance peak. |
| 10 | Chaotic Dynamics | Use scipy.integrate.solve_ivp to simulate a damped, driven pendulum and look for sensitivity to initial conditions. |
| 11 | Calculus of Variations | Explore what it means for a path to minimize a functional. |
| 12 | The Principle of Least Action | Derive equations of motion from stationary action instead of forces. |
| 13 | Lagrangian Mechanics | Apply the Lagrangian formulation to a system with constraints. |
Each activity has a matching notes notebook with the formal derivation — for example, Unit 10’s notes work through the same damped driven pendulum in more depth.
Homework¶
Eight problem sets apply each unit’s tools to new systems: Homework 1, 2, 3, 4, 5, 6, 7, and 8.
Adding an activity¶
Activities live as MyST Markdown notebooks in content/notebooks/. To add one:
Add a new
.mdfile there, following the style of an existing*_start.mdnotebook (a motivating question or system, then Python code cells that simulate or explore it).Register it in the
project.toclist inmyst.ymlso it appears in the site navigation.Open a pull request on the GitHub repository.