Computer Science Handbook

Learn the whole of computer science.

Free computer science explanations, worked examples, and structured learning routes for programming, operating systems, networking, and databases.

Browse the full catalog · Start with programming

Explore by field

  • Programming — fundamentals, languages, and object-oriented design
  • Operating systems — processes, threads, scheduling, synchronization, and memory
  • Networking — IP, routing, transport, HTTP, and secure communication
  • Databases — relational modeling, SQL, joins, indexes, and transactions
  • Full topic library — search across the complete catalog

Start with these topics

  • What is Programming? — Writing precise instructions a machine can execute, and choosing the data those instructions work on.
  • Arrays — A contiguous block of same-sized elements. Constant-time indexing, cache-friendly scans, and costly middle inserts.
  • Big-O and Complexity — How an algorithm's cost grows with input size, ignoring constants. The language for comparing solutions before you run them.
  • Processes — An OS abstraction: address space, at least one thread, and a pile of kernel metadata.
  • CPU Scheduling — The policy that picks the next ready thread. Fairness, latency, and throughput trade off.
  • OSI Model — Seven layers of function, from photons to application messages. The shared language of networking.
  • TCP — Reliable, ordered, congestion-controlled byte streams between two ports.
  • SQL — The declarative language of relational databases: SELECT describes the result, not the plan.
  • Transactions — A grouping of reads and writes that should succeed or fail as a unit.
  • Indexes — Auxiliary structures (usually B+ trees) that make predicates cheap at the cost of writes and space.

Explore the curriculum

A repeatable learning method

  1. Understand the definition and the guarantee the concept provides.
  2. Trace a small example or state transition from input to result.
  3. Test an edge case and explain the trade-off or failure mode.

Help keep the handbook useful

Report corrections or discuss clearly labelled educational partnerships through the support and sponsorship page.