C and C++ remain the languages of choice for systems programming, embedded development, and performance-critical software. From writing your own operating system kernel to building compilers, emulators, and 3D renderers, these tutorials guide you through projects that expose the inner workings of computers at a low level. Whether you want to understand memory allocation, implement a TCP/IP stack from scratch, or create a playable game with OpenGL, the projects below offer hands-on experience with the concepts that underpin modern software.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/practical-tutorials/project-based-learning/llms.txt
Use this file to discover all available pages before exploring further.
Compilers & Interpreters
Build lexers, parsers, code generators, JIT compilers, and full language implementations.
Operating Systems & Kernels
Write kernels, bootloaders, virtual machines, and Linux containers from scratch.
Games & Graphics
Create games with SDL and OpenGL, build ray tracers, and explore real-time rendering.
Networking & Data Structures
Implement TCP/IP stacks, concurrent servers, MQTT brokers, and key-value stores.
Compilers & Interpreters
- Build an Interpreter (Chapter 14 onwards is written in C)
- Build Your Own Lisp
- Implementing a Language with LLVM
- Write a C compiler
- Let’s write a compiler
- Writing a minimal x86-64 JIT compiler in C++
- Build a Live Code-reloader Library for C++
- Build Your Own Text Editor
- Writing a Linux Debugger
Operating Systems & Kernels
- Write an OS from scratch
- How to create an OS from scratch
- Let’s Write a Kernel
- Write a Bootloader in C
- Learning KVM - Implement Your Own Linux Kernel
- Linux Container in 500 Lines of Code
- Write Your Own Virtual Machine
- Memory Allocators 101 - Write a simple memory allocator
- Write a FUSE Filesystem
- Building a CHIP-8 Emulator
Games & Graphics
- Beginning Game Programming with C++ and SDL
- Tetris Tutorial in C++ Platform Independent
- Meta Crush Saga: a C++17 compile-time game
- High-Performance Matrix Multiplication
- Space Invaders from Scratch
- Tiny 3D graphics projects
OpenGL
- Creating 2D Breakout game clone in C++ with OpenGL
- Handmade Hero
- How to Make Minecraft in C++/OpenGL (video)
Network Programming
- Let’s Code a TCP/IP Stack
- Programming concurrent servers
- MQTT Broker from scratch