Skip to content
PlayOwl

Find a course

Search every subject world, from Preschool to Grade 12. The first five courses of every subject path are free.

120 courses

Courses found

Coding · Preschool

Cause and Effect

With Olly, children notice that doing something makes something happen: water a seed and it grows, push a ball and it rolls, tap an arrow and Bolt the robot moves. They practise predicting what will happen next and play a 'Robot, robot!' game with a grown-up.

  • 3 lessons
  • About 20 min
  • Quiz: 4 questions
Free starter

Coding · Preschool

First, Next and Last

Children learn the words first, next and last, put picture steps of familiar routines in order (plants, butterflies, hand washing) and discover with Olly that some steps only work in the right order. Sequencing is the first big idea of programming.

  • 3 lessons
  • About 20 min
  • Quiz: 4 questions
Free starter

Coding · Preschool

Give Olly Two Instructions

Children follow two-step instructions with Olly, then give Bolt the garden robot two arrow instructions to reach its charging pad. They discover that the order of two instructions can matter when a hedge is in the way.

  • 3 lessons
  • About 25 min
  • Quiz: 4 questions
Free starter

Coding · Preschool

Follow a Picture Sequence

Children read picture steps from left to right, one at a time: a fruit-bowl recipe, a clap-and-stomp picture code and arrow pictures for Bolt the robot. They follow each sequence exactly and copy arrow pictures into blocks.

  • 3 lessons
  • About 25 min
  • Quiz: 4 questions
Free starter

Coding · Preschool

Find the Missing Step

Children spot picture plans with a gap, choose the missing step by looking at the picture before and after, and fix Bolt the robot's programs by adding the missing arrow. This is their first taste of debugging: finding and fixing a problem.

  • 3 lessons
  • About 25 min
  • Quiz: 4 questions
Free starter

Coding · Preschool

Make and Test a Simple Route

Children plan routes of two or three arrows for Bolt the robot, test them by running and looking carefully at where Bolt stops, and fix routes that bump or stop short. A floor-grid game lets them be the robot.

  • 3 lessons
  • About 30 min
  • Quiz: 4 questions

Coding · Pre-K

Sequences That Reach a Goal

Children learn that every sequence has a goal. They match everyday sequences to their goals, build longer arrow sequences that take Bolt the robot to its charging pad, and check sequences step by step to see whether they really reach the goal.

  • 3 lessons
  • About 30 min
  • Quiz: 4 questions
Free starter

Coding · Pre-K

Repeat a Simple Action

Children notice actions that happen again and again, count how many times they repeat, and say it the short way: repeat 3 times: hop. Then they use Bolt's repeat block to move the robot many squares with just a few blocks.

  • 3 lessons
  • About 30 min
  • Quiz: 4 questions
Free starter

Coding · Pre-K

Choose Between Two Routes

Children find two different routes to the same goal, count the steps on each to find the shorter one, and choose a route that goes around a problem such as a puddle or a hedge. Bolt the robot tests every choice.

  • 3 lessons
  • About 30 min
  • Quiz: 4 questions
Free starter

Coding · Pre-K

Spot and Fix an Instruction

Children hunt for the one wrong step, or bug, in everyday plans and in Bolt the robot's programs. They follow programs step by step to see where things first go wrong, then change just the wrong instruction to fix it.

  • 3 lessons
  • About 30 min
  • Quiz: 4 questions
Free starter

Coding · Pre-K

Plan Before You Run

Children learn Olly's planning routine (look, trace and say the plan, build, run and check). They predict where Bolt the robot will stop before running, plan routes that collect a gem, and compare what happened with their plan.

  • 3 lessons
  • About 30 min
  • Quiz: 4 questions
Free starter

Coding · Pre-K

Create a Picture Algorithm

Children learn the word algorithm (steps in order that finish a job), make their own picture algorithms by choosing helpful pictures and ordering them, and test them by asking a grown-up to follow them exactly, then improve what did not work.

  • 3 lessons
  • About 35 min
  • Quiz: 4 questions

Coding · Kindergarten

Plan a Sequence

Kindergartners learn to break a big job into small, numbered steps and to use first, next, then and last. They plan Bolt the robot's routes before building them, including routes that must collect gems before the charging pad counts.

  • 3 lessons
  • About 45 min
  • Quiz: 5 questions
Free starter

Coding · Kindergarten

Algorithms in Everyday Routines

Kindergartners discover that the routines they follow every day (washing hands, tidying up, getting dressed) are algorithms. They decide which steps must stay in order and which can swap, and compare two algorithms for the same job to choose the clearer, complete, shorter one.

  • 3 lessons
  • About 45 min
  • Quiz: 5 questions
Free starter

Coding · Kindergarten

Move a Character with Blocks

Kindergartners learn the four arrow blocks, read short block programs by moving a finger one square per block, and build their own programs that steer Bolt the robot around hedges and over gems to the charging pad.

  • 3 lessons
  • About 45 min
  • Quiz: 5 questions
Free starter

Coding · Kindergarten

Repeat Actions

Kindergartners find the part of a sequence that repeats, including groups such as clap-stomp or up-right, write it the short way (repeat 3 times: up, right), and use Bolt's repeat block to climb staircases and cross long gardens with only a few blocks.

  • 3 lessons
  • About 45 min
  • Quiz: 5 questions
