Module 1 Foundation

How Computers Actually Work

Every line of code you've generated — with AI or without — eventually becomes electrical signals flipping transistors inside a CPU. If that sounds abstract, that's the problem. Vibe coders treat the computer as a black box: input goes in, output comes out, and the magic in between is someone else's concern. Real engineers know that the magic has a name, and understanding it changes how you write code. This module tears open that black box. You'll learn how data is represented in binary, why memory is divided into a stack and a heap, and what actually happens when your code goes from a text file to a set of CPU instructions. You'll understand why a stack overflow is called that, why some operations are orders of magnitude faster than others, and what it means when a process blocks on I/O. This isn't academic trivia. When your Node.js app leaks memory, when a Python loop crawls on a large dataset, when your server runs out of file descriptors — the engineers who can diagnose and fix these problems are the ones who know what's underneath. This module gives you that foundation. It's the difference between debugging by intuition and debugging by understanding.

What You'll Learn

  • 1
    Binary, Bits, and Bytes — How data is actually stored
  • 2
    Memory Layout — Stack vs heap, why it matters for your code
  • 3
    How Your Code Actually Runs — From source to CPU instructions
  • 4
    The Operating System Contract — Processes, threads, syscalls
  • 5
    File Systems and I/O — Where your data actually lives

Capstone Project: Build a Memory Visualizer

Build an interactive tool that visualizes stack and heap allocation as code executes — showing variable lifetimes, pointer relationships, and memory growth in real time. You'll instrument real programs to capture allocation events and render them as a live diagram, making abstract memory concepts concrete and debuggable.

Why This Matters for Your Career

Developers who don't understand memory are perpetually mystified by a class of bugs that experienced engineers can spot in seconds. Memory leaks, stack overflows, segmentation faults, out-of-memory crashes — these aren't random acts of god. They follow rules, and those rules come directly from how computers actually work. Understanding the CPU execution model changes how you write loops, choose data structures, and reason about performance. Cache locality — the reason iterating an array is far faster than following pointers through a linked list — is invisible until you know about it. Once you do, you start writing code that works with the hardware instead of against it. The OS contract — processes, threads, syscalls, file descriptors — is what every server and every networked application is built on. When something goes wrong in production, this knowledge is the difference between an engineer who can triage the incident and one who just restarts the server and hopes.