Data science & AI,
taught from scratch.
The complete path from your first line of Python to production AI — become a data analyst, data scientist, or AI engineer.
Pick the job. We’ll sequence the courses.
The right courses in the right order, taught from scratch. Three headline tracks here; 9 in all.
Data Analyst
Answer real business questions with data — SQL, pandas, charts that tell the story, and the analytics sense to turn numbers into decisions.
Data Scientist
From SQL to statistical rigor to communicating results that change decisions.
AI Engineer
Build AI products from first principles — neural nets, transformers, LLMs, RAG and agents, all the way to shipping them in production.
20 courses, 662 lessons. All of it free.
In learning order, grouped the way the field actually fits together. Each card opens its first lesson straight away.
The lessons readers open first.
Or jump to today’s pick — Eigenvalues & eigenvectors
Prep & reference, when it counts.
Interview rounds, a quick definition, the syntax you forgot — the fast lane next to the courses.
Interview Q&A
Real questions across SQL, ML, Python, statistics & AI — each with a worked answer and the trap to avoid. Filter by the role you're chasing.
Start practisingGlossary
245 data & AI terms in plain English — from overfitting to RAG — each linked to a lesson.
Look it upCheat sheets
6 dense one-pagers for Python, SQL, Pandas, NumPy, Git & scikit-learn — the syntax you actually reach for.
Grab oneFresh from the desk.
apply() is a for loop in disguise
Rewriting a Python loop as .apply() makes the code shorter and almost never makes it faster, because .apply() is the same loop with a nicer costume. Here is the ladder that does make it faster.
MCP went stateless — what server authors have to change
The 2026-07-28 revision deleted the initialize handshake and the session header, replaced server-initiated requests with a retry pattern, and put Roots, Sampling and Logging on a twelve-month clock.
Simpson's paradox is already in your dashboard
The new checkout converts better on desktop and better on mobile, and worse overall. Both statements are arithmetically correct, and one of them is about to be presented to your leadership team.
The small files problem eats your read throughput
A 400 GB table that takes forty minutes to scan is not a 400 GB problem. It is a 1.2-million-file problem, and every one of those files charges the same fixed toll.
From scratch, with the math
Every idea is built up from first principles — derivations traced step by step, then turned into working code you can follow line by line.
Every output is real
Code samples ship with their actual verified output — run before publishing, never guessed. What you see is what the code does.
One clear idea at a time
Short lessons in a deliberate order — each one hands off to the next, so the whole field clicks together instead of piling up.
Read more about datarekha · questions? get in touch