Free starter

Coding · Kindergarten

Find and Fix Bugs

Kindergartners learn three kinds of bugs (missing, extra and wrong steps), find the first block that sends Bolt the wrong way by stepping through a program, and fix bugs and test again until the program works.

  • 3 lessons
  • About 45 min
  • Quiz: 5 questions
Free starter

Coding · Kindergarten

Create and Explain a Simple Interactive Story

Kindergartners learn that in an interactive story the reader's taps are events that make things happen. They plan a story with a beginning, a choice and an ending for each choice, and explain how it works using first, if you tap, then. They make story cards to share at home.

  • 3 lessons
  • About 50 min
  • Quiz: 5 questions

Coding · Grade 1

Sequence and Predict

First graders read block programs from top to bottom, put blocks in order to make a character say and do things, and predict what a program will do before running it. They check predictions by running programs and tracing again when a prediction is wrong.

  • 3 lessons
  • About 55 min
  • Quiz: 6 questions
Free starter

Coding · Grade 1

Events Start Actions

First graders learn that an event, such as a click, a key press or the green flag, starts a script. They match events to scripts in programs with several scripts, predict what happens when events occur, and build their own event scripts for Olly.

  • 3 lessons
  • About 55 min
  • Quiz: 6 questions
Free starter

Coding · Grade 1

Loops Repeat Useful Work

First graders replace repeated blocks with repeat loops, trace programs with loops to predict what happens inside and after the loop, and use loops to do useful work for Bolt the robot: staircases, long snaking paths and rows of gems.

  • 3 lessons
  • About 60 min
  • Quiz: 6 questions
Free starter

Coding · Grade 1

Change a Character State

First graders learn that a character's state is what is true about it right now: its costume, position, direction and score. They trace programs to find the state at the end, and use forward and turn blocks, whose result depends on which way Bolt the robot is facing.

  • 3 lessons
  • About 60 min
  • Quiz: 6 questions
Free starter

Coding · Grade 1

Debug with a Trace

First graders make a trace of a program, recording Bolt's row, column and direction after each block. They compare traces with plans to find the first wrong block (which may come before the bump), and fix bugs in programs and loops, then test again.

  • 3 lessons
  • About 60 min
  • Quiz: 6 questions
Free starter

Coding · Grade 1

Build an Interactive Story

First graders plan an interactive story (characters, a beginning, events and an ending), turn each event in the plan into a block script with loops where things repeat, and test the story with a partner, fixing any script that does not match the plan.

  • 3 lessons
  • About 70 min
  • Quiz: 6 questions

Coding · Grade 2

Design a Clear Algorithm

Second graders learn what makes an algorithm clear, complete and in order, write clear forward-and-turn algorithms for Bolt the robot, follow a real sorting algorithm (the swap algorithm) step by step, and test algorithms on several cases to find and fix problems.

  • 4 lessons
  • About 70 min
  • Quiz: 8 questions
Free starter

Coding · Grade 2

Events and Sequences

Second graders see how an event starts a sequence of blocks, predict what programs with several event scripts do when events happen in a given order (and more than once), and build arrow-key scripts that control a character like a game.

  • 3 lessons
  • About 65 min
  • Quiz: 7 questions
Free starter

Coding · Grade 2

Loops with a Purpose

Second graders decide when loops are useful, find the repeating unit in a path and choose the right repeat count, trace loops that change a value each time round, and use loops to climb staircases and patrol square paths with forward and turn blocks.

  • 4 lessons
  • About 70 min
  • Quiz: 8 questions
Free starter

Coding · Grade 2

Decisions and Conditions

Second graders learn that a condition is a true-or-false question, trace if-then-else programs where only one part runs, use conditions to build sorting machines (including a two-question sort), and write their own if-then-else rules.

  • 4 lessons
  • About 70 min
  • Quiz: 7 questions
Free starter

Coding · Grade 2

Coordinates in a Block World

Second graders name and plot squares with coordinates (x across, y up), see how each arrow move changes x or y, and use the differences in coordinates to plan Bolt the robot's routes around hedges.

  • 4 lessons
  • About 70 min
  • Quiz: 8 questions
Free starter

Coding · Grade 2

Debug and Test Cases

Second graders write test cases (an input and the expected result worked out by hand), run programs to compare actual and expected results, discover that a single passing test can hide a bug, and use a failing test with a trace to find, fix and re-test.

  • 3 lessons
  • About 70 min
  • Quiz: 8 questions

Coding · Grade 2

Create a Simple Puzzle

Second graders become puzzle designers for Bolt the robot. They plan a puzzle (start, pad, hedges, gems and a goal), check it is solvable and find its par (the fewest blocks), tune it to be harder or easier, and test it with a player, using feedback to improve it.

  • 4 lessons
  • About 75 min
  • Quiz: 8 questions

Coding · Grade 2

Explain and Improve a Program

Second graders explain programs by giving their purpose and steps, improve programs by making them shorter (loops) and clearer (good names and comments) without changing what they do, and improve an algorithm in a guessing game by always guessing the middle.

  • 4 lessons
  • About 75 min
  • Quiz: 8 questions

Coding · Grade 3

Algorithms and Decomposition

