Computer Science Foundations Hub
Computer Science Foundations provide the theoretical and structural principles that enable all modern computing. This hub organizes the content as the CS core curriculum runs: theory of computation and complexity, algorithms' analytic tools, the systems stack from processor to OS, and the languages/compilers bridge.
Theory of Computation and Complexity
Understanding the limits of computation and the cost of solving problems.
Systems: Processor, Memory, OS
The physical and logical structure of the machines that execute computation.
- Processor Architecture Fundamentals — Pipelines, branch prediction, out-of-order execution, SIMD, and Spectre
- Binary Arithmetic — Two's complement and bitwise operations at the hardware level
- Memory Architectures — The hierarchy from registers and caches to main memory; NUMA
- Virtual Memory and Paging — Address translation, TLBs, page replacement, copy-on-write, and mmap
- Memory Management Fundamentals — Allocators, garbage collection, and ownership
- Operating Systems Foundations — Kernels, scheduling, file systems, and hardware abstraction
- Concurrency and Synchronization — Races, mutexes, deadlock, memory models, and lock-free basics
Logic and Type Systems
The formal languages used to specify and verify programs.
- Type Systems Comparison — Static vs. dynamic, structural vs. nominal, and the features that matter
- Propositional Logic — The fundamental logic of binary truth and its role in computation
- Predicate Logic — First-order logic and its application to formal specification and database theory
- Formal Semantics — Rigorous mathematical descriptions of what programs actually mean
Languages and Compilers
The bridge between human-readable code and machine-executable instructions.
- Compiler Design Basics — Lexing, parsing, semantic analysis, and the pipeline that transforms source into executable
- Functional Programming Foundations — Lambda calculus, category theory, and paradigm utility
- LISP Programming Language — Symbolic computing, homoiconicity, and the functional lineage
- Erlang Programming Language — The actor model and fault tolerance as language design
- Hash Functions and Cryptographic Hashing — Avalanche, collision resistance, and Bloom-filter applications
- Programming Languages Hub — The full per-language catalog
- Language architecture deep-dives: Python, Ruby, Groovy, Dependency Injection Evolution, GoF Patterns in 2026
Adjacent Hubs