The browser lab is a small, install-free companion to the book. Its six notebooks focus on examples that fit comfortably in a WebAssembly Python kernel; the expensive JAX, MPC, and nonlinear solver demonstrations remain precomputed in the main text.
Each notebook begins with a working baseline, asks you to predict an outcome before changing parameters, and ends with executable assertions:
finite-MDP policy evaluation;
value iteration and policy iteration;
Monte Carlo error and maximization bias;
Euler, trapezoidal, and higher-order ODE discretization;
finite-horizon LQR and the Riccati recursion;
a small SciPy trajectory-optimization problem.
The notebooks use only NumPy, SciPy, Matplotlib, and ipywidgets. Changes are stored in your browser. Download a notebook from JupyterLab if you want to keep or submit it.
To serve the lab locally after building it, run:
uv run jupyter lite serve --lite-dir lab --contents notebooks