Teaching Coding to Children: A Guide for South African Teachers

Coding in the CAPS Curriculum

The CAPS Coding and Robotics curriculum introduces coding from the Foundation Phase. For many South African teachers and parents, this is new territory. The good news is that teaching coding does not require advanced technical skills. It requires clear instruction, structured activities, and an understanding of how coding develops computational thinking.

Five Approaches to Teaching Coding Effectively

1. Start Unplugged

Coding concepts can be taught without a computer. Unplugged activities are especially valuable in South African schools where device access is limited. Examples:

  • Algorithm games – Learners write step-by-step instructions for everyday tasks (making a sandwich, getting to school). This teaches sequencing and precision
  • Debugging challenges – Give learners a set of instructions with deliberate errors. They must find and fix the mistakes
  • Pattern recognition – Sorting and classifying activities teach the pattern recognition that underpins coding

CAPS link: Foundation and Intermediate Phase Coding and Robotics outcomes on algorithms and pattern recognition.

2. Use Block-Based Programming

Visual, block-based programming languages remove the barrier of typing syntax. Learners drag and snap code blocks together to create programmes.

  • ScratchJr (ages 5 to 7) – Simple visual programming for younger learners. Available on tablets
  • Scratch (ages 8+) – The most widely used educational coding platform. Learners create animations, games, and interactive stories. Free at scratch.mit.edu
  • Code.org – Structured coding courses with South African language support for some modules

CAPS link: Intermediate and Senior Phase Coding and Robotics outcomes on visual programming and algorithm design.

3. Connect Coding to Other Subjects

Coding is most meaningful when connected to content learners are already studying:

  • Mathematics – Programme Scratch to draw geometric shapes, calculate areas, or generate times tables
  • Natural Sciences – Create simulations of ecosystems, water cycles, or the solar system
  • Languages – Build interactive stories or vocabulary quizzes in Scratch
  • Social Sciences – Create animated timelines or interactive maps

4. Embrace Errors

In coding, errors are expected and valuable. When a programme doesn’t work as intended, learners must read their code carefully, identify the problem, and fix it. This debugging process develops logical thinking and resilience. Teachers should:

  • Normalise errors as part of the coding process
  • Encourage learners to describe what they expected vs what happened
  • Ask guiding questions rather than providing immediate solutions
  • Celebrate successful debugging as much as successful programmes

5. Build Projects, Not Just Exercises

Short coding exercises teach individual concepts, but projects develop deeper understanding. Give learners opportunities to plan, build, test, and present their own coding projects. For CAPS assessment purposes, projects provide evidence of multiple outcomes and allow learners to demonstrate creativity alongside technical skill.

Getting Started with Limited Resources

  • One device, many learners – Use a projector to demonstrate coding, then rotate small groups through the computer while others work on unplugged activities
  • Shared devices – Pair programming (two learners per device) is a standard industry practice that also works well in classrooms
  • Offline Scratch – Scratch can be downloaded and used without internet access
  • Mobile coding apps – Some coding platforms work on smartphones, which are more widely available than computers in many South African communities