Computer Systems Mastery
From transistors to a running Rails app — how computers actually work.
**For:** Anjan — 9+ year Rails engineer, no formal CS degree. You build production web applications. This curriculum teaches you what happens beneath the frameworks, libraries, and abstractions you use every day.
-
1
How Computers Work — The Big Picture
-
2
The C Programming Language
-
3
Computer Architecture — From Gates to CPU
-
4
Operating Systems — Processes, Memory & File Systems
-
5
Computer Networks — From Bits to HTTP
-
6
Systems Programming — UNIX, Kernel & Low-Level
-
7
Theory of Computation — Languages & Machines
-
8
Compilers & Interpreters — Building Languages
-
9
Computer Systems Integration — CSAPP Deep Dive
Computer Systems Media Track #
Companion to: COMPUTER_SYSTEMS_MASTERY_CURRICULUM.md
Purpose: Video lectures, YouTube channels, documentaries, and podcasts paired to each module. Systems concepts often click better visually — watching a CPU execute instructions or packets traverse a network makes the abstract concrete.
Last updated: April 30, 2026
How to Use This File #
-
Watch alongside reading. Ben Eater's breadboard videos while doing Nand2Tetris. CSAPP lectures while reading CSAPP chapters. Kleppmann's lectures while reading DDIA in your other curricula.
-
Break weeks. Between major modules, watch a documentary or fun talk to let ideas settle.
-
Mood tags: (Technical), (Inspiring), (Historical), (Fun), (Deep Dive)
Module 0: How Computers Work — The Big Picture #
| Resource | Type | Duration | Mood | Why |
|---|---|---|---|---|
| Crash Course Computer Science (41 videos) | YouTube Series | 10 min each | Fun | Animated overview of the entire CS stack. Perfect companion to Code: The Hidden Language. |
| Ben Eater: How Do Computers Calculate? | Video | 15 min | Technical | Binary addition with logic gates on a breadboard. Makes Code Ch 8-13 visual. |
| The Machine That Changed the World (1992 documentary) | Documentary | 5 episodes | Historical | The history of computing from Babbage to the internet. Dated but foundational. |
Module 1: The C Programming Language #
| Resource | Type | Duration | Mood | Why |
|---|---|---|---|---|
| CS50 2024 — Lectures 1-5 (C) | YouTube | 2 hrs each | Inspiring | David Malan teaches C to beginners with incredible energy. The memory, pointers, and data structures lectures are particularly good. |
| Jacob Sorber: C Programming playlist | YouTube Channel | 10-20 min each | Technical | Practical C programming: pointers, memory, file I/O, systems calls. A working professor who explains clearly. |
| Brian Kernighan on C (Computerphile) | Interview | 10 min | Historical | The co-author of K&R reflects on C's design. Watch before reading the book. |
| Linus Torvalds on C vs C++ (various interviews) | Interviews | varies | Fun | Linus's opinions on C are entertaining and informative. |
Module 2: Computer Architecture — From Gates to CPU #
| Resource | Type | Duration | Mood | Why |
|---|---|---|---|---|
| Ben Eater: Building an 8-bit Breadboard Computer | YouTube Series | 10-20 min each | Technical | THE visual companion to Nand2Tetris. Build a real CPU with breadboards, wires, and LEDs. See logic gates, ALU, clock, RAM, and control logic working physically. 40+ videos. Essential. |
| Nand2Tetris lecture videos (Coursera) | Course | 2-3 hrs/week | Technical | The authors walk through each project. Watch alongside the book. |
| MIT 6.004 Computation Structures (OCW) | Course | varies | Deep Dive | More rigorous treatment of pipelining, caching, virtual memory. Use selectively. |
| Computerphile: How Computers Add (series) | YouTube | 10 min each | Technical | Animated explanations of binary addition, ALU design, and CPU operation. |
| Sebastian Lague: How Computers Work (2024) | Video | 1 hr | Inspiring | Beautiful visual explanation of computing from gates to programs. Modern production quality. |
Module 3: Operating Systems #
| Resource | Type | Duration | Mood | Why |
|---|---|---|---|---|
| OSTEP Authors' Lecture Videos (if available) | Course | varies | Technical | Check the OSTEP website for companion lectures by Arpaci-Dusseau. |
| CMU 15-213 CSAPP Lectures (YouTube) | YouTube | 1.5 hrs each | Deep Dive | Processes, virtual memory, concurrency from the CSAPP perspective. Watch the processes and virtual memory lectures. |
| MIT 6.828 xv6 lectures (YouTube) | YouTube | varies | Deep Dive | MIT's OS engineering course. Build an operating system. Watch if you want to go deeper than OSTEP. |
| Computerphile: What is an Operating System? | Video | 10 min | Technical | Quick overview before diving into OSTEP. |
| Brian Will: Unix System Calls playlist | YouTube | 10-15 min each | Technical | Practical system call demonstrations: fork, exec, wait, pipe, dup2. Watch alongside OSTEP. |
Module 4: Computer Networks #
| Resource | Type | Duration | Mood | Why |
|---|---|---|---|---|
| Kurose & Ross lecture videos (YouTube) | YouTube | 1.5 hrs each | Technical | The authors of the standard networking textbook. Application layer, transport layer, network layer, link layer. The best free networking course. |
| Computerphile: Networking playlist | YouTube | 10-15 min each | Technical | DNS, TCP, UDP, routing, HTTP explained clearly. Watch alongside Head First Networking. |
| Ben Eater: Networking tutorial | YouTube Series | 10-15 min each | Technical | Low-level networking with real hardware. ARP, IP, TCP packet analysis. |
| Julia Evans: Networking! (talk) | Talk | 30 min | Fun | Julia Evans makes networking fun and accessible. Packet captures, DNS debugging, socket programming. |
| Warriors of the Net (1999 animated film) | Animation | 13 min | Fun | Animated journey of a packet across the internet. Old but charming and accurate. Watch for fun. |
Module 5: Systems Programming — UNIX #
| Resource | Type | Duration | Mood | Why |
|---|---|---|---|---|
| Brian Kernighan: UNIX — A History and a Memoir (talks) | Talk | 60 min | Historical | Kernighan tells the story of UNIX at Bell Labs. Fascinating history from someone who was there. |
| AT&T Archives: The UNIX Operating System (1982) | Documentary | 27 min | Historical | Dennis Ritchie and Ken Thompson demonstrate UNIX. Historic footage. |
| Computerphile: UNIX and Linux playlist | YouTube | 10 min each | Technical | Pipes, file descriptors, processes, permissions explained. |
| Gary Bernhardt: A Whole New World (PyCon 2012) | Talk | 30 min | Inspiring | The gap between high-level languages and the system beneath. Eye-opening. |
| Bryan Cantrill: The Summer of Rust (talks) | Talk | 60 min | Inspiring | Systems programming culture, debugging production systems, the joy of understanding the machine. |
Module 6: Theory of Computation #
| Resource | Type | Duration | Mood | Why |
|---|---|---|---|---|
| MIT 18.404J Theory of Computation (OCW) | Course | varies | Deep Dive | Michael Sipser's course. DFA, NFA, CFG, Turing machines, decidability, complexity. The best free theory course. |
| Computerphile: Halting Problem | Video | 8 min | Technical | Clear explanation of the Halting Problem. Watch before the formal proof. |
| Computerphile: P vs NP | Video | 12 min | Technical | Why P vs NP is the biggest open problem in CS. |
| Brian Kernighan: SICP and Beyond (talk) | Talk | 60 min | Historical | On SICP's legacy and programming language design. |
| GEB audiobook or lecture (if available) | Various | varies | Philosophical | Hofstadter's ideas explained visually. Search for GEB lectures or animations. |
| Coursera: Automata Theory (Ullman, Stanford) | Course | 8-10 hrs | Technical | Jeff Ullman teaches automata. Your Coursera subscription covers this. |
Module 7: Compilers & Interpreters #
| Resource | Type | Duration | Mood | Why |
|---|---|---|---|---|
| Bob Nystrom: Crafting Interpreters (conference talk) | Talk | 45 min | Inspiring | The author explains why he wrote the book and what you learn by building interpreters. |
| Stanford Compilers (Alex Aiken) on Coursera | Course | 10-12 weeks | Technical | Academic compiler course. Lexing, parsing, type checking, code generation. |
| Nand2Tetris Part 2 (Coursera) | Course | 6 weeks | Technical | Build the compiler and OS for your Nand2Tetris computer. |
| Destroy All Software: A Compiler From Scratch | Screencast | 30 min | Technical | Build a complete compiler in 30 minutes. Dense but brilliant. |
| Thorsten Ball: Writing An Interpreter In Go (talk) | Talk | 40 min | Practical | The author explains Pratt parsing and interpreter design. |
| Terence Parr: ANTLR and parsing (talks) | Talk | 60 min | Technical | Parser generator theory and practice. |
Module 8: CSAPP Integration #
| Resource | Type | Duration | Mood | Why |
|---|---|---|---|---|
| CMU 15-213 Full Course (YouTube) | YouTube | 1.5 hrs each | Deep Dive | The full CSAPP course from CMU. 27 lectures covering every chapter. Watch the data representation, assembly, and virtual memory lectures at minimum. |
| Matt Godbolt: What Has My Compiler Done for Me Lately? (CppCon) | Talk | 50 min | Technical | The creator of Compiler Explorer shows how compilers optimize code. Directly relevant to CSAPP Ch 3 and Ch 5. |
| Compiler Explorer (godbolt.org) | Tool | ongoing | Technical | Paste C code, see assembly output. THE tool for CSAPP Ch 3 exercises. |
Podcasts #
| Podcast | Focus | Why |
|---|---|---|
| Oxide and Friends | Systems programming, hardware, OS | Bryan Cantrill and friends discuss systems topics. Deep, opinionated, fun. |
| Systems with JT | Systems programming, Nushell, Rust | Practical systems discussions. |
| CoRecursive | Deep engineering stories | Long-form stories about systems decisions and their consequences. |
| Computer Science Podcast (Lex Fridman) | CS interviews | Interviews with Kernighan, Knuth, Torvalds, and other systems legends. |
| Signals and Threads (Jane Street) | Systems, FP, engineering | Deep technical discussions about systems at Jane Street. |
YouTube Channels (Subscribe) #
| Channel | Focus | Why |
|---|---|---|
| Ben Eater | Computer architecture, networking | THE hardware channel. Breadboard computers, networking, GPU from scratch. |
| Computerphile | CS concepts | Accessible explanations of CS topics by academics. |
| Sebastian Lague | Visual computing | Beautiful visualizations of computing concepts. |
| Low Level Learning | C, assembly, systems | Short, clear videos on low-level topics. |
| Jacob Sorber | C programming, systems | A professor teaching C and systems programming on YouTube. |
| 3Blue1Brown | Math and CS visualization | When you need a visual explanation of math concepts in theory of computation. |
Documentaries & Films #
| Title | Duration | Mood | Why |
|---|---|---|---|
| Revolution OS (2001) | 85 min | Historical | The story of Linux, GNU, and open source. Features Torvalds, Stallman, Raymond. |
| The Code: Story of Linux (2001) | 60 min | Historical | Finnish documentary about Linux's creation. |
| BBS: The Documentary (2005) | 8 episodes | Historical | The history of bulletin board systems. Early networking culture. |
| Lo and Behold: Reveries of the Connected World (2016) | 98 min | Philosophical | Werner Herzog explores the internet. Beautiful, strange, thought-provoking. |
| The Internet's Own Boy: The Story of Aaron Swartz (2014) | 105 min | Inspiring | The story of Aaron Swartz — RSS, Reddit, Creative Commons, and the fight for open access. |
Watch one video per day during modules. Subscribe to 3-4 channels. Systems knowledge compounds when you see it from multiple angles.
Computer Systems Community Guide #
Companion to: COMPUTER_SYSTEMS_MASTERY_CURRICULUM.md
Purpose: Forums, newsletters, blogs, conferences, and projects for systems topics. Systems knowledge grows through community — reading kernel mailing lists, following OS researchers, and studying real system internals.
Last updated: April 30, 2026
Newsletters & Blogs #
Must-Follow (Systems-Focused) #
| Blog/Newsletter | Author/Source | Focus | Why |
|---|---|---|---|
| Julia Evans | Julia Evans | Networking, Linux, debugging | Makes complex systems concepts accessible. Zines, comics, and clear blog posts. Packet captures, system calls, DNS debugging. The best systems blog for working programmers. |
| Dan Luu | Dan Luu | Systems performance, engineering culture | Data-driven posts on how hardware and software actually behave. Cache performance, memory latency, the gap between theory and practice. |
| Eli Bendersky | Eli Bendersky | Compilers, C, Go, systems | Deep technical posts on parsing, compiler construction, and low-level programming. Excellent companion to Modules 6-7. |
| Brendan Gregg | Brendan Gregg | Performance, Linux, tracing | THE performance analysis expert. Flame graphs, perf, BPF, DTrace. Systems Performance book author. |
| Mara Bos | Mara Bos | Concurrency, atomics, systems | Rust Atomics and Locks author. Clear posts on concurrency primitives and OS internals. |
| Fabien Sanglard | Fabien Sanglard | Architecture, game engines, systems | Deep dives into real system architectures (Doom, Quake, iOS, etc.). Beautifully illustrated. |
| Cloudflare Blog | Cloudflare Engineering | Networking, security, performance | Production networking at massive scale. TCP optimization, DNS, TLS, DDoS. Directly relevant to Module 4. |
| Fly.io Blog | Fly.io Engineering | Systems, networking, Elixir | Deep systems posts about running infrastructure. Cross-references with your Elixir curriculum. |
Worth Following #
| Blog/Newsletter | Focus | Why |
|---|---|---|
| LWN.net | Linux kernel, systems | The authoritative Linux kernel news source. Kernel development, system calls, new features. |
| Beej's Guides | C, networking, IPC | Free, excellent guides for C programming, sockets, and IPC. Reference throughout curriculum. |
| OSDev Wiki | OS development | Community wiki for operating system development. Reference for Module 3 deep dives. |
| Papers We Love | CS papers | Reading groups for influential CS papers. Systems papers are well-represented. |
| The Morning Paper (archive) | CS paper summaries | Adrian Colyer's daily CS paper summaries. The archive is gold for systems papers. |
| Hacker News | General tech | Systems posts regularly hit the front page. Comments from kernel developers, compiler engineers, and networking experts. |
Forums & Communities #
| Community | Platform | Focus | Why Join |
|---|---|---|---|
| r/osdev | OS development | Active community building operating systems. Projects, questions, tutorials. | |
| r/systems | Systems engineering | Discussions about OS, networking, and distributed systems. | |
| r/compsci | CS theory | Theory of computation, algorithms, complexity discussions. | |
| r/compilers | Compilers | Compiler construction discussions. Helpful for Module 7. | |
| r/netsec | Network security | Security-focused networking discussions. | |
| OSDev Forums | Forum | OS development | Dedicated community for building operating systems. |
| Nand2Tetris Community | Website | Computer architecture | The Nand2Tetris project community. Forums, Q&A, project help. |
| Lobsters | Link aggregator | Systems, PL theory | Higher signal-to-noise ratio than HN for systems and PL topics. |
Conferences (Recordings Available Free) #
| Conference | Focus | How to Access | Why |
|---|---|---|---|
| USENIX OSDI | Operating systems | YouTube (free) | Top OS research conference. Papers on file systems, kernels, scheduling. |
| USENIX NSDI | Networked systems | YouTube (free) | Networking research in practice. CDNs, DNS, load balancing papers. |
| SIGCOMM | Computer networks | ACM DL (some free) | THE networking research conference. Protocol design, routing, congestion control. |
| SOSP / OSDI | OS and systems | YouTube (free) | Alternating top OS conferences. Landmark systems papers are presented here. |
| Strange Loop | Systems, languages | YouTube archive (free) | Systems talks by Hickey, Kleppmann, Cantrill. Ended 2023 but archive is gold. |
| CppCon | C++, systems, performance | YouTube (free) | Systems performance talks. Matt Godbolt's compiler talks live here. |
| FOSDEM | Open source systems | YouTube (free) | Free European open source conference. Kernel, networking, compiler tracks. |
| linux.conf.au | Linux, systems | YouTube (free) | Linux kernel and systems conference. |
Open-Source Projects to Study #
Study these for their architecture and implementation, not just their code.
Operating Systems & Kernels #
| Project | Language | Why Study |
|---|---|---|
| xv6 | C | MIT's teaching OS. Simple, readable, well-documented. THE reference for Module 3 deep dives. |
| Linux kernel | C | The world's most important software project. Read specific subsystems (scheduler, VFS, networking) after OSTEP. |
| SerenityOS | C++ | A complete OS built from scratch by one person (initially). Browser, GUI, kernel. Inspiring. |
Compilers & Interpreters #
| Project | Language | Why Study |
|---|---|---|
| CRuby | C | Ruby's own interpreter. Read parse.y (parser), compile.c (compiler), vm.c (YARV VM). Directly relevant to Module 7. |
| Lua | C | Tiny, elegant, embeddable interpreter. ~20K lines of C. Study its VM design after Crafting Interpreters. |
| TinyCC | C | A tiny C compiler by Fabrice Bellard. Compiles C to x86 in one pass. Study for compiler simplicity. |
| LLVM | C++ | The compiler infrastructure behind Clang, Rust, Swift. Study the IR and optimization passes. |
Networking #
| Project | Language | Why Study |
|---|---|---|
| mTCP | C | Userspace TCP stack. See TCP implementation in ~20K lines. |
| curl | C | The most popular HTTP client. Study its connection handling, TLS negotiation, and protocol support. |
Essential Readings (Papers & Articles) #
| Paper/Article | Author | Year | Module | Why |
|---|---|---|---|---|
| Reflections on Trusting Trust | Ken Thompson | 1984 | 7 | Can you trust your compiler? The most famous short CS paper. 3 pages. |
| The UNIX Time-Sharing System | Ritchie & Thompson | 1974 | 5 | The original UNIX paper. See the design philosophy from the source. |
| An Experimental Time-Sharing System | Corbato et al. | 1962 | 3 | Where time-sharing began. |
| End-to-End Arguments in System Design | Saltzer, Reed, Clark | 1984 | 4 | THE networking design principle. Why put functionality at the endpoints, not in the network. |
| A Note on the Confinement Problem | Lampson | 1973 | 3 | Information flow control in OS. Short and influential. |
Tools to Learn and Use #
| Tool | Category | Why |
|---|---|---|
| GDB/LLDB | Debugging | Debug C programs. Essential for Modules 1, 3, 5. |
| Valgrind | Memory checking | Detect memory leaks, use-after-free, buffer overflows. Essential for Module 1. |
| strace/dtrace | System call tracing | See every system call a program makes. Essential for Modules 3, 5. |
| tcpdump/Wireshark | Packet capture | Capture and analyze network traffic. Essential for Module 4. |
| Compiler Explorer (godbolt.org) | Compiler output | See assembly output of C code. Essential for Module 8. |
| perf | Performance analysis | Linux performance counters, flame graphs. Module 8. |
Books to Read for Fun (Not in the Curriculum) #
| Book | Author | Why |
|---|---|---|
| Hackers: Heroes of the Computer Revolution | Steven Levy | The culture of early computing. Fun, inspiring. |
| The Soul of a New Machine | Tracy Kidder | Pulitzer Prize winner. Building a minicomputer at Data General. |
| In the Beginning Was the Command Line | Neal Stephenson | The philosophy of operating systems. Short, witty. |
| Just for Fun | Linus Torvalds | Linus's autobiography. Light and fun. |
| Where Wizards Stay Up Late | Hafner & Lyon | The origin story of the internet. |
| Coders at Work | Peter Seibel | Interviews with legendary programmers (Knuth, Norvig, Zawinski, etc.). |
| UNIX: A History and a Memoir | Brian Kernighan | Kernighan's account of UNIX at Bell Labs. Essential history. |
Systems knowledge lives in communities. Follow 3 blogs. Read 1 paper per month. Subscribe to 2 channels. The mental models compound over years.