Udon Thani International SchoolCodeQuestPlay · Think · CodeStaff

CODEQUEST AFTER-SCHOOL CLUB · PROPOSAL

90 minutes a week. Every age. Real code.

A year-long coding club built on CodeQuest, the school's own coding platform. A planned 30 90-minute lessons, each teaching one core idea to the whole club at five levels of depth. A six-year-old and a sixteen-year-old learn the same idea in the same room, each at the right level. Internet safety runs through every session, and it's fun.

Lesson 1: Quest Trial →Lesson 2: Safe Squad →All lessons

How it works

  1. 1 · Quest TrialLesson 1 is a game-show-style skills check with six gates. Where each pupil stops shows their starting track, and an interest compass shows what they'd love to make. See the Quest Trial →
  2. 2 · Safe Squad firstLesson 2 makes pupils internet-safety superheroes, and every lesson after that opens with a quick, game-like Safe Squad minute: spot the fake, share or shhh, real or robot.
  3. 3 · One idea, five depthsEvery lesson has one core idea for the whole club, then a task at the right depth for each track, from acting it out to building it from scratch.
  4. 4 · Grow and specialiseEach term covers coding, web, cyber and hardware, and builds on the last. From Term 2, older pupils can also choose a focus stream. The year ends with capstone projects and a CTF Day.

Five tracks

Lesson 1's Quest Trial places each pupil on a track. Ages are a guide, not a rule: a confident 9-year-old can be a Challenger, and a 14-year-old who is new to coding can start as a Builder. Pupils move up or across at any time.

Ages 6–9

Explorers

New to coding, early readers.

Starting point

  • Practice Coding → Maze academy with the Command builder: tap Forward / Turn left / Turn right, then Run.
  • Poem Art with drag-and-drop blocks.
  • Web Lab Level 1: drag colours and fonts onto a card, no typing.

By the end of the year

Plans and debugs a sequence using Step once, spots repeated patterns, and makes a personalised greeting card web page.

Ages 9–12

Builders

Some Scratch or block coding experience.

Starting point

  • All four maze worlds, aiming for three stars (fewer moves, shorter programs).
  • Copy my blocks in to see their block program as Python.
  • Web Lab Level 1 → Continue in code to edit the HTML and CSS behind their card.

By the end of the year

Writes short Python with for loops, builds a styled multi-section web page, and knows how to spot phishing.

Ages 12–15

Challengers

Comfortable typing code, or ready to start.

Starting point

  • Python lab lessons 1–4: for, if / else, try / except, then sensors and the left-hand rule.
  • Web Lab Level 2: HTML, CSS and JavaScript with a live preview.
  • Cyber: fundamentals, then the first levels of OverTheWire Bandit (supervised).

By the end of the year

Writes a Python program that solves mazes it has never seen, builds an interactive web page, and uses the Linux command line.

Ages 15–18

Seniors

IB Diploma Computer Science, MYP Design, or keen independent learners.

Starting point

  • Python free coding: functions, classes and maze-solving algorithms (beyond the left-hand rule).
  • Web Lab from a blank canvas: layout, accessibility, interactive JavaScript.
  • Cyber: Bandit, then OWASP Juice Shop on a teacher-run copy.

By the end of the year

Ships a portfolio project, can explain common web attacks and how to defend against them, and can mentor younger pupils as club leaders.

Any age

Trailblazers

Already code independently, sometimes well beyond their age.

Starting point

  • Cleared the Quest Trial's Boss Gate.
  • Same core idea as everyone, but open-ended: build it from scratch, find the limits, design challenges for others.
  • A mentor role each lesson, so they're challenged and valued.

By the end of the year

Has built ambitious projects, can teach any core idea at several levels, and leads a stream or CTF Day.

Teaching one idea across every age

Each lesson is designed to be low floor, high ceiling, wide walls: easy for anyone to start, with no limit on how far a pupil can go, and many different ways to explore. One core idea, said in one sentence, is taught to the whole club during the hook. In build time, each track meets that idea at a different depth. Here's Lesson 6, Loop-de-loop:

Core idea · everyone

Say it once, repeat it

"When you see a pattern, a loop lets you say it once and repeat it." Taught through a clap-and-stomp dance loop.

Explorers

Spot it

Find the pattern in Staircase and say it as "repeat 3 times…"

Builders

Use it

Find every repeated section in Staircase and Flag run.

Challengers

Code it

Python for loops, then stairs(n) with a parameter.

Seniors

Generalise it

Nested loops: one function for mazes of different sizes.

Trailblazers

Push it

Find the shortest possible program, and prove nothing shorter exists.

