software-engineer-blog logoSoftware Engineer Blog

49 units · 12 modules · free

Everything You Need to Know About Computer Science

From the bytes under your code to a system design you can defend out loud — in degree order, and every unit ends with the interview questions it unlocks.

Most working developers never took these courses, and most job interviews assume they did. The order below is the one a degree uses — the machine first, the abstractions after — because the later units only make sense once the earlier ones do. Each unit ships as a video walkthrough with the smallest runnable code that proves the point, plus a written post here. You can also ask the blog about anything already published.

M01How your code actually runs

Below the language you write in there is a machine that only moves bytes. Four units to stop treating it as magic.

  1. 01Binary, bytes and why integers overflow

    Everything is a number, and every number has an edge.

  2. 02Memory: stack vs heap, and what an allocation costs

    Two places to put a value, and only one of them is free.

  3. 03The CPU: instructions, cache lines, and why locality beats cleverness

    A clever algorithm that misses cache loses to a dumb one that does not.

  4. 04Compiled vs interpreted — what Python really does

    Python is compiled. Just not to what you think.