Introduction

Why Differential Equations?

Differential equations are the mathematical language of change. Any time a quantity evolves over time — populations, temperatures, voltages, positions — a differential equation describes it. They are the foundation of physics, engineering, biology, economics, and climate science.

  • Physics -- Newton's laws, electromagnetism, quantum mechanics, fluid dynamics
  • Biology -- population dynamics, epidemics, neuron firing, gene expression
  • Engineering -- control systems, circuit design, structural mechanics
  • Finance -- Black-Scholes option pricing model

Numerical Methods

Most differential equations cannot be solved analytically. Instead, we approximate solutions numerically by taking small steps:

  • Euler's method -- the simplest approach: one step along the tangent line
  • Runge-Kutta 4 (RK4) -- the workhorse of scientific computing: 4 slope evaluations per step, dramatically more accurate

These two methods form the foundation for every numerical ODE solver in production use (SciPy, MATLAB, Julia's DifferentialEquations.jl).

What You Will Learn

This course teaches differential equations through code. Every concept is implemented from scratch in Python:

  1. Numerical Methods -- Euler step, Euler integration, RK4 step, RK4 integration
  2. First-Order Models -- Exponential decay, logistic growth, Newton's cooling law
  3. Systems & Oscillations -- Vector Euler, simple harmonic motion, damped oscillator, Lotka-Volterra predator-prey
  4. Applications -- SIR epidemic model, finding equilibria, stability analysis, Van der Pol oscillator

No external libraries needed — just pure Python arithmetic. Everything runs in your browser.

Next →