Free coding lesson plans for primary school
Everything you need to teach the four big ideas of coding with the Singapore Robot Maze: five 45-minute lessons with answer keys, an unplugged warm-up and printable certificates. Free, with no sign-up.
The five lessons
- Lesson 1 · Hawker Centre Sequencing A free 45-minute lesson on sequencing for ages 6–12. Students plan step-by-step instructions to deliver chicken rice in a Singapore hawker centre. Open lesson plan
- Lesson 2 · HDB Void Deck Loops A free 45-minute lesson on loops for ages 6–12. Students use "repeat" to water every plant along an HDB void deck corridor in a few blocks. Open lesson plan
- Lesson 3 · MRT Station Conditions A free 45-minute lesson on conditions (if / else) for ages 7–12. Students teach a robot to wait for MRT fare gates and train doors. Open lesson plan
- Lesson 4 · Gardens by the Bay Functions A free 45-minute lesson on functions for ages 8–12. Students define plant_tree once and reuse it across Gardens by the Bay. Open lesson plan
- Lesson 5 · Changi Airport Loops, If-Else & Functions A free 45-minute lesson combining loops, conditions and functions for ages 9–12. Students sort luggage onto the right belts at Changi Airport. Open lesson plan
How a lesson runs
- 01
Warm up without screens
Each lesson plan opens with an 8-minute unplugged activity, like being the robot or clapping a loop, so the idea lands before the devices come out.
- 02
Demo one level on the projector
Open a jump link such as dotcodecampus.com/maze/hawker/1 and solve it together, with the class calling out the blocks.
- 03
Pairs play levels 1–6
One driver, one navigator, swapping each level. Hints are built in, and the Step button lets pairs debug one block at a time.
- 04
Discuss, then exit ticket
Discussion questions connect the concept to everyday life in Singapore, and a one-line exit ticket checks understanding.
Jump links
Every level has its own address, so you can put one on the board or in your LMS:
- dotcodecampus.com/maze/hawker/1
- dotcodecampus.com/maze/void-deck/1
- dotcodecampus.com/maze/mrt/1
- dotcodecampus.com/maze/gardens/1
- dotcodecampus.com/maze/changi/1
Change the last number to 2–6 for later levels. Secret bonus levels unlock once a student three-stars a whole world.
Teacher FAQ
Do students need accounts or email addresses?
No. Students open a link and play. Progress is kept in the browser on that device only, and no personal data is collected, so there is nothing to set up or clear with your school.
Which devices does it work on?
Any recent web browser: Chromebooks, Windows and Mac laptops, and iPads. The blocks are touch-friendly. A projector or large screen helps for the demo.
Can I use it for Hour of Code or CS Education Week?
Yes. Any single world fits a 45 to 60 minute session, and the first two worlds work well for younger classes who have never coded before.
What ages and levels is it for?
Ages 6 to 12, complete beginners welcome. The Hawker Centre and Void Deck suit lower primary with some reading support. MRT, Gardens and Changi suit upper primary.
Can enrichment centres and holiday camps use it?
Yes, it is free for schools, enrichment centres, libraries, CCAs and parents. Many centres use it as a day-one warm-up in coding holiday camps.
How do students see the code behind the blocks?
Every level has a "Show me the Python" button that turns the blocks into real Python. The answer keys in each lesson plan are written in the same Python.
Love teaching? Teach with us
We're always keen to meet teachers who make coding click for kids. Send us a message and tell us a little about your teaching.
