Computer Architecture
The hardware layer that all software ultimately executes on. Understanding CPU architecture, instruction sets, and Assembly gives you insight that makes everything from performance optimisation to security research possible.
Advanced
Assembly Language
x86 and ARM Assembly. Registers, instructions, the stack frame, and reading the code CPUs actually execute.
Advanced
CPU Architecture
Pipeline stages, cache hierarchies, branch prediction, and why some code is 100x faster than other equivalent code.
Intermediate
Memory Hierarchy
L1/L2/L3 cache, RAM, disk — understanding the speed and size tradeoffs at every level of the memory hierarchy.
Beginner
Binary & Logic Gates
Binary arithmetic, Boolean algebra, logic gates, and how digital circuits implement computation.