C Track
12 modules · 48 lessons
The language that powers operating systems and embedded devices. Learn memory management from the ground up with manual allocation and pointer manipulation.
C Basics & Memory
Get started with C: variables, types, compilation, and your first look at how memory works under the hood.
Pointers Deep Dive
Master pointer arithmetic, pointer-to-pointer, function pointers, and common pitfalls that lead to bugs.
Structs & Data Structures
Build custom data types with structs and implement fundamental data structures: linked lists, stacks, and hash tables.
File I/O
Read and write files in C using the standard library. Understand streams, buffering, and binary vs text modes.
Networking in C
Learn socket programming from scratch: TCP clients and servers, HTTP basics, and building network protocols in C.
Capstone: Key-Value Store
Build a complete in-memory key-value store in C, combining everything you have learned: data structures, file persistence, and a command interface.
What Your C Code Actually Does
See what your C code is really doing at the machine level. Examine assembly output from the compiler, understand calling conventions, and learn how high-level constructs translate to CPU instructions.
Assembly Equivalents of C Patterns
Rewrite common C patterns in raw x86-64 assembly. Build printf, linked lists, file I/O, and a TCP server at the syscall level to truly understand what C abstracts away.
Concurrency in C
Master multithreaded programming with pthreads. Learn thread creation, synchronisation primitives, atomic operations, and build a practical thread pool.
Advanced Memory in C
Go beyond malloc: build custom allocators, use memory-mapped I/O, debug memory issues with sanitizers, and implement your own memory allocator from scratch.
Systems Programming in C
Dive into Unix systems programming: signal handling, process management with fork/exec, shared libraries, and build a working Unix shell as a capstone.
Security-Focused C
Learn to write secure C code: CERT C guidelines, defensive programming, compiler hardening flags, and harden a deliberately vulnerable server as a capstone.