Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

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

UnitActivityWhat you’ll do
1Overture: What is Classical Physics?Survey where classical mechanics shows up in current research and industry.
2Computing as a tool for scienceUse the Euler method to discretize Newton’s second law and step a trajectory forward numerically.
3What is Mathematical Modeling?Build a model of a physical system from assumptions to equations.
4Why does fluid drag complicate things?Add drag to the equations of motion and see how it changes a trajectory.
5Conservation LawsTrack energy through a simulation and check where it is (and isn’t) conserved.
6Stability and EquilibriaFind equilibrium points and test whether small perturbations grow or decay.
7Nonlinear DynamicsPlot phase portraits for nonlinear first-order ODEs and locate critical points.
8OscillationsModel a simple oscillator and compare the numerical solution to the analytic one.
9Driven Oscillators and ResonanceDrive an oscillator at different frequencies and find the resonance peak.
10Chaotic DynamicsUse scipy.integrate.solve_ivp to simulate a damped, driven pendulum and look for sensitivity to initial conditions.
11Calculus of VariationsExplore what it means for a path to minimize a functional.
12The Principle of Least ActionDerive equations of motion from stationary action instead of forces.
13Lagrangian MechanicsApply 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:

  1. Add a new .md file there, following the style of an existing *_start.md notebook (a motivating question or system, then Python code cells that simulate or explore it).

  2. Register it in the project.toc list in myst.yml so it appears in the site navigation.

  3. Open a pull request on the GitHub repository.