1. Modelling with diffsol
    1. Explicit First Order ODEs
      1. Example: Population Dynamics
    2. Higher Order ODEs
      1. Example: Spring-mass systems
    3. Discrete Events
      1. Example: Compartmental models of Drug Delivery
      2. Example: Bouncing Ball
    4. Hybrid ODEs
      1. Example: Dosing Protocols
      2. Example: Epidemic SIR with policy switching
    5. DAEs via the Mass Matrix
      1. Example: Electrical Circuits
    6. PDEs
      1. Example: Heat Equation
      2. Example: Physics-based Battery Simulation
    7. Forward Sensitivity Analysis
      1. Example: Fitting a predator-prey model to data
    8. Backwards Sensitivity Analysis
      1. Example: Fitting a spring-mass model to data
      2. Example: Weather prediction using neural ODEs
  2. Specifying ODE problems
    1. The builder
    2. Tolerances
    3. DiffSL
    4. Rust closures
      1. Explicit
      2. Implicit
      3. Mass matrix
      4. Root finding
      5. Forward Sensitivity
      6. Adjoint Sensitivity
      7. Automatic differentiation
      8. Sparse problems
    5. OdeEquations trait
      1. Non-linear functions
      2. Constant functions
      3. Linear functions
      4. ODE systems
      5. Parameters
  3. Creating a solver
    1. Initialisation
    2. Tableau
  4. Solving the problem
    1. Manual time-stepping
    2. Interpolation
    3. Stopping
    4. Forward Sensitivities
  5. Performance
    1. Stiff vs Non-Stiff
    2. Events and Multistep Solvers
  6. Using diffsol from other languages
    1. Python
    2. C and other languages
    3. WebAssembly
    4. WebAssembly with JIT
  7. Benchmarks
    1. Sundials
    2. Python (Diffrax & Casadi)