Learn Calculus by building 10 hands-on, visual, and interactive projects inspired by key topics in single and multivariable calculus, with applications to machine learning.
This repository documents my personal journey to master Calculus through building 10 carefully chosen projects. Instead of memorizing rules and formulas, I focus on simulating, visualizing, and applying key calculus concepts — from limits and derivatives to multivariable functions and optimization.
These projects are designed with an ML context in mind, where calculus concepts show up in things like optimization, backpropagation, and function approximation.
This is part of my broader learning method called Project10X, and follows the same philosophy I used in my Project10X-Stats and Project10X-LinearAlgebra repositories.
| # | Project | Key Concepts Covered |
|---|---|---|
| 1 | Limits & Continuity Visualizer | Limits, continuity, behavior of functions near a point |
| 2 | The Derivative Intuition Engine | Derivatives from first principles, differentiation rules |
| 3 | Graph Behavior Analyzer | Curve sketching, concavity, extrema, inflection points |
| 4 | Optimization Toolkit | Critical points, optimization, first/second derivative tests |
| 5 | Integral as Accumulation | Area under curves, Riemann sums, definite integrals |
| 6 | Area Between Curves & Totals | Definite integrals in applications, area between curves |
| 7 | Gradient Descent Visualizer | Optimization, slope-based updates, gradient descent |
| 8 | Partial Derivatives & Surfaces | Multivariable functions, partial derivatives, surface plots |
| 9 | Jacobian & Chain Rule in Action | Multivariable chain rule, Jacobian matrix, nested functions |
| 10 | ML Case Study: Linear Regression Loss | Derivatives in ML, cost functions, gradient-based optimization |
-
Python 3.11+ – For writing simulations and logic
-
Jupyter Notebook – For live coding, notes, and experiments
-
Matplotlib / Seaborn – For plotting and graphing functions
-
NumPy – For numerical computation and data handling
-
Pandas – For structured data handling and analysis when working with datasets
-
SymPy – For symbolic math like derivatives and integrals
-
Manim – To animate concepts when useful
-
Plotly – For interactive, 3D visualizations
-
Some basic experience with Python
-
A general understanding of calculus topics (limits, derivatives, integrals)
-
Curiosity to explore and test things on your own
While this is a personal project, I’ve made it public for others who want to learn in a similar way. If you want to suggest improvements or share your own implementations, feel free to fork the repo and open a pull request.
This project is licensed under the MIT License. See the LICENSE for more details.
Created and Maintained by RM Villa