Computer Fundamentals
A beginner to advanced computer fundamentals library: number systems, two's complement and floating point, text encoding, logic gates and CPU architecture, pipelining and branch prediction, the memory hierarchy and caches, compilers, linkers and garbage collection, parallel hardware from SIMD to GPUs, and an interview playbook.
Start here for the "how does a computer actually work" questions, from "convert 156 to binary" to "why does adding threads make this slower". The pages climb from bits to CPUs to caches to the software that turns code into running programs, then finish with parallel hardware. Numeric examples (conversions, two's complement, IEEE 754 encodings, UTF-8 bytes) were checked with Python, and hardware details reflect current chips (ARM servers, chiplets, HBM, AI accelerators).
- 01Number Systems and Data Representation
How computers represent data: bits and bytes, binary, octal, and hex conversions, unsigned and two's complement integers, overflow, bitwise operations and tricks, IEEE 754 floating point and why 0.1 + 0.2 is not 0.3, fixed point and decimals for money, characters from ASCII to Unicode and UTF-8, endianness, and data units.
Beginner - 02Digital Logic and Computer Architecture
From transistors to CPUs: logic gates and Boolean algebra, combinational and sequential circuits, adders, multiplexers, flip-flops, the von Neumann architecture, CPU components (ALU, registers, control unit), the fetch-decode-execute cycle, instruction set architectures (RISC vs CISC, x86, ARM, RISC-V), addressing modes, pipelining and hazards, branch prediction, superscalar and out-of-order execution, and performance equations.
Beginner to midTable of Contents1. Transistors and Logic Gates2. Boolean Algebra3. Combinational Circuits4. Sequential Circuits5. The von Neumann Architecture6. Inside the CPU7. The Instruction Cycle8. Instruction Set Architectures9. Pipelining10. Branch Prediction and Speculation11. Superscalar and Out-of-Order Execution+2 more - 03Memory Hierarchy and Caches
The memory hierarchy from registers to disk, latency numbers every programmer should know, locality, cache lines, direct-mapped vs set-associative vs fully associative caches with address breakdown examples, the 3 Cs of misses, write policies, AMAT calculations, cache coherence (MESI), false sharing, prefetching, and how to write cache-friendly code.
Mid to advanced - 04Compilers and Program Execution
How source code becomes a running program: compiled vs interpreted vs JIT, compiler phases (lexing, parsing, ASTs, semantic analysis, IR, optimization, code generation), common optimizations, linking and loading, static vs dynamic libraries, executable formats, the call stack and calling conventions, stack vs heap, garbage collection algorithms, bytecode VMs (JVM, V8, CPython), and WebAssembly.
Mid - 05Parallelism and Modern Hardware
How modern hardware runs code in parallel: concurrency vs parallelism, Flynn's taxonomy, levels of parallelism, multi-core and SMT, SIMD and vectorization, GPUs and the CUDA execution model, AI accelerators, NUMA, heterogeneous chips and chiplets, power and thermals, storage and I/O buses, and a performance mindset with roofline thinking.
Advanced - 06Computer Fundamentals Interview Playbook
Computer fundamentals interview rehearsal: a 40-question bank with strong-answer checklists, numerical problem recipes (base conversion, two's complement, IEEE 754, cache address breakdown, AMAT, pipelining, CPU time), a 'what happens when you run a program' walkthrough, cheat sheets, common mistakes, and a 5-day study plan.
All levels
Reading Path
Pick Your Level
| You are | Read in this order |
|---|---|
| New to the topic | Number Systems, Architecture |
| Preparing for campus or a written test | Add Caches and the numerical recipes in the Playbook |
| Preparing for performance-focused roles | Add Compilers and Parallelism |
| A few days left | The Interview Playbook study plan |
Related Sections
- Operating Systems builds on this: processes, virtual memory, scheduling, and I/O.
- Networking covers how machines talk to each other.
- Java and JavaScript show these ideas inside real runtimes (JVM, V8, the event loop).