A social enterprise of The Schaffa Foundation PoliciesContact the Foundation

How we teach

Nothing is tested before it's taught. Every lesson follows what research shows helps beginners learn, on technology built to keep children safe.

Teaching that works for beginners

We assume no one is a natural. Every quest is built the same way, so a learner who has never written code always knows what comes next.

  • Shown first, then triedEach quest opens with a short lesson and a worked example, explained line by line. Learners run it and change it before they're asked to write anything themselves.
  • One new idea at a timeEach quest adds one idea and uses the ones before it, so nobody has to juggle too much at once.
  • A check before the challengeOne quick question confirms the idea landed. A wrong answer explains why and sends the learner back to the lesson, never to a penalty.
  • Feedback in plain EnglishHidden tests say exactly what worked and what didn't, and Python's error messages are translated into words a 12-year-old understands.
  • Hints that teachThree hints per quest, from a gentle nudge to a near answer. Using one costs nothing, and parents can see which were used.
  • Mastery, not marksLearners can try as often as they need. The next quest opens when this one works, so gaps don't pile up.

This follows the explicit teaching the NSW Department of Education recommends in What works best, and Barak Rosenshine's Principles of Instruction.

The skills that last

AI can now write a lot of code. What it can't do is decide what should be built, notice when its answer is wrong, or take responsibility for the result. Those are the skills that last, and they're the ones every course builds, through real code written by hand first.

Code Quest is mapped to the NSW Computing Technology syllabus for Stage 5 (Years 9 and 10). Parents can print a record of learning against its outcomes for home-schooling registration.

See how Code Quest covers the syllabus

  • Saying exactly what to buildLearners write a short plan before they code: what goes in, what comes out, and what could go wrong.
  • Breaking problems into stepsBig jobs become small ones that can each be solved and tested.
  • Checking that code really worksPredicting what code will do, testing it, and finding the bug.
  • Seeing how systems fit togetherHow a website travels from a server to your screen.
  • Judging what's safeProtecting passwords and privacy, and knowing when not to trust a machine.

Technology built for children

The Academy runs on its own platform, designed, built and hosted in Australia by HostSavers. Every choice starts with the child using it and the parent watching over them.

Real Python, in the browser

Learners' code runs on their own device, so there's nothing to install, it works on school Chromebooks, and their code never runs on our servers.

Easy to read

Lesson screens use Atkinson Hyperlegible, a typeface the Braille Institute designed so that letters are hard to confuse. Lessons work with a keyboard alone and grow with the browser's text size.

Private by design

No ads, no analytics and no third-party scripts. First names only. Sign-in by one-time links, so there are no passwords to lose or share.

Parents see every step

Every lesson, check, hint and test appears on the parent dashboard, along with the child's own code, a weekly email and controls for learning hours.

Light on data

Pages are small and fonts are served from our own server. The Python engine loads once, then lessons run even on slow connections.

Tested by beginners

Our course testers, people new to coding themselves, work through each new quest before it's released. If they get stuck, we rewrite it.

See it for yourself.

The box on our home page runs real Python, the same way every lesson does. Try a line of code in under a minute.

Try your first line of code