Foundations
The mathematical and logical bedrock of computing — bits, logic, sets, algorithms, and the theory of computation.
Foundations cover what computation is: numbers, logic, sets, formal languages, algorithms, and complexity. Everything else in the Atlas rests on this floor.
Core
The essentials. Start here.-
Big O
A notation for describing how an algorithm's cost grows as its input grows — the standard way computer scientists compare algorithms.
core beginner concept -
Binary Numbers
A way of writing whole numbers using only two digits, 0 and 1 — the native number system of digital computers.
core beginner concept -
Bit
A bit is the smallest unit of information in computing — a single value that is either 0 or 1.
core beginner concept -
Boolean Logic
The algebra of true and false — the simple rules (AND, OR, NOT) from which every digital decision is built.
core beginner concept -
Data Structure
A way of organising values in memory so that the operations you care about — find, insert, delete, sort — are efficient.
core beginner concept -
Recursion
A way of solving a problem by having a function call itself on a smaller version of the same problem, until the base case is trivial.
core beginner concept -
Algorithms
A precise, finite recipe for solving a problem — the central idea of computer science.
core intermediate concept
Important
What you'll meet next.-
Abstraction
Hiding complexity behind a simpler interface — the core technique that lets us build and reason about large systems by ignoring lower-level details until we need them.
beginner concept -
Character Encoding
The standard that maps characters to numbers so text can be stored and transmitted as bits — from ASCII's original 128 code points to Unicode's 150,000 and UTF-8's dominant variable-length encoding.
beginner concept -
Hash Table
A data structure that maps keys to values with average O(1) lookup, insert, and delete — the workhorse of dictionaries, sets, caches, and indexes.
beginner concept -
Hexadecimal
A base-16 numbering system used throughout computing because each hex digit corresponds exactly to 4 binary digits.
beginner concept -
Linked List
A data structure built from nodes that each point to the next, allowing O(1) insert and remove at any known node — and notably awful cache behaviour.
beginner concept -
Stack and Queue
Two of the simplest data structures — a stack is last-in-first-out, a queue is first-in-first-out. Both show up everywhere from CPU instructions to background job systems.
beginner concept -
Tree
A hierarchical data structure where each node has children but only one parent — the basis of file systems, search structures, DOMs, and ASTs.
beginner concept -
B-Tree
A self-balancing tree optimised for block storage — wide, shallow, and designed so every search, insert, and delete touches only O(log n) pages, which is why it powers almost every database index.
intermediate concept -
Discrete Mathematics
The branch of mathematics dealing with distinct, separate values — logic, sets, combinatorics, graphs, and proof — that forms the mathematical foundation of computer science.
intermediate field -
Floating-Point
The standard way computers represent real numbers — a finite binary approximation with a sign, an exponent, and a significand that makes most arithmetic fast but never perfectly exact.
intermediate concept -
Graph Theory
The study of graphs — collections of nodes connected by edges — which model networks, relationships, and dependencies across computing and beyond.
intermediate field -
Automata
Abstract machines that read input and move between states according to fixed rules — the mathematical models of computation, from simple finite-state machines up to the Turing machine.
advanced concept -
Complexity Theory
The study of how the resources a problem requires — time and memory — grow with input size, and how problems are classified by how hard they are to solve.
advanced field -
Computability
The study of what can be computed by an algorithm at all — and the proof that some problems, like the halting problem, can never be solved by any computer.
advanced concept -
Formal Language
A precisely-defined set of strings built from an alphabet according to formal rules (a grammar) — the mathematical foundation for parsing, programming languages, and computation theory.
advanced concept
Supplemental
Niche, historical, or specialized.-
Regular Expression
A formal notation for describing patterns in text — based on the theory of finite automata and regular languages, implemented in every programming language for string matching, validation, and parsing.
supplemental intermediate concept -
Category Theory
An abstract mathematical framework studying structures and the structure-preserving maps between them — the algebraic language behind Haskell's monads, functional programming abstractions, and the compositional design of software.
supplemental advanced concept -
Lambda Calculus
A minimal formal system for expressing computation through function abstraction and application — the mathematical foundation of functional programming, type theory, and the theoretical basis for what is computable.
supplemental advanced concept -
Type Theory
A formal framework for classifying values by their kind — preventing invalid operations, enabling type inference, and at its most powerful, encoding mathematical proofs as programs through the Curry-Howard correspondence.
supplemental advanced concept