Third graders decompose big tasks into sub-tasks, split long robot routes into legs programmed as loops, learn linear search (and how sorted lists let a search stop early), and compare algorithms by counting their worst-case steps.

  • 4 lessons
  • About 80 min
  • Quiz: 8 questions
Free starter

Coding · Grade 3

Block Variables and State

Third graders learn that a variable is a named box holding one value, trace set and change blocks with trace tables, use several variables to keep a game's state (score, lives, level), and use counters inside loops to count and to build totals.

  • 4 lessons
  • About 80 min
  • Quiz: 8 questions
Free starter

Coding · Grade 3

Events and Interaction

Third graders build programs that interact with users: clicks, keys and typed answers. They use messages (broadcast and wait, when I receive) so characters can start each other's scripts, trace programs with several characters, and design interactions with clear instructions and helpful feedback.

  • 4 lessons
  • About 80 min
  • Quiz: 8 questions
Free starter

Coding · Grade 3

Loops and Patterns

Third graders draw regular shapes with loops (repeat the sides, turn 360 divided by the number of sides), predict number patterns made by loops, use repeat until loops that stop on a condition (and spot ones that never stop), and find repeating parts in robot paths.

  • 4 lessons
  • About 80 min
  • Quiz: 8 questions
Free starter

Coding · Grade 3

If-Then Decisions

Third graders read comparisons (equal to, more than, less than), trace if-then and if-then-else blocks inside loops, use decisions to win, lose and react in games, and choose conditions that match rules exactly, testing the boundary value.

  • 4 lessons
  • About 80 min
  • Quiz: 8 questions
Free starter

Coding · Grade 3

Trace, Test and Debug

Third graders trace programs with trace tables, design normal, boundary and unusual test cases, learn four common bug types (off by one, boundary, wrong order, not reset), and fix bugs with a failing test, a trace and a full re-test.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions

Coding · Grade 3

Build a Maze Game

Third graders plan and build a maze game in parts: a game plan, arrow-key controls with walls that push the player back, a gems score with a win condition and message, and playtesting to find and fix bugs such as an early win or a score that is not reset.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions

Coding · Grade 3

Document and Share an Approved Project

Third graders write documentation for a project (title, what it is, how to use it, known problems, credits), learn to use only their own work or work they have permission to use and to give credit, share only with a trusted adult's approval and without personal information, and give kind, specific, helpful feedback.

  • 4 lessons
  • About 75 min
  • Quiz: 8 questions

Coding · Grade 4

Plan Programs with Flowcharts

Fourth graders learn the flowchart shapes (oval, rectangle, parallelogram, diamond and arrows), follow flowcharts with decisions and loops for given inputs, and turn flowcharts into pseudocode, finishing by planning a guess-my-number program as a flowchart.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 4

Variables and Expressions

Fourth graders evaluate expressions with the order of operations, trace assignments that use the current values of variables (including updating a variable from itself), turn word problems into expressions with clear variable names, and test programs that use input with several values.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 4

Conditions and Branching

Fourth graders use IF, ELSE IF and ELSE to choose between many paths, learn that the first true condition wins (so order matters), trace nested decisions, and test every branch, including the boundaries between branches.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 4

Loops and Reusable Patterns

Fourth graders use counting loops (FOR i FROM 1 TO n), accumulate totals, counts and the biggest value so far, combine loops with decisions to count values that pass a test, and replace copied-and-pasted code with loops that capture the repeating pattern.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 4

Functions with Simple Inputs

Fourth graders define their own blocks (functions) and call them to reuse steps, give blocks inputs so one block can do slightly different jobs, trace programs that call functions (including from loops), and use Bolt's dance block to reuse a group of moves in a robot program.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 4

Coordinates and Game Events

Fourth graders describe and change a game character's position with x and y, program arrow-key events that move it, add boundary checks that keep it on the stage, and detect when two characters meet (same x and same y) to react with a score or message.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions

Coding · Grade 4

Test Edge Cases and Debug

Fourth graders hunt for edge cases (zero, empty input, boundaries, capitals and other unusual inputs), write test plans with expected results and reasons, use their tests to catch hidden buggy versions of a real function, and debug with a reproduce-trace-fix-retest routine.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions

Coding · Grade 4

Build and Explain an Original Mini-Game

Fourth graders design an original mini-game (goal, controls, rules, score, win and lose, scripts), build it from events, variables, conditions, loops, functions and messages, playtest it with planned test cases including edge cases, and explain how it works and why they designed it that way.

  • 4 lessons
  • About 95 min
  • Quiz: 8 questions

Coding · Grade 5

Decomposition and Algorithm Design

Fifth graders decompose problems into sub-problems and design pseudocode algorithms for them, compare linear and binary search by counting comparisons (and learn why binary search needs sorted data), carry out the swap (bubble) sort counting passes and swaps, and choose algorithms by weighing trade-offs.

  • 4 lessons
  • About 95 min
  • Quiz: 8 questions
Free starter

Coding · Grade 5

Variables, Types and Input

Fifth graders learn the main data types (whole and decimal numbers, text and Booleans), see how + adds numbers but joins text, handle user input that arrives as text by converting it with NUMBER and TEXT, and choose sensible types and names when designing a program's data.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions
Free starter

Coding · Grade 5

Conditions and Boolean Ideas

Fifth graders combine conditions with AND and OR, use NOT and Boolean variables, complete truth tables, and turn real rules into compound conditions, testing them with cases that make each part true and false.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions
Free starter

