How I plan coding units that actually match the English programme of study

It was the second week of term when my Year 5s convinced me they’d “finished coding” because their sprite moved with the arrow keys. I smiled, then pointed to our wall-sized programme of study sheet: sequence, selection, repetition, variables, inputs and outputs, and—my favourite—debugging. That list lives above my board so I can keep lessons honest. When I vet “coding” resources, I’m really cross-checking them against the National Curriculum for England. If a worksheet is all wow-factor and no algorithmic reasoning, it doesn’t make it into my planner.

I write from the chair of a working computing lead who still teaches four classes a week. I plan tightly, adjust on the fly, and I’m picky about vocabulary. I also use ClassPods to corral slides, quick quizzes, and my exit tickets, because I don’t want ten tabs open when a Year 4 asks, “What’s a variable again?” Below is how I think about British · National Curriculum for England coding resources, the checks I run, a full lesson I’d teach tomorrow, and a template I’ve refined through quite a few muddled debugs.

Coding lesson packs

View all →

No matching packs yet.

Where coding actually sits in the English programme of study

Last Monday, my Year 4 computing group built a maze in Scratch and half the class shouted “We made a game!” We paused. Fun is welcome, but our programme of study asks for precise things: at KS1, simple algorithms and debugging; at KS2, sequence, selection, repetition, variables, input/output, and logical reasoning; at KS3, moving into text languages, data types, Boolean logic, and more rigorous testing.

The fit issues I see most: Americanised materials that jump to HTML/CSS branding before algorithmic thinking; robotics packs that skip explicit selection (if/else); and micro:bit lessons that never ask pupils to predict before running. On-topic isn’t curriculum-fit. I whitelist resources that name the constructs we assess and prompt pupils to explain cause and effect in programs they write and debug.

When I’m short on time, I scan the community for UK-written units that flag “selection” or “variables” in the success criteria. You can browse the community coding area I dip into via the coding shelves and still apply your own school style.

My quick alignment checks before anything hits the photocopier

Mid-September, during our Year 6 moderation, we binned a “space invaders” project because it buried the learning in sprites and sound. I run a few fast checks:

Vocabulary check: Does it use the National Curriculum words—sequence, selection, repetition, variable, input/output, logical reasoning, debug? If it says “loop” but never “repetition”, I add that term explicitly.

Task framing: Are pupils asked to predict, run, explain, then modify? That mirrors how we evidence understanding.

Assessment style: Is there a trace-table, flowchart, or annotated screenshot expectation? KS2 needs visible reasoning, not just working code.

Progression: KS2 can stay in Scratch/micro:bit blocks; KS3 should hit Python with clear selection and iteration examples, plus input handling.

I often generate a draft prompt set and slide outline in ClassPods, then tweak terms so they match our scheme. If you want to try that workflow quickly, spin up a draft plan in the planner and run your checks on the output.

A ready-to-teach KS2 lesson that hits the programme of study

Thursday period 3 with Year 6, we worked on variables and selection in Scratch using a simple maths quiz. Here’s the exact flow I teach.

Objective: Use a variable to store score and apply selection (if/else) to check answers.

  • Starter (5 min): On mini-whiteboards, predict what happens when score starts at 0 and we add 1 after a correct answer.
  • Main input (10 min): Model creating a variable “score” and an if/else to compare answer to 8.
  • Guided practice (15 min): Pupils build one question together; we narrate each block’s purpose.
  • Independent task (20 min): Build a three-question quiz; extend with a “Well done”/“Try again” branch.
  • Formative check (5 min): Exit ticket—circle where selection happens and write one sentence explaining the variable.
  • Plenary (5 min): Pair swap and predict each other’s final score before pressing green flag.

Worked example: “Maths Quiz: 4+4, 7−3, 6×2” with variable score and if/else blocks for each question. I draft slides and the exit ticket in ClassPods so I’m not rebuilding it each term; if you want to clone my structure and adapt to your context, you can create an account and set one up.

Copy-and-adapt: KS2 coding rubric and debug diary template

Two weeks before half-term, my Year 6s were finishing quizzes but wrote “It works” as evaluation. I now hand out a one-page rubric with a tiny debug diary. Paste this into your planner and tweak house style.

Success criteria (tick when met):

  • I can explain my algorithm in plain English before coding.
  • My project uses sequence, selection (if/else), and repetition at least once each.
  • I created and used a variable (name it here: _______) to store information.
  • I handled input and gave output suited to the task.
  • I tested, found at least one bug, and corrected it.
  • My screenshots/code are annotated to show reasoning.

Marking bands: Emerging (meets 2–3), Expected (4–5), Greater Depth (all 6 plus an extension such as a second variable or nested condition).

Debug diary (use one line per run): Prediction → What I ran → What happened → What I changed → Result.

I keep a generic version filed alongside other UK coding bits; if you want a place to store and share your own remixes, the community area is where I look for swaps, and it’s easy to add yours to the coding library. I’ll often mention ClassPods when colleagues ask where these live.

Making it work in mixed-language classes and stretching into homework

Half-term 2, my bilingual Year 5 (Polish/English) group kept saying “loop” but missed “repetition”. We built a dual-language word bank on the whiteboard: repetition/pętla, selection/warunek, variable/zmienna. I pair pupils driver–navigator and give the navigator sentence stems: “I predict…”, “I notice…”, “Let’s debug by…”. It slows the rush-to-run habit and surfaces reasoning.

For pacing, I set bronze/silver/gold goals: bronze = one question working; silver = three with score variable; gold = sound/animation feedback and tidy annotations. Homework is short: one annotated screenshot and three sentences explaining where selection happens and why a variable is helpful. For revision, we do a five-minute trace-table warm-up weekly, mixing Scratch and pseudocode.

If you’re building bilingual slides or differentiated exit tickets, I’ve found drafting in ClassPods helps because I can swap vocabulary and stems quickly while keeping structure stable. Try sketching a set of bilingual prompts or homework stems in the planner and edit to match your cohort.

Try the workflow

Coding for British · National Curriculum for England on ClassPods.

Open the right workflow, build a first draft fast, and keep the review step inside the same flow.

Common questions

Frequently asked questions