Library
Books
40 resources. Every entry lists its license and links to an official source.
All resources
Artificial Intelligence: Foundations of Computational Agents
David L. Poole, Alan K. Mackworth
An undergraduate/graduate AI textbook organized around the design of intelligent agents: search, reasoning under uncertainty, planning, learning, and multiagent systems, presented within one coherent agent framework.
Artificial IntelligenceAdvancedCreative CommonsHTML
Computer Vision: Algorithms and Applications
Richard Szeliski
A comprehensive computer vision textbook covering image formation, feature detection, segmentation, structure from motion, stereo, 3D reconstruction, and recognition — with deep-learning approaches added in the 2nd edition.
Computer VisionAdvancedOfficial Free DistributionPDF
Deep Learning
Ian Goodfellow, Yoshua Bengio, Aaron Courville
The widely cited reference on deep learning: the mathematical background, deep feedforward networks, regularization and optimization, convolutional and recurrent networks, and research topics including generative models.
Deep LearningAdvancedMITHTML
Foundations of Data Science
Avrim Blum, John Hopcroft, Ravindran Kannan
The mathematical and algorithmic underpinnings of data science: high-dimensional geometry, singular value decomposition, random graphs, clustering, and machine-learning theory, aimed at readers who want to understand why the methods work.
Machine LearningAdvancedOfficial Free DistributionPDF · 3.5 MBMachine Learning Crash Course
Google
Google's practical, example-driven introduction to machine learning: loss and gradient descent, classification, neural networks, embeddings, fairness, and production ML systems, with interactive exercises using TensorFlow.
Machine LearningBeginnerAPACHE 2.0HTML
An Introduction to Statistical Learning
Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani
A broad, applied introduction to statistical learning: linear and logistic regression, resampling, regularization, trees and ensembles, support vector machines, and unsupervised learning, with lab exercises in R and Python.
Machine LearningIntermediateOfficial Free DistributionPDF
Mathematics for Machine Learning
Marc Peter Deisenroth, A. Aldo Faisal, Cheng Soon Ong
The mathematical foundations behind machine learning, taught for ML rather than in the abstract: linear algebra, analytic geometry, matrix decompositions, vector calculus, probability, and optimization, connected to real ML models.
Machine LearningAdvancedOfficial Free DistributionPDF · 17 MBNeural Networks and Deep Learning
Michael Nielsen
A hands-on introduction to neural networks, built around teaching a network to recognize handwritten digits. Derives backpropagation from first principles, then covers why deep networks are hard to train and the ideas that make deep learning work.
Deep LearningIntermediateCreative CommonsHTML
Natural Language Processing with Python
Steven Bird, Ewan Klein, Edward Loper
A practical introduction to natural language processing using Python and NLTK: text processing, tagging, classification, parsing grammars, and information extraction, with runnable examples throughout.
Natural Language ProcessingIntermediateCreative CommonsHTML
Python Data Science Handbook
Jake VanderPlas
A practical guide to the core Python data-science stack: IPython/Jupyter, NumPy, Pandas, Matplotlib, and Scikit-Learn, with real workflows for cleaning, transforming, visualizing, and modeling data.
Machine LearningIntermediateMITHTML
Speech and Language Processing
Daniel Jurafsky, James H. Martin
The standard graduate textbook on NLP and computational linguistics: language models, part-of-speech tagging, parsing, information extraction, semantics, and speech recognition. The freely available 3rd edition draft is continuously updated.
Natural Language ProcessingAdvancedOfficial Free DistributionPDF
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