Stanford's Python/Numpy crash course, open-sourced
A single notebook that gets ML students from zero to array broadcasting without the hand-holding bloat.

What it does
One Jupyter notebook covers the Python and Numpy basics needed for Stanford’s and Cornell’s graduate ML courses. It’s preparatory material, not a course itself — think of it as the “you should know this already” page made executable.
The interesting bit
The notebook is a fork of Justin Johnson’s widely-used CS231n tutorial, but trimmed and repurposed for probabilistic graphical models and deep generative models courses. The value is curation: someone already decided which Numpy footguns actually matter for research code.
Key highlights
- Single notebook, no sprawling curriculum to navigate
- Used in four specific courses at two universities (Stanford CS228, deep learning; Cornell applied ML and deep generative models)
- Based on a tutorial with proven track record in another Stanford course
- Can run locally or view directly on GitHub
- 1,150 stars suggests it has escaped beyond the classroom
Caveats
- Only one notebook currently; the “materials” plural in the repo name is slightly aspirational
- README has a typo (“necesseary”) and minimal detail on what exactly is covered
- No topics tagged, no clear indication of update frequency
Verdict
Grab it if you’re starting a serious ML course and want a no-nonsense Numpy refresher. Skip if you need pandas, PyTorch, or anything beyond array manipulation — this is deliberately narrow.