← Back to all projects

CURRICULUM LOW LEVEL MASTERY

*Goal: Move from syntax to a visceral understanding of pointers, memory layout, and the toolchain.*

Low-Level Engineering Curriculum: From Zero to Systems Architect

Philosophy: This curriculum is designed to transform you from a user of software into a builder of systems. It moves from the microscopic (bits, pointers, memory) to the macroscopic (kernels, distributed systems, compilers), using a project-based approach where you build real infrastructure from scratch in C.


๐Ÿ“š Phase 1: Language & Memory Fundamentals

Goal: Move from syntax to a visceral understanding of pointers, memory layout, and the toolchain.

  1. LEARN_C_MODERN_APPROACH_KING.md
    • Focus: Standard C Syntax and logic.
  2. SPRINT_1_REAL_WORLD_PROJECTS.md
    • Key Projects: Memory Inspector (Visualizing Stack/Heap), Safe String Library, Memory Leak Detector.
  3. CSAPP_3E_DEEP_LEARNING_PROJECTS.md (Foundation)
    • Project 1: Hello Toolchain: Build a Pipeline Explorer to see every stage from .c to executable.
    • Project 2: Bitwise Inspector: Seeing how the machine represents types at the byte level.

๐Ÿ—๏ธ Phase 2: Data Structures, Safety & Invariants

Goal: Internalize the โ€œcontractsโ€ of systems programming. Ownership, alignment, and robust data management.

  1. DATA_STRUCTURES_FROM_FIRST_PRINCIPLES.md
    • Key Projects: Memory Arena (Bump Allocator), Dynamic Array, Hash Table from scratch.
  2. SPRINT_2_DATA_AND_INVARIANTS_PROJECTS.md
    • Focus: Ownership and Memory Layout.
    • Key Projects: Gap Buffer (Text Editor core), Arena Allocator, JSON Parser with explicit ownership.
  3. LEARN_ALGORITHMS_DEEP_DIVE.md
    • Key Projects: Sorting Visualizer, Binary Search Toolkit, Recursion/Call Stack Visualizer.

โš™๏ธ Phase 3: Control Flow, State & Systems Integration

Goal: Build software that survives the real world. Handling signals, file descriptors, and complex state.

  1. SPRINT_3_CONTROL_FLOW_STATE_PROJECTS.md
    • Key Projects: Modal Text Editor (State Machine), HTTP Parser, Connection Pool.
  2. SPRINT_4_5_REAL_WORLD_PROJECTS.md
    • Focus: Performance contracts. Caches, Ring Buffers, and B-Trees.
  3. SPRINT_5_SYSTEMS_INTEGRATION_PROJECTS.md
    • Focus: Production reality.
    • Key Projects: Log Tailer (Rotation handling), Process Supervisor, HTTP Connection Pool (Resilience).
  4. CONCURRENCY_THREADS_SEMAPHORES_PROJECTS.md
    • Focus: Core concurrency primitives. Understanding race conditions and synchronization from scratch.

๐Ÿ’ป Phase 4: Machine Mastery (The CS:APP Path)

Goal: The deep hardware-software interface. Reverse engineering and OS abstractions.

  1. CSAPP_3E_DEEP_LEARNING_PROJECTS.md (The Gauntlet)
    • Project 3: Bomb Lab: Binary reverse engineering.
    • Project 4: Attack Lab: Mastering overflows and ROP chains.
    • Project 5: Arch Lab: Building a CPU simulator (Y86).
    • Project 6: Cache Lab: Squeezing performance from the hierarchy.
    • Project 7: Shell Lab: Building a job-control shell.
    • Project 8: Malloc Lab: Writing a production-grade allocator.
  2. LEARN_DISASSEMBLY_FROM_SCRATCH.md
    • Project: Build an x86-64 Disassembler in C.
  3. ADVANCED_UNIX_PROGRAMMING_DEEP_DIVE.md
    • Focus: Advanced IPC, signals, and daemon engineering.

๐ŸŒ Phase 5: Network Engineering & Protocols

Goal: Build the internet from scratch. No libraries, just raw sockets.

  1. LEARN_ASTERISK_PBX_FROM_SCRATCH_IN_C.md
    • Focus: VoIP, SIP, RTP. Real-time UDP networking.
    • Projects: SIP Parser, RTP Audio Receiver/Sender, Conference Bridge.
  2. VPN_WIREGUARD_TAILSCALE_LEARNING_PROJECTS.md
    • Focus: Tunneling, virtual interfaces (TUN/TAP), encryption.
  3. LEARN_LDAP_FROM_SCRATCH_IN_C.md
    • Focus: Directory protocols, ASN.1 encoding, binary formats.
  4. LEARN_CAMEL_FROM_SCRATCH_IN_C.md
    • Focus: Message routing, enterprise integration patterns in C.

๐Ÿ”Œ Phase 6: Embedded, Bare Metal & Real-Time

Goal: Direct hardware control without an OS.

  1. ARM_ASSEMBLY_LEARNING_PROJECTS.md
  2. LEARN_BARE_METAL_PROGRAMMING.md
  3. LEARN_RTOS_FROM_SCRATCH_IN_C.md
    • Capstone: Build a Real-Time Operating System kernel (scheduler, context switching).
  4. LEARN_C_MP3_PLAYER_FROM_SCRATCH.md
    • Focus: Interfacing with audio hardware, timing, decoding buffers.

๐Ÿ—๏ธ Phase 7: Build Your Own Infrastructure (Specializations)

Goal: Recreate the giants. Choose one or more paths.

  • Cloud Infra: LEARN_CLOUD_FROM_SCRATCH_IN_C.md (Containers, cgroups, namespaces)
  • Virtualization: LEARN_PROXMOX_FROM_SCRATCH_IN_C.md (Build a hypervisor management layer)
  • Monitoring: LEARN_MONITORING_SYSTEM_IN_C.md (Build a Zabbix clone)
  • Databases: DATABASE_INTERNALS_C_LEARNING_PROJECTS.md
  • Compilers: COMPILERS_INTERPRETERS_LEARNING_PROJECTS.md
  • Virtual Machines: LEARN_JVM_INTERNALS_BUILD_FROM_SCRATCH.md
  • Graphics: LEARN_COMPUTER_GRAPHICS_FROM_SCRATCH_IN_C.md (Rasterizers, Raytracers)
  • iOS Development: LEARN_IOS_IN_C_DEEP_DIVE.md (Building iOS apps in pure C)
  • Visualization: LEARN_GRAFANA_IN_C.md (Building a visualization dashboard backend)
  • Computational Geometry: LEARN_COMPUTATIONAL_GEOMETRY_CAD_KERNEL_DEEP_DIVE.md (Build a CAD kernel)

๐Ÿ‘‘ Phase 8: The Kernel โ€” The Summit

The final test of a systems engineer.

  1. OPERATING_SYSTEMS_FROM_FIRST_PRINCIPLES.md
  2. LEARN_LINUX_KERNEL_DEEP_DIVE.md
    • Focus: Understanding the Linux kernel source, modules, and internals.
  3. TRACK_A_OS_KERNEL_PROJECTS.md
    • Final Capstone: Write a Unix-like kernel from scratch.