Coding · Grade 5

Nested Loops and Patterns

Fifth graders trace nested loops (the inner loop runs completely for every time round the outer loop), use them to build rows-and-columns patterns, make growing triangle patterns by using the outer counter in the inner loop, and program robots with repeats inside repeats.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions
Free starter

Coding · Grade 5

Functions and Parameters

Fifth graders define procedures with several parameters and call them with arguments, write functions that RETURN values used in expressions, trace calls inside loops and nested calls, and decompose programs (and robot routes) into functions with one clear job each.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions
Free starter

Coding · Grade 5

Lists and Structured Data

Fifth graders store values in lists, get items by position (counting from 1 in PlayOwl pseudocode) and find the length, loop through lists with FOR EACH to total, count and find the biggest, change and search lists, and answer questions from structured records in a table.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions

Coding · Grade 5

Blocks-to-Text Bridge

Fifth graders connect blocks and pseudocode to Python: print, variables with =, for loops with range, and if, elif and else marked by colons and indentation. They find and fix common syntax errors and trace short Python programs.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions

Coding · Grade 5

Test, Document and Publish a Small Application

Fifth graders plan a small application (purpose, users, inputs, processing, outputs), test it with normal, edge and invalid inputs (and catch hidden bugs with a test suite), document it with a README and helpful comments, and prepare it for responsible publishing with approval, privacy, accessibility and version notes.

  • 4 lessons
  • About 100 min
  • Quiz: 8 questions

Coding · Grade 6

Algorithms, Pseudocode and Tracing

Learners discover what makes an algorithm precise, ordered and finite by programming a library delivery robot, then plan algorithms in simple pseudocode. They learn to trace step by step with a trace table, and to debug by finding the first line where a traced value goes wrong.

  • 4 lessons
  • About 75 min
  • Quiz: 8 questions
Free starter

Coding · Grade 6

Python Foundations: Values and Expressions

Learners meet Python's four basic types (int, float, str and bool), evaluate arithmetic expressions with the order of operations, floor division and remainder, and join and repeat strings. They practise predicting the exact output of print statements, the skill that every later trace depends on.

  • 4 lessons
  • About 75 min
  • Quiz: 8 questions
Free starter

Coding · Grade 6

Input, Output and Variables

Learners see assignment as an instruction (work out the right side, then store), read user input with input() and convert it with int() and float(), format output with f-strings and choose valid, meaningful names. They finish by tracing complete programs, including the classic swap bug and its fix.

  • 4 lessons
  • About 80 min
  • Quiz: 8 questions
Free starter

Coding · Grade 6

Conditions and Boolean Logic

Learners use comparisons to ask True/False questions, trace if, elif and else to see which single branch runs, and combine conditions with and, or and not using truth tables. A reading-club badge program shows why the order of an elif chain matters and how boundary values reveal decision bugs.

  • 4 lessons
  • About 80 min
  • Quiz: 8 questions
Free starter

Coding · Grade 6

Loops and Iteration

Learners use for loops with range(), build running totals and counts with accumulators, and trace while loops that stop when a condition becomes False, including spotting infinite loops. Robot puzzles with repeat blocks show how repetition shortens programs, and learners decide when a for or while loop fits a task.

  • 4 lessons
  • About 80 min
  • Quiz: 8 questions
Free starter

Coding · Grade 6

Functions and Parameters

Learners define and call their own Python functions, follow the flow of control into and out of a function, pass arguments to parameters by position, and see the difference between returning a value and printing it. Robot puzzles with a reusable 'hop' function and a look at local variables show why functions make programs shorter, clearer and easier to change.

  • 4 lessons
  • About 80 min
  • Quiz: 8 questions

Coding · Grade 6

Lists, Tests and Debugging

Learners store many values in Python lists, use zero-based and negative indexes, and loop over lists to total, count and find the largest value. They then test a function by comparing expected and actual results, design edge-case tests that catch hidden buggy versions, and debug using error messages, tracing and temporary prints.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions

Coding · Grade 6

Build a Small Data or Puzzle Application

In this project course learners plan, build, test and explain a Word Puzzle Toolkit for a school puzzle club. They decompose the application into functions, assemble and trace string-processing features with loops and conditions, design test plans that catch hidden bugs, combine everything with a menu loop, and write design notes reviewed by a teacher.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions

Coding · Grade 7

Decompose a Larger Problem

Using a realistic field-trip organiser, learners break a large problem into a decomposition tree, describe each piece with inputs, process and outputs, use abstraction to keep only the details that matter, and generalise repeated patterns into parameterised functions. They then order the build by dependencies, connect the parts in a short main program, and decompose a new problem in a reviewed write-up.

  • 4 lessons
  • About 80 min
  • Quiz: 8 questions
Free starter

Coding · Grade 7

Python Functions and Data Structures

Learners extend their list skills with insert, remove, pop, slicing, in and sorting, then meet dictionaries for looking values up by key, including tallying with counts. They see how functions interact with mutable lists and dictionaries, and decide when a list, a dictionary or a combination of both best fits a task.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 7

Structured Input and Validation

Learners discover why programs must check input, using a coding-club sign-up form that keeps crashing. They classify presence, type, range, length and format checks, write checks with string methods, build validation loops that re-ask until input is valid, handle conversion errors with try and except, and choose normal, boundary and invalid test data.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 7