The shape of every 90-minute session

  1. 0–10 minSign in and Safe Squad minute. A quick, fun internet-safety game, such as Share or Shhh?, Would you click it?, Real or robot?, while pupils sign in.
  2. 10–20 minHook. A whole-club game that introduces the core idea: the jam sandwich robot, packet relay, the sneaky note.
  3. 20–60 minBuild time. Each track works on its task, in pairs. Stream pupils move on to their extension. Trailblazers mentor.
  4. 60–80 min⚡ Bonus quests and catch-up. Fast finishers take on harder bonus quests for extra points, so nobody runs out of challenge. Everyone else keeps building, with help.
  5. 80–90 minShare, scoreboard and check. Two or three pupils share, the class scoreboard goes up, then everyone answers the exit question at their own depth.

Progress and the scoreboard: pupils do the lesson challenges on their own student page, signed in to the class. Teachers see who has done what on the Class dashboard, which also has a projector-ready scoreboard with points and 15 achievements for up to 20 pupils.

Year at a glance

Every term covers every area, and lessons build on earlier ones. Lessons 1 and 2 are complete; the rest are outlines showing where the year is heading.

Focus streams

From Term 2, Challengers, Seniors and Trailblazers can choose a focus stream. Keen Builders can join by invitation. Everyone still shares each lesson's core idea, so the club stays together and every pupil keeps a broad base.

Stream

Software & Algorithms

In CodeQuest now

Python lab lessons, sensors and free coding on every maze.

Going further

  • Classes for several robots at once
  • Breadth-first search and other maze-solving algorithms
  • Testing one program against many mazes

Project ideas

A solver that beats every mission; a maze generator designed on paper and coded in Python.

IB links

DP Computer Science (computational thinking, algorithms); MYP Personal Project.

See this stream's lesson by lesson →

Stream

Web & Design

In CodeQuest now

Web Lab Levels 1 and 2, five templates, live preview and download.

Going further

  • Accessible and responsive layouts
  • User testing with younger pupils
  • Interactive JavaScript features

Project ideas

A site for a school club, charity drive or event, or a portfolio of club work.

IB links

MYP Design cycle (inquire, develop, create, evaluate); MYP Personal Project.

See this stream's lesson by lesson →

Stream

Cyber Security

In CodeQuest now

The Cyber tab, with links to OverTheWire Bandit and OWASP Juice Shop.

Going further

  • Bandit progress logs and write-ups
  • Log reading and incident response
  • Student CTF competitions such as picoCTF

Project ideas

An online safety campaign for younger year groups; a security review of club web pages.

IB links

DP Computer Science; CAS service through teaching online safety.

See this stream's lesson by lesson →

Stream Planned

Hardware & Robotics

In CodeQuest now

The maze commands and sensors. The Hardware tab is coming soon, and until then the Wokwi simulator works with no kit.

Going further

  • MicroPython on the ESP32
  • Sensors, motors and servos
  • Sending sensor data to a web page

Project ideas

A weather station, a night light, or a robot that drives a taped floor maze using the same commands as CodeQuest.

IB links

MYP Design; DP Computer Science; CAS creativity.

See this stream's lesson by lesson →

Event: School CTF Day Proposal

A capture-the-flag (CTF) competition run at school: a hacking game where teams solve security challenges to find secret "flags" and score points. It makes an exciting end-of-year finale for the Cyber stream, and it's open to every track at their own level. It's built on OWASP Juice Shop's CTF support: a fake online shop, deliberately full of security flaws, with challenges from one star (beginner) to six stars (expert).

Explorers & Builders

Puzzle trail

An unplugged or browser-based trail: secret codes (Caesar ciphers), "spot the phish" cards, hidden clues in a web page's source, and a password-strength sorting game. Each answer is a flag.

Challengers

Juice Shop: 1–2 stars

Find the hidden score board, trigger error messages, spot information leaks, and try basic cross-site scripting (XSS). Optionally, a "fix-it" round using the Snack Shack bug hunt.

Seniors

Juice Shop: 3+ stars

SQL injection, broken access control, weak passwords and more. Teams write up how they'd fix each flaw, because defending is the real goal.

Cyber stream

Event crew

Cyber stream pupils help design the puzzle trail, test challenges beforehand, and run the scoreboard on the day.

How it would run

