Skip to main content

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”.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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

Questions about this course