Track 1
Beginner
For anyone joining without an ML background. By the end you will understand what these systems do, why they fail the way they do, and you will have used them on real work.
You do not need maths for this track. You do not need to train anything. The goal is accurate intuition and working hands, in that order.
1What machine learning actually is
Beginner
Normal programming means writing the rules yourself: if the order is over 500, apply the discount. Machine learning turns that around. You hand the computer thousands of examples of orders and whether a discount was applied, and it works out the rule. You never write the rule, and often you cannot read it afterwards.
That trade is the whole deal. You get to solve problems where nobody could write the rules down, such as recognising a face or judging whether a review is angry. In exchange you lose the ability to point at a line of code and say why it did that.
It explains the two questions you will be asked constantly: "why did it do that?" and "can you make it stop?" A learned rule has no line number. Fixing behaviour means changing data, changing what you put in front of the model, or putting checks around it.
- CourseMachine Learning Crash Course Google. Free, interactive, with runnable notebooks. Do the Linear Regression and Classification modules only.
- CourseAI Fluency: Framework and Foundations Claude Academy. Four hours, free, no code. Good if you want the concepts without the engineering.
2Neural networks and deep learning
Beginner
A neural network is a long chain of very simple arithmetic. Each layer multiplies its input by a grid of numbers, adds a bit, and flattens anything negative. Stack enough of those layers and the thing can approximate almost any relationship you can imagine. "Deep" just means many layers.
Training is a search for the values in those grids. The network makes a guess, you measure how wrong it was, and every number gets nudged slightly in the direction that would have made it less wrong. Repeat a few billion times. The numbers are called weights, and a model is nothing more than a very large file of them.
Once you see that a model is a fixed file of numbers, a lot becomes obvious. It cannot learn from your conversation. It does not know today's date. It has no memory between calls unless you give it one. Everything that feels like memory is engineering you have to build.
The 3Blue1Brown video is the single best explanation of this that exists, and it is visual rather than mathematical. If you watch one thing on this page, watch that.
- ModuleNeural Networks Google ML Crash Course. Interactive, about 40 minutes.
- CoursePractical Deep Learning for Coders fast.ai. Free, nine lessons. Needs about a year of Python. Start here if you want to train models rather than only use them.
3Generative AI and large language models
Beginner
Older models produced a label: spam or not spam, cat or dog. Generative models produce content. A large language model is a generative model trained on an enormous amount of text with one objective: given everything so far, predict what comes next. Everything else it appears to do, answering questions, writing code, translating, is a consequence of being very good at that one task.
It is worth sitting with how strange this is. Nobody taught it to answer questions. Answering a question well happens to be an excellent way to predict the text that follows a question mark.
A model has no separate store of facts it checks against. Producing a true sentence and producing a plausible sentence are the same operation to it, and it has no signal telling it which one it just did. This is why it will invent a function name, a citation or a policy with total confidence. It is not lying and it is not broken. It is doing exactly what it was built to do.
- CourseHugging Face LLM Course, chapter 1 Free. Transformers, and the difference between encoder, decoder and encoder-decoder models.
- CourseAI Capabilities and Limitations Claude Academy. Three and a half hours on what these models can and cannot do.
4Tokens, context windows and cost
Beginner
The model never sees your letters. Your text is first cut into tokens, which are common chunks of characters, roughly four characters each. Each token becomes a number. The context window is how many of those tokens the model can hold at once, and it is a hard ceiling shared by your instructions, any files that were read, every tool result, and the reply it is still writing.
Two practical consequences. You are billed per token, in both directions, so a careless prompt that dumps a whole file into every call is a cost bug. And when the window fills, something has to be dropped or summarised, which is where long sessions start quietly forgetting the thing you told them at the beginning.
Almost every strange failure you will report in your first month traces back to this section. The model ignored an instruction because that instruction fell out of the window. It contradicted itself because the earlier turn was summarised away. It got slow and expensive because something large is being re-sent on every call.
- ToolTokenizer playground Paste text in and watch it split. Try code, try a long German word, try emoji. Switch models and watch the count change.
- DocsManaging costs Claude Code docs. Where the tokens actually go in a long session.
5Asking for things well
Beginner
Prompting is not a bag of magic phrases. Nearly all of it reduces to three habits: say precisely what you want, show an example of the output shape you expect, and give the model the material it needs instead of hoping it remembers. Telling a model to "think step by step" matters far less than telling it what the finished thing should look like.
The most useful shift is to stop writing requests and start writing briefs. A good brief states the task, the constraints, what to do when something is ambiguous, and what the output format is. Those are the same four things a new colleague would need.
- DocsPrompt engineering guide Anthropic. The techniques listed in rough order of how much they help.
Once a system has tools, files and multiple turns, prompting stops being the lever and context engineering takes over. Keep that in mind so you do not spend a year polishing prompts.
6Claude Code, first run
Beginner
Claude Code is an agent that works inside a repository. It reads files, edits them, runs commands, runs your tests, and commits. The difference from a chat window is that it acts on the real tree, which means it can verify its own work by running things, and it also means a careless session can make a mess. Both halves of that are worth internalising early.
Install it, then point it at a real repository and give it a small genuine task. Not a toy. Something you were going to do anyway and can judge the quality of.
# macOS, Linux or WSL
curl -fsSL https://claude.ai/install.sh | bash
cd your-project
claude
Write a CLAUDE.md in the repository root. Put the build command, the test command, the house style, and the two or three things people always get wrong in this codebase. It is read at the start of every session, and it is the highest-value file you will write this month.
- DocsQuickstart Walks through a first real task end to end.
- DocsCLAUDE.md and memory How persistent instructions work.
- CourseClaude Code 101 Claude Academy. Free and self-paced.
- GuideBest practices for agentic coding Anthropic. Read it after your first week of use, when the advice will mean something.
7Retrieval augmented generation, simply
Beginner
The model does not know your company's refund policy, your runbooks or last Tuesday's incident. RAG is the plain fix: before the model answers, go and find the relevant passage, paste it into the prompt, and let it answer from that. The name is grander than the idea. It is an open-book exam.
The retrieval part usually works by meaning rather than keywords. Each chunk of your documents is converted into a list of numbers that represents what it is about, and the question is converted the same way, so the system can find chunks that are close in meaning even when they share no words with the question.
RAG is the first thing to reach for when a model needs to know something specific to us, and it is almost always cheaper and better than fine-tuning. It also fails in a specific, recognisable way: when retrieval returns the wrong passage, the model answers confidently from the wrong passage. The model is not the problem in that case, and no amount of prompting will fix it.
- PaperRetrieval-Augmented Generation for Knowledge-Intensive NLP Tasks Lewis et al., 2020. The paper that named it. Read the abstract and figure 1.
8Agents, simply
Beginner
An agent is a model that has been given tools and put in a loop. It produces text saying which tool it wants and with what arguments. Your code runs that tool, hands back the result, and asks the model again. It keeps going until the job is done or a limit stops it.
That is the entire concept. There is no additional intelligence in the word "agent". The interesting engineering is in which tools exist, what goes back into the context each turn, and when the loop is allowed to stop.
If you decided the order of the steps in advance, you built a workflow, and that is usually the right answer: it is cheaper, faster and you can debug it. It becomes an agent when the model decides the order of steps itself. Reach for an agent when you genuinely cannot predict the path, not because it sounds more impressive.
- GuideBuilding effective agents Anthropic. The standard reference for the common patterns. Skim it now, read it properly on the intermediate track.
9Knowledge graphs, simply
Beginner
A knowledge graph stores facts as things and the relationships between them. Priya is a node. Acme is a node. "onboarded" is an edge connecting them. Instead of sentences mentioning Priya, you have a structure you can walk.
That matters for questions with more than one hop. "Which customers did Priya onboard that later churned" needs you to follow one relationship, then filter by another. Searching text for similar-looking passages cannot do that, however good the search is.
- CourseNeo4j GraphAcademy Free and hands-on. Neo4j Fundamentals then Cypher Fundamentals is about three hours and is enough to be useful.
The interesting version is combining both: a graph for relationships and vectors for finding passages. That is GraphRAG, on the advanced track.
10Using this day to day
Beginner
The gap between people who find these tools transformative and people who find them a toy is almost entirely habit, not knowledge. Karpathy's video below is two hours of someone competent working out loud, and it will teach you more about practical use than any list of tips.
- TalkIntro to Large Language Models Karpathy, one hour. The best single overview of how these models are built and why they behave as they do.
Finish line
You are done with this track when all of the following are true.
- You can explain to a non-engineer, without notes, why a language model invents citations.
- You can say what a token is and roughly how many tokens a page of text is.
- You have used Claude Code on a real task in a real repository, and written a
CLAUDE.md. - You can describe what RAG does in two sentences and name its characteristic failure.
- You can explain the difference between a workflow and an agent, and say which one you would build for a task.
The intermediate track opens the box: attention, embeddings, retrieval that works properly, tools and MCP, context engineering, and evaluation.
Maintained by the AI team. Corrections and additions are welcome as pull requests.