Learn

Learn C

The language the kernel is written in. From zero.

Start from zero and finish able to write, compile, debug, and reason about a real multi-function C program. Module 1 builds the foundations: the toolchain, types and sizes, control flow, functions and the stack, and pointers. Module 2 puts C to work: strings, file I/O, structs and the heap, gdb, strace, and signals. Every lesson proves its idea on a live Linux VM, and the track ends with a from-scratch capstone graded by a real compiler, an input matrix, and valgrind. Prerequisite: Linux Foundations.

15 hands-on labs across 2 modules, about 9 hours of work. Every lab runs on a real virtual machine in your browser, and checks your work on the machine itself.

Modules and labs

C Foundations

What C is and why it exists, the gcc toolchain, types and sizes, control flow, functions and the stack, and a first working model of pointers and memory. Each lesson compiles and runs real code on a live VM.

C in Practice

C at work: strings and the standard library, file I/O, structs and the heap, debugging with gdb, tracing with strace, and signal handling. Ends with a CSV parser lab and the track capstone.

Frequently asked questions

How many labs are in Learn C?

Learn C has 15 hands-on labs, roughly 9 hours of guided work, spread across 2 modules.

Do I need my own server or hardware to do the Learn C labs?

No. Every lab boots a real virtual machine in your browser, with a real Linux shell. There is nothing to install, and nothing on your own machine to break.

What level is Learn C?

Labs in this track are rated beginner, intermediate. The track starts from the beginning, so no prior experience is assumed.