A knowledge base distilled from 9 books

Computer science, clarified.

Algorithms and data structures, design patterns, software architecture, refactoring, and the craft of building software — organized into domains and topics, cross-linked into one knowledge graph.

Browse topicsExplore the graphor press ⌘K to search
Domains
10
Topics
71
Graph edges
145
Algorithmic FoundationsHow to reason about algorithms before writing them: asymptotic analysis, recursion, invariants, and the limits of what computers can do efficiently.7 topics · 2 cornerstoneCore Data StructuresThe building blocks behind every library collection: arrays, lists, trees, heaps, hash tables, tries, and union-find — how they work, not just how to call them.10 topics · 4 cornerstoneSorting & SearchingThe comparison and non-comparison sorts every other algorithm leans on, plus binary search and its many disguises.7 topics · 3 cornerstoneGraph AlgorithmsTraversal, ordering, shortest paths, spanning trees, and flow — the algorithms that turn a graph representation into an answer.6 topics · 2 cornerstoneAlgorithm Design ParadigmsGeneral-purpose strategies for building an algorithm from scratch: divide and conquer, greed, dynamic programming, backtracking, and string matching.6 topics · 2 cornerstoneCoding Interview PatternsThe recurring shapes behind interview problems — recognize the pattern, and the algorithm follows.8 topics · 1 cornerstoneDesign PatternsThe Gang of Four catalog: reusable object-oriented solutions to recurring design problems, and why each one earns its complexity.7 topics · 4 cornerstoneSoftware Architecture & Design PrinciplesSOLID, component cohesion and coupling, and the boundaries that keep a system’s policy independent of its details.7 topics · 3 cornerstoneRefactoring & Code QualityRecognizing code smells and repairing them in small, behavior-preserving steps, backed by tests.6 topics · 2 cornerstoneSoftware Craftsmanship & PracticeThe habits and working methods behind durable software: pragmatic principles, prototyping, estimation, tooling, and debugging.7 topics · 1 cornerstone

Distilled from

  • Algorithms (4th ed.)Robert Sedgewick, Kevin Wayne
  • Algorithms Notes for ProfessionalsStack Overflow Documentation
  • Clean ArchitectureRobert C. Martin
  • Crushing the Technical Interview: Data Structures and AlgorithmsKeith Henning
  • Data Structures and Algorithms in Java (6th ed.)Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser
  • Data Structures and Algorithms in Java: A Project-Based ApproachDan S. Myers
  • Head First Design Patterns (2nd ed.)Eric Freeman, Elisabeth Robson
  • Refactoring: Improving the Design of Existing Code (2nd ed.)Martin Fowler
  • The Pragmatic Programmer (20th Anniversary ed.)David Thomas, Andrew Hunt