Credits & Attribution
Everything in this curriculum uses free, open-source tools and properly licensed content. This page tracks what's used and where.
Libraries & CDN resources
All libraries are loaded via CDN and imported only as needed. No accounts, no API keys, no build step.
KaTeX
Math rendering in all lesson pages — $x^2$, $\sum$, matrices, etc.
MIT
Canvas API
Built-in HTML5 — used for matrix transform, gradient descent, CLT, and distribution visuals
Web standard
Jupyter
Notebook format for code-heavy exercises (Module 1 gradient descent, and later modules)
BSD-3
Python ecosystem (used in exercises)
NumPy
Numerical arrays and linear algebra primitives
BSD-3
scikit-learn
Classical ML workhorse — used heavily from Module 3 onward
BSD-3
matplotlib
Plotting in notebooks
matplotlib (BSD-style)
pandas
DataFrame manipulation
BSD-3
PyTorch
Deep learning (Module 5 onward)
BSD-3
Hugging Face Transformers
Transformers, pretrained models, tokenizers (Module 6)
Apache 2.0
External media
No external images, videos, or audio are embedded in the current lessons. All visualizations are generated live on the HTML canvas. If future lessons embed external media (e.g., CC-licensed diagrams from Wikimedia), they will be credited here with creator, source, and license.
Datasets (used in exercises)
Planned datasets for Module 3 onward:
- California Housing — scikit-learn's built-in regression dataset (CC0 equivalent, sourced from the StatLib repository at CMU).
- MNIST — public domain, hosted by Yann LeCun's lab.
- Tiny Shakespeare — public domain text used for language-model training demos.
- User-chosen data for capstones — bring your own from work or personal interests.
Inspiration
Curriculum shape draws on standard ML engineering tracks — Andrew Ng's course sequencing, fast.ai's top-down approach, the "make a GPT" Karpathy lectures, and the scikit-learn / PyTorch official tutorials. No content is reproduced; the debt is stylistic.
If you spot missing attribution or a license concern, note it in progress/journal.md and flag it in the next tutoring session.