// Stage 1 · Math & Programming Foundations
Python, NumPy & Tooling
Read and write Python, vectorise with NumPy, use the command line, Git and Jupyter.
about 12 hours0 algorithms0 paperslesson text in progress
01Goals
- Python basics and common data structures
- Matrix operations and broadcasting with NumPy
- Use Git, virtual environments and Jupyter/Colab
02Courses & videos
- docs.python.org ↗Official docsMULTI
- numpy.org ↗Official docsEN
- MIT:The Missing Semester ↗CoursesMULTI
- kaggle.com ↗CoursesEN
03Hands-on: project, code & exercises
Free, official or author-published pages. Most run in the browser or on a free Colab GPU.
PROJECT
Without loops, use only NumPy to normalise a batch of images, multiply matrices and compute softmax; compare speed with a loop version.
- 1
- 2rougier/numpy-100 ↗Exercises
Do the first 50 NumPy exercises to get fluent with vectorisation and broadcasting.
- 3
04Self-test
Answer in your head, then open to check.
What is NumPy broadcasting?
Arrays of different shapes are expanded by rule and then computed element-wise.
Why use a virtual environment?
It isolates each project’s dependency versions so they don’t conflict.
Why is vectorised code faster than Python loops?
It runs in batched C/BLAS code and skips per-element interpreter overhead.
On these routes: Application Developers · Algorithm Researchers · Domain Scientists