Module 00: Prerequisites
Build programming and math foundations before the ML modules. This stage is Stage 0 in the learning path.
What You'll Learn
- Python programming fundamentals
- Linear Algebra: Deep understanding of vectors, matrices, and transformations
- Statistics & Probability: Coverage for model evaluation
- Calculus: Optimization and gradient descent for training models
- Setting up your development environment
Modules
01-python-basics
Learn Python from scratch: structured as AI programming with Python: core syntax, functional and object-oriented patterns, files, and exceptions before math-heavy ML topics.
Topics:
- Variables, operators, control flow, strings, lists, tuples, sets, and dictionaries;
importand modules;break/continue/pass - Functions and functional programming;
*args/**kwargs; nested functions and scope - Introduction to OOP: classes and objects; class and object theory; class and object implementation
- Iterators and generators (memory-efficient processing; connects to ML data pipelines); lambda functions;
map,filter, andreduce - File handling: text and binary I/O; read position with
tell/seek; context managers (with); JSON and pickle (tradeoffs vs human-readable formats) - Decorators; namespaces and the LEGB scope rule
- Inheritance and polymorphism; encapsulation and abstraction
- Practice problems based on file handling
- Exceptions:
try/except/else/finally - Tuples and other built-in types (as needed for data pipelines)
- Time complexity and algorithm efficiency (Big O notation)
Capstone project:
- Movie script generator. Apply files, strings, control flow, and optional OOP to build a small script-generation tool end to end. Full runnable code (CSV,
tell/seek,try/except/else/finally) lives in Capstone: Movie script generator.
Time Estimate: 2-3 weeks
Additional Resources:
- DSA for ML Guide: Essential data structures and algorithms specifically for machine learning
- DSA Course (Python): Full beginner-to-interview DSA course (arrays, strings, trees, graphs, patterns)
02-linear-algebra
Deep dive into linear algebra. The mathematical foundation of machine learning.
Topics:
- Vectors and Vector Operations (addition, dot product, norms)
- Matrices and Matrix Operations (multiplication, transpose, inverse)
- Linear Transformations and their geometric meaning
- Eigenvalues and Eigenvectors (with PCA applications)
- Matrix Decompositions (SVD, QR, Eigendecomposition)
- Applications in Neural Networks, Linear Regression, PCA
Time Estimate: 2-3 weeks
03-statistics-probability
Statistics and probability for evaluating models and reasoning about uncertainty.
Topics:
- Descriptive Statistics (mean, median, mode, variance, std dev, quartiles)
- Correlation and Covariance
- Probability Fundamentals (conditional probability, Bayes' theorem)
- Probability Distributions (Normal, Binomial, Poisson)
- Inferential Statistics (sampling, CLT, confidence intervals)
- Hypothesis Testing (t-tests, chi-square, ANOVA intuition; p-values and effect size mindset)
- Applications in Model Evaluation and Feature Analysis
Time Estimate: 2-3 weeks
04-calculus
Calculus for optimization and training machine learning models.
Topics:
- Derivatives and their geometric meaning
- Partial Derivatives for multivariable functions
- Gradients and direction of steepest ascent/descent
- Gradient Descent Algorithm (with learning rate)
- Chain Rule and Backpropagation
- Optimization techniques (momentum, local vs global minima)
- Applications in Neural Network Training and Linear Regression
Time Estimate: 1-2 weeks
05-environment-setup
Set up your development environment for ML work.
Topics:
- Installing Python
- Virtual Environments
- Installing Jupyter Notebook
- Installing Essential Libraries
- IDE Setup (VS Code/PyCharm)
- Git & GitHub Setup
Time Estimate: 1 day
Note: The file was renamed from 03-environment-setup.md to 05-environment-setup.md to maintain logical ordering.
Additional Resources
- Advanced Prerequisites Topics - Advanced Python concepts, NumPy operations, mathematical concepts, performance optimization, and advanced statistics
- Prerequisites Project Tutorial - Build a neural network from scratch using only NumPy, combining all prerequisite skills
- Prerequisites Quick Reference - Quick lookup guide for Python syntax, NumPy operations, math formulas, and common patterns
Learning Objectives
By the end of this phase, you should be able to:
- Write basic Python programs
- Understand time complexity and write efficient code
- Use iterators and generators for memory-efficient processing
- Understand and work with vectors and matrices
- Perform statistical analysis and understand probability
- Understand gradients and optimization (gradient descent)
- Set up and use Jupyter Notebooks
- Install and manage Python packages
Foundation exit criteria (before Module 01)
Do not start Module 01 until you can pass this gate. Weak foundations here are the main reason learners stall later.
| Skill | Self-check |
|---|---|
| Python | Write a function + class that reads a CSV and handles a missing-file error |
| Complexity | State Big-O of a single loop vs nested loop over n items |
| Linear algebra | Multiply two 2×2 matrices; explain what a dot product measures |
| Statistics | Compute mean and standard deviation; explain when median beats mean |
| Calculus | Describe gradient descent and the role of learning rate |
| Environment | Create a venv, pip install packages, open Jupyter |
Proof of work (pick one): Movie script capstone or NumPy neural network tutorial
Full job-market context: Foundation & Job Market Readiness
Exercises
Each module includes:
- Concept explanations
- Code examples
- Practice exercises
- Solutions
Getting Started
- Start with
01-python-basics - Complete all exercises
- Study
02-linear-algebra(foundation of ML) - Study
03-statistics-probability(for model evaluation) - Study
04-calculus(for optimization) - Set up your environment in
05-environment-setup
Tips
- Don't skip this phase! A strong foundation makes everything easier
- Practice coding daily, even if just 30 minutes
- Use Python's interactive mode to experiment
- Don't worry about mastering everything. You'll learn more as you go
Documentation & Learning Resources
Python Programming
Official Documentation:
Free Courses:
- Python for Everybody (Coursera): Free audit available
- Python Tutorial (W3Schools)
- Learn Python (Codecademy): Free tier available
- Python Basics (Real Python)
Interactive Learning:
Mathematics for ML
Linear Algebra:
- Khan Academy - Linear Algebra: Free comprehensive course
- 3Blue1Brown - Essence of Linear Algebra: Visual explanations
- MIT 18.06 Linear Algebra: Free MIT course
- Linear Algebra (Khan Academy)
Statistics:
- Khan Academy - Statistics: Free comprehensive course
- Statistics Course (Coursera): Free audit available
- Introduction to Statistics (edX)
Calculus:
- Khan Academy - Calculus: Free course
- 3Blue1Brown - Essence of Calculus: Visual explanations
- MIT Single Variable Calculus: Free MIT course
Mathematics for ML (Combined):
- Mathematics for Machine Learning (Coursera): Free audit available
- Mathematics for ML (mml-book.github.io): Free online book
- 3Blue1Brown - Essence of Linear Algebra: Highly recommended visual explanations!
- 3Blue1Brown - Essence of Calculus: Visual calculus explanations
Git & Version Control
Essential for ML Projects:
- Complete Git & GitHub Guide: Commands, outputs, exercises, and solutions, outputs, exercises, and solutions
- Git Official Documentation: Official Git reference
- GitHub Docs: GitHub-specific documentation
- Learn Git Branching: Interactive visual tutorial
Why Learn Git:
- Track changes in your ML projects
- Collaborate with others
- Backup your work
- Professional standard in data science
Exit gate (Stage 0)
Before starting Module 01, complete Gate A: Python fluency, Big-O, linear algebra basics, stats, gradient intuition, and the movie-script or NumPy NN capstone.
Next Module: 01-python-for-data-science
Important Notes
Mathematics Learning Strategy
- Don't Skip Math: Strong mathematical foundation makes ML much easier
- Focus on Intuition: Understand concepts, not just formulas
- Practice with Code: Use NumPy to implement concepts
- Visual Learning: Watch 3Blue1Brown videos for geometric intuition
- Apply to ML: Connect each concept to ML applications
Recommended Learning Order
- Linear Algebra First: Foundation for everything
- Statistics Second: Needed for data understanding
- Calculus Third: Needed for optimization
- Practice Together: Work on exercises combining all three
Time Investment
- Total Time: 6-8 weeks for thorough understanding
- Minimum: 4 weeks for basic understanding
- Practice: Code along with examples, don't just read!
Try next: A strong mathematical foundation will make all subsequent ML learning much smoother. Take your time with this phase!