Lessons

Step-by-step lessons in six tracks, from unplugged games to real Python code.

  • Lives, Levels and Game Over

    Lives, Levels and Game Over

    Use variables to keep track of lives, levels and score, and see how a game decides when you win or…

  • Level Design on Squared Paper

    Level Design on Squared Paper

    Design game levels on squared paper, plan a difficulty curve and learn the rules that make a challenge fair.

  • Game Art with Pixels

    Game Art with Pixels

    Design a pixel-art game character on squared paper, then teach the turtle to draw it by looping over a list…

  • Playtesting and Debugging

    Playtesting and Debugging

    Test a game with friends, write down bug reports and track down two sneaky bugs that make a program run…

  • What Is a Robot?

    What Is a Robot?

    Find out what makes a machine a real robot, and learn the three-step secret that every robot follows.

  • How Robots Sense the World

    How Robots Sense the World

    Meet the sensors that let robots notice light, touch, distance, sound and temperature, and match each one to a human…

  • Light It Up!

    Light It Up!

    Build your very first circuit with a coin battery and an LED, and learn why the electricity needs a closed…

  • Switches Are Decisions

    Switches Are Decisions

    Make a paper-and-foil slide switch for your LED, and discover that a switch works just like an if in code.

  • Motors, Wheels and Gears

    Motors, Wheels and Gears

    Find out how robots roll, steer and turn on the spot using two wheels, and how gears make things slower…

  • Follow That Line!

    Follow That Line!

    See how a robot with two light sensors can follow a dark line using four simple rules, then test the…

  • Don’t Bump Into Things

    Don’t Bump Into Things

    Teach a robot to spot obstacles with a distance sensor and steer around them, then test the rule in Python.

  • Program Beep on a Grid

    Program Beep on a Grid

    Plan routes for Beep with forward, left and right commands, then find and fix a bug in a program that…