Library
Books
29 resources. Every entry lists its license and links to an official source.
Browse by category
Programming
Web Development
Computer Science
AI
Infrastructure
All resources

Algorithms
Jeff Erickson
A rigorous algorithms textbook built from the author's courses at the University of Illinois. Covers recursion, dynamic programming, greedy algorithms, graphs, NP-hardness, and more, emphasizing intuition and the problem-solving process alongside formal proofs.
AlgorithmsAdvancedCreative CommonsPDF · 24 MBArchitecting Modern Web Applications with ASP.NET Core and Azure
Microsoft (Steve Smith)
Microsoft's official guide to structuring ASP.NET Core web applications: clean architecture and dependency inversion, organising by feature, the MVC and Razor Pages models, testing strategies, and deploying to Azure.
Backend DevelopmentIntermediateOfficial Free DistributionPDF
The Architecture of Open Source Applications
Amy Brown, Greg Wilson (eds.)
Creators of two dozen significant open-source projects describe their software's architecture: why it's built the way it is, what they'd do differently, and what they learned. A rare look at real system design decisions.
Software ArchitectureAdvancedCreative CommonsPDF · 5.4 MBC# Programming
Wikibooks contributors
A community-written introduction to C# and the .NET platform, covering language fundamentals, object-oriented programming, collections, exceptions, and the standard library. Continuously maintained on Wikibooks.
C#BeginnerCreative CommonsPDF · 1.4 MBCalling Conventions for Different C++ Compilers and Operating Systems
Agner Fog
The fifth of Agner Fog's optimization manuals. Documents how C++ compilers on x86 pass arguments, return values, and objects; name mangling schemes; exception handling; object file formats; and how to write code portable across compilers.
C++AdvancedOfficial Free DistributionPDF · 1.0 MBC++ Core Guidelines
Bjarne Stroustrup, Herb Sutter
The authoritative, continuously updated set of guidelines for writing modern C++ well — resource and memory safety, RAII, interfaces, classes, templates, concurrency, error handling, and performance — each rule with rationale and examples. Maintained by the Standard C++ Foundation.
C++AdvancedMITHTML
The C# Programming Yellow Book
Rob Miles
A friendly, first-principles introduction to programming using C#, used to teach first-year computer science students at the University of Hull. Covers variables, control flow, methods, objects, and building real programs, with a healthy sense of humour.
C#BeginnerAuthor PermissionPDF · 1.6 MB
Database Design
Adrienne Watt, Nelson Eng
An open textbook covering database design from the ground up: the relational model, entity-relationship modeling, normalization, SQL, transactions, and concurrency control, with review exercises per chapter.
DatabasesBeginnerCreative CommonsPDF · 3 MB
An Introduction to Design Patterns in C++ with Qt 4
Alan Ezust, Paul Ezust
A full C++ course built around the Qt 4 framework, teaching modern C++, object-oriented design, and the classic Gang-of-Four design patterns through practical GUI and application examples.
Design PatternsIntermediateOpen LicensePDF · 9.3 MB
Dive into Deep Learning
Aston Zhang, Zachary C. Lipton, Mu Li, Alexander J. Smola
An interactive deep learning textbook combining explanations, mathematics, and runnable code (PyTorch, NumPy, JAX, and TensorFlow). Covers linear and softmax regression, MLPs, CNNs, RNNs, attention and transformers, and more. Adopted at 500+ universities.
Deep LearningAdvancedCreative CommonsPDF · 43 MB
Eloquent JavaScript
Marijn Haverbeke
A book about JavaScript, programming, and the wonders of the digital. It dives into the language in detail, teaching programming fundamentals alongside browser APIs and Node.js, with exercises and project chapters.
JavaScriptIntermediateCreative CommonsPDF
Financial Numerical Recipes in C++
Bernt Arne Ødegaard
A collection of C++ implementations of common quantitative-finance calculations: present value and term structures, option pricing (Black-Scholes, binomial, finite-difference, Monte Carlo), bonds, mean-variance portfolios, and more.
C++AdvancedAuthor PermissionPDF · 1.2 MB
Fundamentals of Computer Programming with C#
Svetlin Nakov, Veselin Kolev, Nakov's Team
A large, thorough introduction to programming using C#. Covers the language and .NET from first principles, then data structures, algorithms, recursion, OOP, exception handling, and writing high-quality code, with hundreds of worked examples and exercises.
C#All LevelsCreative CommonsPDF · 11.6 MBJSF Air Vehicle C++ Coding Standards
Lockheed Martin Corporation
The C++ coding standard developed for the Joint Strike Fighter (F-35) air vehicle software. A widely cited reference for safety-critical C++: 200+ rules restricting language features for reliability, with rationale for each.
C++AdvancedOfficial Free DistributionPDF · 800 KBKubernetes the Hard Way
Kelsey Hightower
A hands-on tutorial that bootstraps a Kubernetes cluster from scratch, step by step, without a scripted installer — certificates, etcd, the control plane, worker nodes, networking, and smoke tests — to build a real understanding of how Kubernetes works.
KubernetesAdvancedOpen LicenseHTML
The Linux Command Line
William E. Shotts, Jr.
A thorough guide to the Linux command line: navigation, file manipulation, permissions, package management, I/O redirection, and shell scripting, from first commands through writing real scripts.
LinuxBeginnerCreative CommonsPDFThe Microarchitecture of Intel, AMD and VIA CPUs
Agner Fog
The third of Agner Fog's optimization manuals. A detailed reference on how modern x86 processors work internally — pipelines, out-of-order execution, branch prediction, caches, and execution units — for every major microarchitecture generation.
Computer ArchitectureAdvancedOfficial Free DistributionPDF · 2.1 MB.NET Microservices: Architecture for Containerized .NET Applications
Microsoft (Cesar de la Torre, Bill Wagner, Mike Rousos)
Microsoft's official guide to designing and building microservice-based, containerized applications with .NET and Docker. Covers architecture patterns, per-service data, API gateways, resilience, event-driven communication, and deployment, alongside the reference application.
Software ArchitectureIntermediateOfficial Free DistributionPDF
Open Data Structures (in C++)
Pat Morin
An open textbook covering the design and analysis of fundamental data structures — arrays, linked lists, hash tables, binary and balanced search trees, heaps, tries, and graphs — with full C++ implementations and mathematical analysis.
Data StructuresIntermediateCreative CommonsPDF · 1.5 MBOperating Systems: Three Easy Pieces
Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau
A widely used operating systems textbook organized around three themes: virtualization (CPU and memory), concurrency (locks and condition variables), and persistence (disks, RAID, and file systems).
Operating SystemsAdvancedOfficial Free DistributionPDFOptimizing Software in C++
Agner Fog
The first of Agner Fog's five optimization manuals. A practical guide to writing fast C++: choosing platforms and compilers, the cost of language constructs, memory access, vectorization, and multithreading, grounded in real measurements.
C++AdvancedOfficial Free DistributionPDF · 1.8 MBOptimizing Subroutines in Assembly Language
Agner Fog
The second of Agner Fog's optimization manuals. Covers x86 assembly optimization in depth: ABI conventions, inline assembly, instruction scheduling, vector code with SSE/AVX, and building libraries compatible across compilers and platforms.
Computer ArchitectureAdvancedOfficial Free DistributionPDF · 1.6 MB
The Rook's Guide to C++
Jeremy A. Hansen
An introductory C++ textbook written by students and faculty at Norwich University. Covers variables, control structures, functions, arrays, pointers, classes, and file I/O, with exercises throughout.
C++BeginnerCreative CommonsPDF · 914 KBThe Rust Programming Language
Steve Klabnik, Carol Nichols
The official book on Rust: ownership and borrowing, structs and enums, error handling, generics and traits, concurrency, and building real projects — the standard starting point for learning the language.
RustBeginnerMITHTMLSite Reliability Engineering
Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy (eds.)
Google's account of how it runs large-scale production systems reliably: monitoring, capacity planning, incident response, postmortems, release engineering, and the SRE approach to managing risk at scale.
DevOpsAdvancedOfficial Free DistributionHTMLThe System Design Primer
Donne Martin
A community-maintained study guide for large-scale system design and the system design interview: scalability fundamentals, caching, load balancing, databases, messaging, and worked example architectures, with flashcards and further reading.
System DesignIntermediateCreative CommonsHTML
How to Think Like a Computer Scientist: C++ Version
Allen B. Downey
A gentle introduction to programming and computer-science thinking using C++. Builds from variables, expressions, and functions up to recursion, classes, vectors, and larger programs, emphasising problem decomposition over syntax.
C++BeginnerCreative CommonsPDF
Think Python
Allen B. Downey
A concise introduction to Python and computer-science thinking, built around problem decomposition. Covers variables, functions, conditionals, recursion, iteration, strings, lists, dictionaries, and a light introduction to classes and objects.
PythonBeginnerCreative CommonsPDF · 900 KBInstruction Tables
Agner Fog
The fourth of Agner Fog's optimization manuals. Measured instruction latency, throughput, and micro-op data for x86 processors across many generations — an essential reference for low-level performance work.
Computer ArchitectureAdvancedOfficial Free DistributionPDF · 1.0 MB