Lesson 1: Spherical Cows and Model Building
Why all models are wrong, some are useful, and how to build the right one for your problem. Fermi estimation, the modeling cycle, and Newton’s law of cooling as a worked example.
Mathematics is the language engineers use to describe, predict, and control the physical world. This course teaches the parts of that language you will use most often. Not proofs, not abstraction for its own sake, but the mathematical tools that show up every day in circuit analysis, control systems, signal processing, and mechanical design.
Every lesson starts with a real problem, introduces the math as the tool to solve it, and works through the solution. Python code makes things concrete. If a formula appears, it is preceded by the intuition for why it works.
This is not a prerequisite you need to complete before doing anything else. It is a reference. Work through the lessons in order if you want a structured path, or jump to whichever topic you need right now and come back later for the rest.
All you need is a computer with Python installed. We use NumPy and Matplotlib for computation and plotting. No special hardware, no expensive software.
pip install numpy matplotlib scipyLesson 1: Spherical Cows and Model Building
Why all models are wrong, some are useful, and how to build the right one for your problem. Fermi estimation, the modeling cycle, and Newton’s law of cooling as a worked example.
Lesson 2: Calculus for Engineers
The parts of calculus engineers actually use. Derivatives as rates of change, integrals as accumulation, Taylor series for approximation, and the chain rule in real systems.
Lesson 3: Linear Algebra: Vectors, Matrices, and Transforms
How vectors and matrices describe forces, rotations, and systems of equations. Dot products, cross products, matrix transforms, eigenvalues, and solving Ax = b with NumPy.
Lesson 4: Complex Numbers and Phasors
“Imaginary” is a terrible name. These numbers describe rotation. Euler’s formula, phasors for AC circuits, impedance, and RC filter analysis.
Lesson 5: Probability, Statistics, and Noise
Every sensor reading has noise. Mean, variance, Gaussian distribution, moving averages, exponential filtering, confidence intervals, and outlier detection.
Lesson 6: Differential Equations and Real Systems
How to describe systems that change over time. RC circuits, spring-mass systems, thermal decay, and solving ODEs numerically with Euler’s method.
Lesson 7: Fourier Analysis and the Frequency Domain
Any signal is a sum of sine waves. Time domain vs frequency domain, FFT, sampling theorem, aliasing, and spectral analysis with Python.
Lesson 8: Numerical Methods: Math in Code
Computers do arithmetic, very fast. Root finding, numerical integration, interpolation, curve fitting, Runge-Kutta ODE solvers, and floating-point gotchas.
Lesson 9: Feedback and Control Systems
Measure, compare, adjust. Open-loop vs closed-loop, PID control, Ziegler-Nichols tuning, stability, and practical applications from thermostats to motor controllers.
Real Problem First
Every lesson opens with a physical scenario or engineering question. The math grows out of the need to answer that question.
Intuition Before Formula
Before any equation appears, you will understand what it means and why it works. No formula drops from the sky without explanation.
Worked Examples
Each concept is followed by a complete worked example, often drawn from circuit analysis, mechanical systems, or signal processing.
Python Code
Computation makes abstract ideas concrete. NumPy arrays, Matplotlib plots, and SciPy solvers applied to real problems.
Reference Quality
These lessons are written so you can come back to them years later and still find them useful.
This course is for anyone who uses mathematics as a tool: electrical engineers, mechanical engineers, embedded systems developers, physics students, and self-taught builders. If you have ever been intimidated by a wall of equations in a textbook and wished someone would just explain what it means, this course is for you.
You do not need to be a “math person.” You need to be someone who wants to solve problems.