PartPlan
FormatTeams of 2–4, mixed where possible. Around 2–3 hours: an after-school special, or a half-day event. A briefing on the golden rule first, then a live scoreboard on the projector, and prizes and certificates at the end.
ScoreboardThe free juice-shop-ctf-cli tool loads Juice Shop's challenges into a CTF scoreboard (CTFd, FBCTF or RootTheBox) in minutes. Teams submit flags there, and hints can cost points. For a small first event, Juice Shop's own built-in score board is enough.
ServersEach team needs its own copy of Juice Shop. Small event: one Docker container per team on a teacher laptop or school server. Larger event: MultiJuicer runs a separate copy for every team automatically, with its own leaderboard.
SafetyJuice Shop is deliberately insecure, so it runs only on the school's internal network, never on the open internet. The IT team signs off on the setup. Every pupil agrees to the golden rule: these skills are only ever used on systems you own or have permission to test.
Lead-upLessons 21–27 (the command line, web security, incident response and AI) prepare every track. CTF Day is Lesson 30. The Cyber stream runs a practice round two weeks before the event.
Going furtherWinners and keen teams can enter picoCTF, the free international CTF for school students, or invite another school next year.

Home projects

All optional, all free. CodeQuest works on any home computer with a modern browser, and progress saves to the pupil's class sign-in. Pupils in a focus stream can also carry on their stream project at home.

Explorers

  • Play "human robot" with family: write Forward / Left / Right directions to get someone to the fridge.
  • Draw a maze on squared paper for a sibling or parent.
  • Make a Web Lab greeting card for a birthday.
  • Earn three stars on a mission you found tricky.

Builders

  • Write and style your own poem in Poem Art.
  • Build an "About me" or hobby page and download it to show family.
  • Phishing detective: with a grown-up, check a real inbox for suspicious messages.
  • Try to beat your own score on every maze.

Challengers

  • Python free coding: one program that solves three different mazes.
  • Build a website for a family business, club or hobby.
  • OverTheWire Bandit, with a parent's permission.
  • A family "password health check": are any passwords reused?

Seniors

  • A personal portfolio site built from a blank canvas.
  • Write a breadth-first maze solver in Python.
  • Keep going with Bandit; run OWASP Juice Shop locally in Docker.
  • Make a first contribution to an open source project (docs and typos count).
  • An ESP32 starter kit project, when the Hardware tab launches.

Future development of each area

CodeQuest is built in-house, so it can grow with the club. These are the next possible steps for each area, based on what exists today.

AreaAvailable nowPossible next steps
Practice Coding4 maze worlds and 8 missions, Command builder, stars, badges and class sign-in with cloud savesMore missions; keys, gates and inventory puzzles; a maze editor so pupils can design and share levels; shared class leaderboards with moderated nicknames
Python labReal Python in the browser, lessons 1–4 (loops, decisions, exceptions, sensors), free codingLessons on functions, parameters and while loops; test one program against several mazes; a line-by-line Python debugger
Poem ArtDrag-and-drop blocks and Python to style a poemA poem library across ages and languages; sound and animation effects; share to a class gallery
Web LabLevel 1 drag-and-drop cards; Level 2 HTML/CSS/JS editor with five templates, live preview and downloadMore Level 1 cards; a class gallery of published pages; teacher-set briefs; a Level 3 multi-page site
CyberTopic outline, plus links to OverTheWire Bandit and OWASP Juice ShopA built-in "spot the phish" quiz; log-reading incident response scenarios; a password-strength explorer; a guided route through Bandit
HardwareComing soonESP32 with MicroPython guides; wiring diagrams; sensor builds that echo the maze sensors (wall_ahead() → a distance sensor); a physical robot driven by the same commands
AI FutureFuture consideration: topic outline and links to free resources (Teachable Machine, Machine Learning for Kids, Experience AI)How AI learns, using it wisely (bias, checking answers, deepfakes), training classifiers, a maze robot that learns by trial and error, and possibly a fifth focus stream
ProjectsExample projects for every area and age, from greeting cards to maze robots and CTF teamsCurated beginner-friendly open source projects; guided build-from-scratch projects; a showcase of club work
TeachersClass sign-in and saved progressA teacher dashboard showing each pupil's progress by track; assigning missions; printable task cards and certificates

What the club needs

Room & devices

One laptop or Chromebook per pupil, or one between two for pair programming. Tablets work for Explorers. Chrome or Edge. A projector for the whole-group spark.

Staff

One teacher for up to around 20 pupils, plus Senior helpers. No specialist software or admin rights are needed.

Network

The site must be reachable on the school network. The first Python run downloads about 12 MB once, so it's worth opening it before the club starts.

Safeguarding

Pupils join through a class link using a nickname and a six-digit PIN from their teacher, with no email address. Code runs in a locked-down browser sandbox. External cyber labs are supervised and pupils are taught the golden rule: only ever test systems you own or have written permission to test.

Hardware budget

Optional, for Term 3. ESP32 starter kits (board, LEDs, sensors and leads) cost very little per pair and are reusable year after year.

Measuring progress

Stars, badges and saved work in the app; a term showcase; and pupils moving up a track. Leading the club counts towards IB CAS for Diploma students, and projects can feed into MYP Design and the MYP Personal Project.