AI development
Ten weeks building software that uses language models properly: APIs, embeddings, retrieval, evaluation and cost.
- Grades
- 10–12
- Ages
- 15–18
- Length
- 10weeks
- Sessions a week
- 2
- Each session
- 90min
- Class size
- 15max
What this course is
This is a software engineering course, not a course about AI as a topic. Students write Python that calls a model API, and everything they meet — tokens, embeddings, retrieval, evaluation, rate limits, cost — arrives because their program ran into it.
We spend an unusual amount of time on evaluation, because it is where most student AI projects fall over. A demo that works on the three examples the student tried is not a working system, and learning to build a small test set and measure against it is the single most useful habit in the course.
We are honest about what this is not. Students do not train a model from scratch, which needs mathematics they have not met and hardware nobody has. They build with models, they learn what is happening well enough to reason about failures, and they finish with an application that does something real.
Week by week
Every week ends with something that did not exist at the start of it. That is what is listed under “ends with”.
- Week 01
What a language model is doing
Tokens, prediction, context windows and temperature, explained without the mathematics but without hand-waving either.
Ends with: A written explanation of why the same prompt can return different answers.
- Week 02
Calling an API from code
Authentication, request and response shape, keeping a key out of a repository, and handling an error rather than assuming a reply.
Ends with: A Python script that sends a prompt and prints the response.
- Week 03
Prompting as engineering
System prompts, examples, output formats, and constraining a model to return something a program can parse.
Ends with: A script that reliably returns valid, parseable JSON.
- Week 04
Structured output and tool use
Schemas, function or tool calling, and letting a model choose which action to take.
Ends with: A small assistant that can call two of the student's own functions.
- Week 05
Embeddings and similarity
Turning text into vectors, what closeness means in that space, and building a semantic search over a set of documents.
Ends with: A working semantic search over the student's own document set.
- Week 06
Retrieval augmented generation
Chunking, storing, retrieving and putting only relevant context into the prompt. Why this reduces invention.
Ends with: A question-answering system grounded in supplied documents.
- Week 07
Evaluation
Building a test set, measuring against it, and catching a regression. The difference between a demo and a system.
Ends with: An evaluation script the student runs against their own project.
- Week 08
Cost, latency and limits
Token accounting, caching, batching, rate limits, and estimating what a project would cost to run for a month.
Ends with: A written cost and latency budget for the student's project.
- Week 09
Safety, bias and honest claims
Where these systems fail, what a student should not claim their project does, and disclosing AI use in their own work.
Ends with: A limitations section written for the student's project README.
- Week 10
Final project and review
Finishing, documenting and demonstrating the project, including its evaluation results and its failure cases.
Ends with: A documented repository with an evaluation harness and a stated set of limitations.
What they will be able to do
- Build an application against a language model API in Python
- Implement semantic search and retrieval over their own documents
- Evaluate a system against a test set rather than trusting a demo
- Reason about cost, latency and failure modes before shipping
What they build
- A script that returns reliably parseable structured output
- A small assistant that calls the student's own functions
- A semantic search over a personal document set
- A grounded question-answering application with an evaluation harness