Algorithms for Search and Organization

Learners trace linear search and binary search, counting comparisons with an interactive search tracer, and see why binary search needs sorted data. They sort lists with bubble sort pass by pass and compare algorithms by how their work grows, deciding when sorting first pays off.

  • 4 lessons
  • About 80 min
  • Quiz: 8 questions
Free starter

Coding · Grade 7

JavaScript and Interactive Events

Learners read JavaScript by comparing it with Python, then learn how event-driven programs wait for clicks and key presses and respond with handler functions. Using a small event simulator, they trace how handlers change program state, and they debug the classic event bugs: calling instead of passing a handler, = instead of ===, resetting state inside a handler and forgetting to render.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 7

HTML and CSS for Interface Construction

Learners build the structure of a coding-club web page in HTML (elements, nesting, attributes, head and body), choose semantic elements that work for keyboard and screen-reader users, style pages with CSS selectors while predicting which rule wins in the cascade, and calculate box-model sizes. Accessible design (alt text, labels, contrast and focus) runs through the whole course.

  • 4 lessons
  • About 80 min
  • Quiz: 8 questions

Coding · Grade 7

Automated Tests, Debugging and Version History

Learners write automated tests with assert and test functions, design test cases from a specification that catch hidden buggy versions, and follow a systematic debugging process (reproduce, isolate, fix, re-test). They finish by using version history (commits, messages, diffs and reverting) to find when a bug appeared and to keep a project safe.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions

Coding · Grade 7

Build an Original Interactive Application

A guided project course: learners turn an original idea into user stories with priorities, design the interface and state with an events table, build and trace JavaScript handlers using a worked example (Flashcard Flipper), and finish with a test plan, user feedback and iteration. The reviewed project plan asks each learner to design their own original application.

  • 4 lessons
  • About 95 min
  • Quiz: 8 questions

Coding · Grade 8

Specify and Decompose a Software Project

Using a community-garden booking app, learners write and classify functional and non-functional requirements and constraints, identify stakeholders, and turn vague wishes into testable Given/When/Then acceptance criteria that become code checks. They decompose the system into modules with clear responsibilities and data flow, then plan an MVP, milestones and risks, and write a reviewed mini specification for a project of their own.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 8

Functions, Modules and Structured Data

Learners design functions that are easy for teammates to use (default and keyword arguments, docstrings, returning several values), organise code into modules and use the standard library, represent real data as lists of dictionary records with nested fields, and process records with filter, aggregate, transform and key-based sorting.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 8

Algorithms, Efficiency and Tradeoffs

Learners count the basic operations algorithms perform, classify growth as constant, logarithmic, linear or quadratic from the shape of the code, and predict how running time scales. They explore trading memory for time with sets and caching, and weigh efficiency against input size, frequency, clarity and resources when choosing an approach.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 8

Objects and Program Organization

Learners model the garden app with classes: they create objects from a class blueprint, write and trace __init__ and methods that use self, and build programs where objects contain and work with other objects, including the surprise of two variables referring to the same object. They finish by designing classes with single responsibilities, deciding which data and behaviour each class owns.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 8

User Interfaces, Events and State

Learners design interface behaviour as state machines with named states, events and allowed transitions, and separate the model (state) from the view (a single render function) so the screen never disagrees with the data. They trace longer JavaScript event sequences with guards and counters, and design helpful feedback: clear status messages, disabled controls and an undo stack.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 8

APIs with Controlled Mock Services

Learners discover how programs request data from other programs through APIs, using a local mock weather service so that no real network calls are made. They read requests, responses, status codes and JSON, parse JSON in Python, write code that checks status codes and missing fields with safe fallbacks and caching, and use APIs responsibly by protecting keys, minimising personal data and respecting limits.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions

Coding · Grade 8

Testing, Debugging and Secure Design

Learners make the garden app trustworthy: they design thorough unit tests that cover normal, edge and invalid inputs and every branch, debug systematically with tracebacks, minimal failing examples and assertions, and apply secure design principles (input validation, least privilege, safe defaults, failing securely, careful error messages). They finish by seeing why passwords are stored as hashes and why data must be kept separate from commands.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions

Coding · Grade 8

Build, Document and Demonstrate a Capstone

The Grade 8 capstone course guides learners from a specification to a finished, documented and demonstrated project. They plan milestones with a checkable definition of done, write documentation for different readers (README, docstrings, comments, user guide), gather honest evidence from tests and checklists without overclaiming, and plan a clear demonstration and a reviewed reflection.

  • 4 lessons
  • About 95 min
  • Quiz: 8 questions

Coding · Grade 9

Design a Fair and Enjoyable Mechanic

Learners start the game-development elective by treating games as systems of mechanics, dynamics and player experience, then judge fairness with exact probabilities and expected values computed by counting dice outcomes, find dominant strategies in payoff tables and rebalance them, and test a mechanic with a paper prototype and observed playtests, ending with a reviewed design document for an original mechanic.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions
Free starter

Coding · Grade 9

Algorithms and Problem Decomposition

