Type a branch, a subject or a topic — “round robin”, “paging”, “civil”.

Computer Science and Engineering

Every core subject here is about a mechanism you normally only see the output of — a scheduler choosing, a query planner joining, a parser deciding. These are the topics that are hardest to picture from a textbook, so they are the ones this site animates first.

6 core subjects · 71 topics you can watch now · 145 mapped on the roadmap

Start with What is an Operating System? →

About Computer Science and Engineering

The computer science subjects here share a theme: each one removes a layer of magic from something you already use. Operating systems explain how one machine pretends to be many. Databases explain how concurrent access stays consistent. Networks explain how an unreliable medium carries a reliable conversation. Compilers explain what happens to your source. Theory of computation explains what no program can do at all.

A reasonable order is digital logic, then operating systems, then networks and databases in either order, with theory of computation before compilers. That said, each subject stands alone, and starting with whichever one currently frustrates you is a perfectly good plan.

What these subjects have in common is that they are usually taught as static descriptions of dynamic things. A page table, a lock manager, a congestion window and a parse stack all change over time, and the change is the whole content — a snapshot of one shows almost nothing. Every topic in this branch is built around watching that change happen, one step at a time, with the reason for each step written beside it.

What to know first

  • One programming language, used enough to have been surprised by it
  • No hardware background — the digital-logic track starts from switches

Where it gets used

  • Debugging performance problems that cross the application boundary
  • Interviewing, where these subjects supply most of the systems questions
  • Reading infrastructure and database documentation without hand-waving

Other branches