KNOWLEDGE MAP
CS knowledge map
Select a topic to explore its objectives, concepts 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.