⚙️ C programming for kids
C is where a computer stops being magic. Types with real sizes, arrays, pointers, struct, malloc and free — the machine underneath every other language on this list.
- 11 units
- 50 lessons
- 284 exercises
- Units 1–2 free
- Ages 8–15
How this track is kept honest
C runs on an interpreter we wrote, and it is kept honest by putting the same programs through gcc and demanding byte-identical output — including thousands of programs from an outside compiler test suite. Where C has undefined behaviour, the app stops and explains instead of printing junk.
Best after Python. Nothing to install: there is no 40MB compiler to download, and no way to lose your work.
How it starts
In Python you just wrote print. C sits much closer to the machine, so it needs a little scaffolding first. #include <stdio.h> fetches the printing tools, and every C program starts running inside main.
The full C syllabus
11 units and 50 lessons, in the order they are played. Each unit has a page of its own with every explanation in it, the code samples and what they print, and a few questions to try.
Unit 1: Hello, C
Closer to the machine
- The Recipe
- Labelled Boxes
- Showing Values
- Hello Machine
Unit 2: Making Choices
Ones and zeros, literally
- One and Zero
- If / Else
- And, Or, Not
- Bouncer Bot
Unit 3: Loops & Arrays
Doing things many times
- Repeating
- Keep Going Until
- Arrays
- Functions
- Number Cruncher
Unit 4: Pointers, Gently
The famous scary bit
- Every Box Has an Address
- Pointers
- Pointer Master
Unit 5: Numbers & Patterns
Remainders and shapes
- Leftovers
- Shortcuts
- Loops Inside Loops
- Number Cruncher
Unit 6: Text in C
Letters, one at a time
- Letters Are Numbers
- Words Are Arrays
- Walking Through Words
- Asking the User
- Word Machine
Unit 7: Types & Sizes
Turning one kind into another
- Changing Types
- How Big Is It?
- The Maths Library
- Printing Neatly
- Type Master
Unit 8: More Ways to Choose
switch, do/while and bits
- Switch
- Do It At Least Once
- Working With Bits
- Choice Master
Unit 9: Functions Deeper
Recursion, scope and sharing data
- Functions That Call Themselves
- Where Names Live
- Passing Arrays
- The String Toolkit
- Function Master
Unit 10: Structs
Making your own kind of thing
- Keeping Things Together
- Structs Get Copied
- Lots of Them
- Names for Types
- Unions
- Struct Master
Unit 11: Grids & Memory
Asking for space, and giving it back
- Grids
- Asking for Memory
- Chains of Structs
- Functions as Values
- Memory Master
Other things to learn
- 🐍 Python for kids
The friendliest first language. Start here!
- ✨ JavaScript for kids
The language of websites. Try it after Python.
- 🚀 C++ for kids
C with the sharp edges filed off. Powers most games.
- 🔌 Digital logic for kids
Start with one tiny switch. Finish with a working computer.
- 🌱 Git and version control for kids
Save your work forever, and share it.
- 🐧 Linux and the command line for kids
Drive a whole computer by typing.
- 🔢 Problem-solving maths for kids
Powers, shapes, chances and proof — the way problem solvers see them.
- 🤖 AI and machine learning for kids
Teach a computer to learn — with nothing but adding and multiplying.
- 🤖 Robotics coding for kids
Write code that drives a machine around a room.
- 🏁 Competitive programming for kids
Win the race. The algorithms that beat the clock.