High-school learners define algorithms precisely (finite, definite, effective, with input and output) and test procedures against that definition, including the unsolved Collatz problem as a case where testing is not proof. They represent algorithms as flowcharts and pseudocode, trace classic algorithms such as Euclid's GCD with trace tables, and decompose problems while comparing algorithms for correctness and efficiency.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 9

Coordinates, Vectors and Transformations

Using a fictional boating game, learners convert between world coordinates and screen pixels, move objects with vector addition, scaling, length and normalization, transform shapes by translation, scaling and rotation about a pivot, and apply vectors to gameplay: range checks with squared distances, aiming and fixing the diagonal-speed bug.

  • 4 lessons
  • About 95 min
  • Quiz: 8 questions
Free starter

Coding · Grade 9

Programming Foundations with Python

Learners see how the Python interpreter runs a program statement by statement, why indentation is part of the grammar and how comments work. They control output precisely with print's sep and end, classify and locate syntax, runtime and logic errors from messages and behaviour, and use types and built-in functions, including Python's round-half-to-even rule.

  • 4 lessons
  • About 80 min
  • Quiz: 8 questions
Free starter

Coding · Grade 9

Expressions, Variables and Input

Using a bike-share fare calculator, learners evaluate Python expressions with precedence and associativity (including floor division of negatives and right-to-left powers), use augmented and simultaneous assignment, read and convert input, and format output with f-string specifiers. They discover why floating-point arithmetic is approximate and learn practical rules: compare with a tolerance and keep money in integer cents.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 9

Game Loops, State and Input

Learners trace the input-update-render game loop frame by frame, make movement fair on every device with delta time and a fixed-timestep accumulator, organise menus, play, pause and game over as a state machine that controls which systems run, and derive pressed, held and released events from raw input, with buffering and remappable controls.

  • 4 lessons
  • About 95 min
  • Quiz: 8 questions
Free starter

Coding · Grade 9

Selection and Repetition

