
Machine Learning from Scratch: The Systems View (Junior Edition)
A 2-month intensive program designed to prepare aspiring ML Systems Engineers for junior-level roles by building strong mathematical intuition, core ML understanding, and systematic thinking about production systems. Students will master the mathematical foundations (linear algebra, calculus, probability), understand essential ML concepts (loss functions, optimization, regularization), and progressively implement systems using Python, scikit-learn, and PyTorch. The program emphasizes conceptual clarity before coding, preparing learners to design, implement, and reason about ML systems that work in production environments.

7
Modules — Structured path
56
Interactive AI lessons
Flexible
Self-paced
Beginner
Recommended experience
What You'll Learn
Apply linear algebra operations (matrix multiplication, decomposition, eigenvalues) to understand data transformations and dimensionality reduction in ML contexts
Compute gradients and partial derivatives to explain how optimization algorithms update model parameters
Use probability distributions and Bayes' rule to model uncertainty and interpret probabilistic predictions
Explain how loss functions quantify prediction error and guide the learning process for different ML tasks
Describe gradient descent optimization and its variants, including how learning rates and batch sizes affect convergence
Analyze the bias-variance tradeoff to diagnose underfitting and overfitting, and apply regularization strategies to improve generalization
Implement linear regression, logistic regression, and decision trees from mathematical principles, explaining how each algorithm makes predictions
Build and evaluate classification and regression models using scikit-learn, applying proper train-test splits and cross-validation
Select appropriate algorithms for different problem types based on data characteristics, interpretability needs, and performance requirements
Design and implement reproducible data preprocessing pipelines handling missing values, scaling, and encoding
Engineer informative features from raw data using domain knowledge and automated techniques
Detect and handle data quality issues (outliers, imbalanced classes, leakage) that compromise model validity
Explain how neural networks compose non-linear transformations through layers, and how backpropagation computes gradients for all parameters
Implement feedforward and convolutional neural networks in PyTorch, understanding data loaders, loss functions, and optimization loops
Diagnose and address common training challenges (vanishing gradients, overfitting, slow convergence) using appropriate techniques
Design reproducible ML experiments with proper versioning, logging, and documentation practices
Implement model evaluation strategies that detect overfitting, distribution shift, and performance degradation
Deploy a trained model as a containerized service with basic monitoring and understand the path toward production MLOps
Build an end-to-end ML pipeline solving a real-world problem, from data exploration through model deployment
Document design decisions, trade-offs, and evaluation methodology in a professional technical report
Present and defend modeling choices to a technical audience, demonstrating systematic thinking about ML systems
Skills You'll Gain
150 skillsProgram Structure
Meet Your Expert

Firas Bayram
Machine LearningArtificial Intelligence researcher and university instructor specializing in adaptive learning systems, large language models, and generative AI. Passionate about bridging cutting-edge AI research with real-world applications and helping leaders adopt modern practical, data-driven AI solutions.
Ready to start learning?
Sign up for free and enroll in this program.