Series 5: Systems Programming
The capstone series. Everything you've learned — Unix, C, pointers, memory, structs — comes together as you learn how programs create other programs, communicate through pipes, and respond to signals. This is what makes C the language of operating systems.
Lessons
5.1: What Are System Calls and How Do Processes Fork?
~22 min · Week 10 · Prereq: Lessons 2.2, 3.7
fork(), exec(), wait(). Creating child processes and understanding how every program you’ve ever run was launched.
5.2: How Do Pipes and Signals Enable Inter-Process Communication?
~22 min · Week 10 · Prereq: Lessons 5.1, 1.5
pipe(), signal(), kill(). The shell’s | operator, built from scratch in C. How processes talk to each other.
5.3: How Does C Synthesize Java, Unix, and Systems Concepts?
~20 min · Week 10 · Prereq: All previous lessons
Course synthesis. How Java, Unix, and C connect. What you’ve learned, what comes next, and why this foundation matters.
Related resources:
- C vs Java Cheat Sheet — quick translation reference for the full course
- CTF Challenges — all 163 challenges across the quarter
Previous series: ← Series 4: Advanced C