Built around a school weather station, the course develops selection (elif chains, nested conditions, branch order and boundaries) and Boolean logic (short-circuit evaluation and De Morgan's laws), then repetition patterns with for, while, break, continue, sentinels and nested loops. It closes with reasoning about loop correctness: termination, off-by-one errors and loop invariants.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions
Free starter

Coding · Grade 9

Collision and Simplified Physics

Learners detect collisions between axis-aligned boxes and circles, simulate motion with velocity, gravity and Euler steps, respond to collisions by resolving overlaps and bouncing with restitution, and examine the limits of simple physics, especially tunnelling at high speed and how substeps or swept tests prevent it.

  • 4 lessons
  • About 95 min
  • Quiz: 8 questions
Free starter

Coding · Grade 9

Characters, Animation and Behavior

Learners animate sprites from elapsed time with looping and one-shot sequences, give a non-player character a patrol-chase-search-return state machine with hysteresis, find shortest paths on grids with breadth-first search and program routes with blocks, and tune behaviour so it is readable and fair through telegraphing, reaction delays and learnable patterns.

  • 4 lessons
  • About 100 min
  • Quiz: 8 questions
Free starter

Coding · Grade 9

Functions and Modular Design

Using a fictional fitness-tracker app, learners trace calls between functions with the call stack, control scope by passing parameters and returning results instead of using globals, write precise contracts with preconditions and postconditions, and separate pure functions from side effects. They then design programs top-down, build them bottom-up and plan a modular program in a reviewed design task.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions
Free starter

Coding · Grade 9

Collections and Structured Data

Using a school clubs fair, learners work with Python's four core collections: lists (slicing, comprehensions, enumerate), tuples (immutable records and unpacking), sets (uniqueness and set operations) and dictionaries (lookup, counting, grouping and nested data). They reason about mutability, aliasing and copies, and choose the right collection for each job.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions

Coding · Grade 9

Levels, Difficulty and Accessibility

Learners design levels that teach mechanics step by step and guide players through layout, read playtest data (completion rates and attempts) to find difficulty spikes, trace a bounded dynamic difficulty adjustment rule, and build accessibility into games through remapping, toggles, captions, colour-independent cues, assist options and photosensitivity safety.

  • 4 lessons
  • About 95 min
  • Quiz: 8 questions

Coding · Grade 9

Testing, Debugging and Edge Cases

Learners design tests with equivalence partitions and boundary value analysis, build edge-case checklists for collections and text, and write test suites that catch hidden buggy versions of real functions. They debug as an investigation (reproduce, hypothesise, predict, fix, regression-test) and use assertions and automated tests to make programs check themselves, while keeping validation for user input.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions

Coding · Grade 9

Testing, Performance and Responsible Design

Learners test game rules with exact expected values, write reproducible bug reports, analyse performance against the frame budget and see how spatial grids cut collision checks, and evaluate responsible design: avoiding pay-to-win, loot boxes and dark patterns, supporting healthy play, and protecting young players' privacy and safety, ending with a reviewed responsible-design review.

  • 4 lessons
  • About 95 min
  • Quiz: 8 questions

Coding · Grade 9

Publish a Private Original Game Project

Learners plan an original game with prioritised, estimated features and milestones, check every asset's licence and keep a credits list, release the game privately with no personal information, and write an evidence-based postmortem, ending with a reviewed final project.

  • 4 lessons
  • About 110 min
  • Quiz: 8 questions

Coding · Grade 9

Build and Explain an Interactive Program

The Grade 9 project course: learners design an interactive text program (state, command functions and a main loop), trace it through sequences of valid and invalid commands using the worked example TaskBoard, test it with normal, boundary and invalid interactions, and explain it with clear code walkthroughs. A reviewed task asks each learner to plan and explain an interactive program of their own.

  • 4 lessons
  • About 95 min
  • Quiz: 8 questions

Coding · Grade 10

Structured Programming and Design Contracts

Using a school print-credit system, learners write structured code with guard clauses instead of deep nesting, specify functions with preconditions, postconditions and clear exceptions, protect data invariants in a class, and practise defensive programming by testing both sides of each contract and checking that refusals leave state unchanged.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions
Free starter

Coding · Grade 10

Objects, Classes and Encapsulation

Using a makerspace tool library, learners design classes that start valid, act through well-named methods and print readably with __str__. They protect data with encapsulation (underscore conventions and validating properties), distinguish class and instance attributes and identity from equality, and build classes from others with composition (has-a) and inheritance (is-a), including overriding and polymorphism.

  • 4 lessons
  • About 95 min
  • Quiz: 8 questions
Free starter

Coding · Grade 10

Collections and Algorithmic Patterns

Using real-world-style air-quality, loan and sales data, learners recognise and apply the core collection patterns (accumulate, count, filter, map, any/all, find-first and best-by-key), group and index data with dictionaries and zip, and use sliding windows and two pointers to avoid repeated work. They finish by testing each pattern's characteristic edge cases, including testsuite activities against hidden buggy versions.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions
Free starter

Coding · Grade 10

Searching, Sorting and Efficiency

Learners describe algorithm costs with Big-O notation, trace binary search with an interactive tracer, and trace selection sort and insertion sort pass by pass. They study merge sort as divide and conquer, explaining why it is O(n log n) and stable, and use growth rates to choose between sorting once and searching many times, dictionaries and Python's built-in sort.

  • 4 lessons
  • About 95 min
  • Quiz: 8 questions
Free starter

Coding · Grade 10

Files, Data Validation and Errors

Using athletics results files, learners read and write text files safely with with and in-memory file objects, validate every record for field count, type and range while logging rejects with line numbers, handle exceptions precisely with try, except, else and finally, and assemble a robust read-validate-process-report pipeline whose summary never hides rejected data.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions
Free starter

Coding · Grade 10

Events and User Interface State

Learners discover how JavaScript's event loop runs handlers and timers one at a time, use event objects and event delegation, and manage interface state with a single state object, actions and pure update (reducer) functions. They finish by designing responsive and accessible interactions: throttling rapid clicks, preventing double submissions, keyboard support, focus management and announced status messages.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions

Coding · Grade 10

Version Control, Tests and Collaboration

Learners work like a software team on a club-booking app: they use feature branches, pull requests and merges and resolve merge conflicts deliberately; write independent Arrange-Act-Assert unit tests and require tests before approving changes; give and respond to specific, kind and actionable code reviews; and use continuous integration to stop regressions reaching the main branch.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions

Coding · Grade 10

Build an Original Object-Oriented Project

In this project course learners design an object-oriented solution with nouns, verbs and CRC cards, trace a worked board-game library with collaborating Game, Member and Library classes, test classes and scenarios including side effects of refusals, and plan iterative development with a design log. A reviewed task asks each learner to plan an original object-oriented project of their own.

  • 4 lessons
  • About 100 min
  • Quiz: 8 questions

Coding · Grade 11

Abstract Data Types and Invariants

Learners separate abstract data types from their implementations, specifying stacks and queues by their operations and rules, and apply them to bracket matching, browser history and print queues. They then study representation invariants through a circular-buffer queue with wrap-around indexes, and compare implementations of the same ADT to see why clients must depend only on the interface.

  • 4 lessons
  • About 100 min
  • Quiz: 8 questions
Free starter

Coding · Grade 11

Data Structures and Their Tradeoffs

Learners compare dynamic arrays with linked lists, trace a toy hash table with buckets and collisions to see why dictionaries are fast and keys must be immutable, and build binary search trees, observing how insertion order changes their height and performance. They then choose structures for realistic workloads by comparing the costs of the operations that matter most.

  • 4 lessons
  • About 100 min
  • Quiz: 8 questions
Free starter

Coding · Grade 11

Algorithmic Complexity and Measurement

Learners derive Big-O bounds from code by counting operations through sequences, nested loops with dependent bounds and halving loops, distinguish best, worst and average cases, and check their analysis with exact operation counts and doubling experiments rather than noisy timings. They finish with space complexity and judgement about when complexity really matters.

  • 4 lessons
  • About 100 min
  • Quiz: 8 questions
Free starter

Coding · Grade 11

Recursion and Problem Decomposition

Learners build recursive solutions from base cases and smaller subproblems, tracing them with the call stack and indented call logs. They design recursive functions for palindromes, powers by halving, digit sums and lists, test them against hidden buggy versions, analyse costs with call trees (including Fibonacci's exponential blow-up and memoisation), and decide when iteration is the better choice.

  • 4 lessons
  • About 100 min
  • Quiz: 8 questions
Free starter

Coding · Grade 11

Graphs and Network Problems

Learners model networks (bus stops, study partners, prerequisites, roads) as directed, undirected and weighted graphs stored as adjacency lists, trace breadth-first and depth-first search, find shortest paths with BFS and Dijkstra's algorithm, and answer network questions with reachability, connected components and topological ordering.

  • 4 lessons
  • About 105 min
  • Quiz: 8 questions
Free starter

Coding · Grade 11

Software Interfaces and Controlled APIs

Learners design and implement an API from the provider's side using a controlled, network-free club-information service: resources, methods, consistent JSON responses and status codes; a request handler that authenticates, routes, validates and authorises before acting; access control, data minimisation and rate limiting; and safe evolution with versioning, deprecation and contract tests.

  • 4 lessons
  • About 100 min
  • Quiz: 8 questions

Coding · Grade 11

Security, Reliability and Automated Testing

Built around one realistic task, testing a search algorithm, this course teaches learners to trace binary search, state its input assumptions, reason about edge cases and efficiency, inspect and repair broken implementations, and design test suites that catch realistic bugs. It closes with reliability and security practices for untrusted input: validating preconditions, bounded execution, toy datasets and safe failure. Learner code is never executed; tests are checked against a reference and registered buggy versions.

  • 5 lessons
  • About 110 min
  • Quiz: 10 questions

Coding · Grade 11

Build and Defend a Computing Solution

In this capstone-style course learners define a computing problem precisely (a lab-booking clash checker), compare candidate algorithms, gather evidence from edge-case tests and operation counts, discover that a fast shortcut is subtly wrong, evaluate solutions honestly against success criteria, and defend a recommendation with claim, evidence and reasoning, including limitations and effects on people.

  • 4 lessons
  • About 110 min
  • Quiz: 8 questions

Coding · Grade 12

Select and Scope a Software or Research Project

Learners begin the senior capstone by choosing a worthwhile, feasible project with a weighted decision matrix, writing an evidenced problem statement and an aim or research question with measurable success criteria, scoping an MVP with stretch goals and an out-of-scope list, planning milestones with a buffer, and addressing risks, privacy, consent and licences in a reviewed proposal.

  • 4 lessons
  • About 100 min
  • Quiz: 8 questions
Free starter

Coding · Grade 12

Architecture and Modular Interfaces

Learners give their capstone a sound structure: layered architecture with separation of concerns, modules judged by cohesion and coupling, interfaces expressed as abstract base classes, and dependency injection so storage and clocks can be swapped for fakes in tests. They record significant choices in architecture decision records and weigh flexibility against unnecessary complexity.

  • 4 lessons
  • About 100 min
  • Quiz: 8 questions
Free starter

Coding · Grade 12

Data Models and Persistent State

Learners design the data layer of a capstone: entities, primary and foreign keys, one-to-many and many-to-many relationships with link tables, and normalisation to avoid update, insertion and deletion anomalies. They query real in-memory SQLite databases with SELECT, JOIN, GROUP BY and IS NULL from Python, and persist state safely with serialisation round trips, transactions, parameterised queries and planned migrations.

  • 4 lessons
  • About 105 min
  • Quiz: 8 questions
Free starter

Coding · Grade 12

Implementation with Robust Error Handling

Learners make their capstone robust: they classify failures and choose strategies (validate, retry, fall back, fail fast), design custom exception hierarchies that are raised where problems are detected and handled at the right layer, implement bounded retries with exponential backoff against a simulated unreliable service with attention to idempotence, and write useful, safe logs alongside clear user messages.

  • 4 lessons
  • About 100 min
  • Quiz: 8 questions
Free starter

Coding · Grade 12

Tests, Profiling and Security Review

Before release, learners check their capstone three ways: a test strategy shaped like the test pyramid with an honest view of coverage; stronger tests through mutation thinking, property-based checks against an oracle and testsuite activities against hidden mutants; profiling to find real hot spots before optimising; and a defensive security review built on a simple threat model and a prioritised checklist.

  • 4 lessons
  • About 105 min
  • Quiz: 8 questions
Free starter

Coding · Grade 12

Human-Centered Design and Accessibility

Learners put people at the centre of their capstone: they observe users and write evidence-based personas, prototype and iterate, run neutral usability tests and analyse success, time and errors, apply WCAG accessibility principles (computing real contrast ratios, keyboard access, labels and semantic HTML), and evaluate designs for inclusion, cognitive load, consent and dark patterns.

  • 4 lessons
  • About 100 min
  • Quiz: 8 questions

Coding · Grade 12

Documentation, Deployment and Maintenance

Learners prepare their capstone for life after the first release: documentation for each reader (README, docstrings, user guide, runbook, changelog), semantic versioning traced in code, deployment pipelines with test gates, staging, rollback and configuration from environment variables, and maintenance planning (corrective, adaptive, perfective and preventive work, monitoring, technical debt and a secure handover).

  • 4 lessons
  • About 100 min
  • Quiz: 8 questions

Coding · Grade 12

Demonstrate, Defend and Reflect on a Capstone

The final Grade 12 course prepares learners to present their capstone professionally: a scripted, rehearsed demonstration built around the success criteria with contingencies and test data; an honest evaluation that reports every criterion with evidence (including those not met); a defence that answers hard questions with claim, evidence, reasoning and trade-offs; and a specific, analytical reflection with complete attribution of sources and AI assistance.

  • 4 lessons
  • About 105 min
  • Quiz: 8 questions