C, C++ Systems Engineering Learning Path¶
A 12-week curriculum that takes a working C programmer to production-depth knowledge of C, modern C++17, concurrency, debugging, Linux, databases and distributed systems, built around one real project: a multithreaded TCP key-value server.
Every module follows the same shape: plain words first, then the real mechanism, complete code, what happens under the hood, how it fails in production, exercises, and interview questions.
Start here: the 12-week plan Set up your machine
The courses¶
- Environment Setup
WSL, GCC 13, CMake, gdb, Valgrind and sanitizers working on day one.
2 modules ·
- C Programming
Types, pointers, memory, strings, layout, UB, allocators, POSIX, pthreads, legacy code.
16 modules ·
- Modern C++17
RAII, move semantics, smart pointers, STL internals, templates, vtables, UB.
14 modules ·
- Data Structures & Algorithms
From complexity to B+trees, graphs and DP, plus a 10-week interview problem plan.
16 modules ·
- Concurrency
Threads, mutexes, condition variables, atomics and the memory model, thread pools, Win32.
13 modules ·
- Memory, Debugging & RCA
Process memory, malloc internals, gdb, core dumps, WinDbg, sanitizers, writing an RCA.
13 modules ·
- Linux, Toolchain & DevOps
The linker, GCC flags, CMake, GoogleTest, Git, Docker, CI, systems calls.
12 modules ·
- Database Internals
Pages, B-trees, WAL, MVCC, EXPLAIN, PL/pgSQL, Berkeley DB, YugabyteDB, Redis.
14 modules ·
- Networking & Distributed Systems
TCP, sockets, epoll, RPC, HTTP, consistency, Raft, sharding, system design.
14 modules ·
- OOP, Patterns & Architecture
SOLID, ownership design, patterns in modern C++, server architecture, LLD walkthroughs.
12 modules ·
- Capstone Projects
Build tcpkv step by step, sanitizer-clean and CI-green; optional minidb storage engine.
10 steps ·
How to use this site¶
- Follow the week-by-week table in Start here. Study three or four courses in parallel, one module per sitting.
- Type the code yourself. Every program is linked to GitHub and builds with
-Wall -Wextra -Werroron GCC 13. - Press Mark as done at the top of a module when you can say its recap out loud without looking. Your progress is saved in this browser only.
- Use the search box (press /) to find any topic across all courses.