CS50's Introduction to Programming with Python
A comprehensive introduction to Python programming, covering functions, variables, control flow, exceptions, libraries, unit testing, file I/O, and object-oriented programming.
Learn numerical arrays, broadcasting, vectorized computation, matrix operations, and scientific Python fundamentals.
The official NumPy learning hub curates beginner and intermediate tutorials on N-dimensional arrays (`ndarray`), memory layout, indexing, slicing, broadcasting rules, and linear algebra routines. Mastering NumPy vectorization in Phase 0 directly prepares you for PyTorch tensors in Phase 3.
Course status is tracked independently from roadmap topic checkboxes so you can mark external courses without altering your topic mastery percentage.
Phase 0 Core Reference for Module 0.3
100% open-source documentation and interactive tutorials.
Status: Verified (2026-11-09)
Review these foundations before starting so you get the most out of this material:
In Phase 0: Programming Foundations
Essential companion for Module 0.3. Work through 'NumPy: the absolute basics for beginners' and the broadcasting guides.
A comprehensive introduction to Python programming, covering functions, variables, control flow, exceptions, libraries, unit testing, file I/O, and object-oriented programming.
Learn to load, inspect, filter, clean, and manipulate structured datasets.
Learn scientific plotting, mathematical visualization, and data visualization in Python.