COMPUTER SCIENCE, CONNECTED
Understand the mechanisms.
Connect the ideas.
Go beyond code that works.
Follow a program through memory, the CPU and the OS to understand what happens inside a computer.
Read every available lesson without signing up.
let total = 0;
for (const value of values) {
total += value;
}Look at one computation through several layers.
- Open lessons
- 13topics
- Knowledge map
- 22subjects
- Learning paths
- 3routes
CHOOSE YOUR STARTING POINT
Where will you begin?
Find a sequence of lessons that fits what you want to understand.
Build your CS foundations
Follow a program from execution to memory, complexity, and the CPU. Use computer science foundations to answer questions that come up while building software.
Explore this path 02Understand the systems behind the web
Study processes, virtual memory, and concurrency in sequence. Build the foundation needed to understand network communication and databases.
Explore this path 03Prepare for AI systems
Start with complexity, memory hierarchies, CPUs, and concurrency before studying AI execution systems. See where model theory fits into the wider learning path.
Explore this pathOPEN TEXTBOOKS
Build your understanding, one topic at a time.
Work through concrete examples and explore the mechanisms behind the code.
Algorithms and Data Structures
Complexity and Measured Performance
About 75 min
Computer Architecture
Binary Representation, Logic Circuits, and Instruction Sets
About 75 min
Computer Architecture
Caches and the Memory Hierarchy
About 90 min
Computer Architecture
CPUs, Instruction Cycles, and Pipelines
About 75 min
KNOWLEDGE MAP
See where each idea fits.
Explore available lessons and upcoming topics. Select a topic to see its objectives and prerequisites.
Mathematics and logic
Discrete Mathematics, Logic, and Proof
Describe discrete structures using sets, relations, logic, proof, and induction.
Linear Algebra
Work with multidimensional structures through vectors, matrices, linear maps, eigenvalues, and decompositions.
Probability and Statistics
Model uncertainty with random variables and distributions, then estimate and evaluate quantities from samples.
Calculus and Optimization
Connect rates of change, gradients, the chain rule, convexity, and optimization to machine learning and systems analysis.
Computer science foundations
Programming Foundations
Understand how programs execute, manage memory, express abstractions, and support debugging.
Algorithms and Data Structures
Study computation and data representation through correctness, complexity, and measured performance.
Computer Architecture
Understand how instructions, processors, pipelines, caches, I/O, and multiple cores execute programs.
Theory of Computation
Explore the limits of computation through formal languages, automata, computability, reductions, and complexity classes.
Operating Systems
Understand resource abstraction and protection through virtualization, concurrency, and persistence.
Computer Networks
Trace communication through layers, addressing, routing, reliability, name resolution, and web protocols.
Databases
Understand persistent data management through data models, indexes, queries, transactions, and recovery.
Systems and security
Concurrency
Reason about races, synchronization, ordering, and progress when executions overlap.
Distributed Systems
Reason about consistency and availability across nodes that can fail independently and communicate with delays.
Programming Languages and Compilers
Connect syntax, semantics, and types to program analysis, transformation, and runtime systems.
Virtualization and Cloud Computing
Understand resource abstraction and operations using virtual machines, hypervisors, containers, and orchestration.
Computer Security
Analyze threat models, authentication, authorization, memory safety, web attacks, isolation, and side channels.
Cryptography
Understand the primitives and assumptions behind confidentiality, integrity, authentication, and key exchange.
Trusted Execution and Confidential Computing
Protect execution and data from an untrusted host and verify execution state remotely.
AI and its execution platforms
Machine Learning
Understand learning from data through loss minimization, generalization, evaluation, and representation.
Deep Learning
Study neural networks, backpropagation, optimization, and major model architectures.
Transformers and Large Language Models
Understand language models through tokenization, self-attention, pretraining, generation, and KV caching.
AI Systems
Connect accelerator execution, inference serving, vector search, RAG, evaluation, observability, and security.