Python
A beginner-friendly, general-purpose language popular in data, AI, and scripting.
Build, train and deploy machine learning models into production software.
Machine learning engineers turn a model into a working service: they build training pipelines, deploy models behind APIs, monitor accuracy and speed, and retrain when data changes. They use Python, PyTorch or TensorFlow, SQL, containers and cloud platforms. Entry usually takes a computer science or math degree plus experience as a software or data engineer; many roles prefer a master's.
Take these courses in order, from beginner to mid-level.
The shared base every STEM career uses: working with numbers and units, testing ideas fairly, handling data and code, and explaining your work.
The everyday computer, internet, safety and AI skills every tech and STEM job assumes you already have.
Write clear emails and documents, present and run meetings, work well on teams, and navigate résumés, interviews and networking.
The practical math behind tech and STEM work: numbers, algebra, functions, geometry, logic and counting, with short code exercises.
Use the terminal with confidence, track your work with Git, and collaborate on GitHub with pull requests.
Learn to program in Python from zero: values, decisions, loops, functions, data structures, files, modules and a small data project.
Query, summarise, join and change data in a relational database with SQL, practised in your browser.
Describe data, reason with probability, and draw honest conclusions from samples, with short fill-in-the-blank Python exercises.
Learn how data moves between computers: layers, IP addresses and subnets, ports, DNS, DHCP, HTTPS, and the tools to troubleshoot it.
Understand tech roles and career ladders, pick a realistic learning route, build portfolio evidence, and navigate postings, interviews and your first 90 days.
Load, clean, reshape and explore real data with Python and pandas, then turn the results into clear findings.
Measure efficiency with Big-O, then use searching, sorting, hash maps, stacks, linked lists, trees, graphs and dynamic programming in Python.
Run a Linux server with confidence: users and permissions, services, packages, logs, SSH keys, bash scripts and scheduled jobs.
Learn how the public cloud works: service models, regions, shared responsibility, compute, storage, networking, IAM, secrets and cost control, using free tiers only.
The calculus and linear algebra behind science, engineering and machine learning: derivatives, integrals, vectors, matrices, gradients and eigenvalues, with Python exercises.
Model uncertainty with random variables and distributions, then estimate, test and update beliefs from data, with Python simulations you run in the browser.
Learn how machines learn from data: implement regression, trees, metrics, k-means, PCA and anomaly detection from scratch in NumPy, and practise honest evaluation.
Go from classic ML to the models used at work: neural networks, embeddings, CNNs, gradient boosting and LLM apps, plus evaluation, experiment tracking and a capstone.
Take models from notebook to production: reproducible training, serving APIs, retrainable pipelines, CI/CD for ML, drift detection, monitoring and governance.
A beginner-friendly, general-purpose language popular in data, AI, and scripting.
Step-by-step procedures for solving problems efficiently. Show up in every interview.
How data is organized in memory — lists, trees, graphs, hash maps. Underpins everything.
Core concepts of cloud providers (AWS, GCP, Azure): compute, storage, networking, IAM.
Containerization tool that packages applications so they run the same everywhere.
The math of uncertainty. Foundation for data analysis, science, and machine learning.
Hand-picked courses and reading from trusted free providers.
Free certification introducing TensorFlow, neural networks, and core ML techniques.
Harvard's free intro CS course — widely considered one of the best on-ramps to programming.
Free official primer on cloud computing and the core AWS services.
Write the server code, APIs and databases that web and mobile apps call.
Build statistical and machine learning models that predict outcomes from data.
Design, write, test and maintain software applications.