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.
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
- Operating Systems — 43 topics
- Computer Networks — 71 topics
- Databases / DBMS — 37 topics
- Programming Fundamentals — 11 topics
- Programming Languages — 9 topics
- Object-Oriented Design — 8 topics
- Data Structures & Algorithms — 16 topics
A repeatable learning method
- Understand the definition and the guarantee the concept provides.
- Trace a small example or state transition from input to result.
- 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.