BY SUBJECT
This list, organized by subject, is for books that cover a programming-related subject in a programming-language agnostic way.  
Books that cover a specific programming language can be found in the  BY PROGRAMMING LANGUAGE list.
Index
  - 
atariarchives.org atariarchives.org makes books, information, and software for Atari and other classic computers available on the Web.
 
  - Bento
 
  - Bitsavers.org
 
  - 
Code Catalog: A Collection of Code Examples from Prominent Open Source Projects (HTML)
 
  - conceptf1.blogspot.com
 
  - Free Smalltalk Books, collected by Stéphane Ducasse
 
  - Free Tech Books
 
  - 
Goalkicker - Programming Notes for Professionals books
 
  - IBM Redbooks
 
  - InfoQ Minibooks
 
  - InTech: Computer and Information Science
 
  - JSBooks - directory of free javascript ebooks
 
  - Learn X in Y minutes
 
  - Learneroo Resources to Learn Programming
 
  - Microsoft Guides to Software
 
  - Microsoft Press: Free E-Books
 
  - Microsoft Technologies 1, including books on Windows Azure, SharePoint, Visual Studio Guide, Windows phone development, ASP.net, Office365, etc. collection by Eric Ligman
 
  - Microsoft Technologies 2, including books on Windows Azure, SharePoint, Visual Studio Guide, Windows phone development, ASP.net, etc. collection by Eric Ligman
 
  - 
Microsoft Technologies 3, DevOps for ASP.NET Core Developers - Cam Soper, Scott Addie, Colin Dembovsky (PDF)
 
  - O’Reilly’s Open Books Project
 
  - Papers we love
 
  - 
Programming - Wikibooks
 
  - Red Gate Books
 
  - Rip Tutorials
 
  - Stef’s Free Online Smalltalk Books
 
  - TechBeamers.com
 
  - TechBooksForFree.com
 
  - The Definitive C++ Book Guide and List
 
  - Theassayer.org
 
  - Tutorials Point
 
Algorithms & Data Structures
  - 
A Field Guide To Genetic Programming - Riccardo Poli, et al. (PDF)
 
  - 
Algorithm Design - Jon Kleinberg, Éva Tardos (PDF)
 
  - 
Algorithmic Graph Theory - David Joyner, Minh Van Nguyen, David Phillips (PDF)
 
  - 
Algorithms - Wikibooks
 
  - 
Algorithms, 4th Edition - Robert Sedgewick, Kevin Wayne
 
  - 
Algorithms and Automatic Computing Machines (1963) - B. A. Trakhtenbrot
 
  - 
Algorithms and Complexity - Herbert S. Wilf (PDF)
 
  - 
Algorithms Course Materials - Jeff Erickson
 
  - 
Algorithms Notes for Professionals - Compiled from StackOverflow Documentation (PDF)
 
  - 
Analysis and Design of Algorithms - Sandeep Sen, IIT Delhi
 
  - 
Animated Algorithm and Data Structure Visualization (Resource)
 
  - 
Annotated Algorithms in Python: Applications in Physics, Biology, and Finance - Massimo di Pierro
 
  - 
Binary Trees (PDF)
 
  - 
Data Structures - Aditya CSE (PDF)
 
  - 
Data Structures - Wikibooks
 
  - 
Data Structures - Prof. Subhashis Banerjee, IIT Delhi
 
  - 
Data Structures (Into Java) - Paul N. Hilfinger (PDF)
 
  - 
Data Structures and Algorithms: Annotated Reference with Examples - G. Barnett, L. Del Tongo (PDF)
 
  - 
Data Structures and Algorithms Tutorial - Tutorials Point (HTML, PDF)
 
  - 
Data Structures Succinctly Part 1, Syncfusion (PDF, Kindle) (email address requested, not required)
 
  - 
Data Structures Succinctly Part 2, Syncfusion (PDF, Kindle) (email address requested, not required)
 
  - 
Elementary Algorithms - Larry LIU Xinyu
 
  - 
Essential Algorithms - Krzysztof Kowalczyk and  Stack Overflow Documentation project (HTML)
 
  - 
Foundations of Computer Science - Al Aho, Jeff Ullman
 
  - 
Geometry Algorithms - Dan Sunday
 
  - 
Lectures Notes on Algorithm Analysis and Computational Complexity (Fourth Edition) - Ian Parberry (use form at bottom of license)
 
  - 
LEDA: A Platform for Combinatorial and Geometric Computing - K. Mehlhorn, et al. (HTML)
 
  - 
Linked List Basics - Nick Parlante (PDF)
 
  - 
Linked List Problems - Nick Parlante (PDF)
 
  - 
Matters Computational: Ideas, Algorithms, Source Code (PDF)
 
  - 
Open Data Structures: An Introduction - Pat Morin
 
  - Planning Algorithms
 
  - 
Problems on Algorithms (Second Edition) - Ian Parberry (use form at bottom of license)
 
  - 
Purely Functional Data Structures (1996) - Chris Okasaki (PDF) (
 archived)
 
  - 
Sequential and parallel sorting algorithms (HTML)
 
  - 
Text Algorithms (PDF)
 
  - 
The Algorithm Design Manual - Steven S. Skiena (HTML)
 
  - 
The Design of Approximation Algorithms - David P. Williamson, David B. Shmoys (PDF)
 
  - 
The Great Tree List Recursion Problem - Nick Parlante (PDF)
 
  - 
The Kademlia Protocol Succinctly - Marc Clifton
 
  - 
Think Complexity - Allen B. Downey (2nd Edition) (PDF, HTML)
 
Artificial Intelligence
  - 
Artificial Intelligence for a Better Future: An Ecosystem Perspective on the Ethics of AI and Emerging Digital Technologies - Bernd Carsten Stahl (PDF)
 
  - 
Artificial Intelligence: Foundations of Computational Agents (2010), 1st Edition - David L. Poole, Alan K. Mackworth @ Cambridge University Press (HTML)
 
  - 
Artificial Intelligence: Foundations of Computational Agents (2017), 2nd Edition - David L. Poole, Alan K. Mackworth @ Cambridge University Press (HTML, Slides)
 
  - 
Getting Started with Artificial Intelligence , 2nd Edition - Tom Markiewicz, Josh Zheng (PDF)
 
  - 
Graph Representational Learning Book - William L. Hamilton (HTML, PDF)
 
  - 
Introduction to Autonomous Robots - Nikolaus Correll (PDF)
 
  - 
Machine Learning For Dummies®, IBM Limited Edition - Daniel Kirsch, Judith Hurwitz (PDF)
 
  - 
On the Path to AI: Law’s prophecies and the conceptual foundations of the machine learning age - Thomas D. Grant, Damon J. Wischik (PDF)
 
  - 
Probabilistic Programming & Bayesian Methods for Hackers - Cam Davidson-Pilon (HTML, Jupyter Notebook)
 
  - 
The History of Artificial Intelligence - Chris Smith, Brian McGuire, Ting Huang, Gary Yang (PDF)
 
  - 
The Quest for Artificial Intelligence: A History of Ideas and Achievements - Nils J. Nilsson (PDF)
 
Blockchain
  - 
Bitcoin and Cryptocurrency Technologies - Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder, Jeremy Clark (PDF)
 
  - 
Blockchain for Dummies, 2nd IBM Limited Edition - Manav Gupta (PDF)
 
  - 
chain.courses - James Gan, Rishub Kumar
 
  - 
Getting Started with Enterprise Blockchain: A Guide to Design and Development - Michael Bradley, David Gorman, Matt Lucas, Matthew Golby-Kirk (PDF)
 
  - 
Grokking Bitcoin - Kalle Rosenbaum (HTML)
 
  - 
IBM Blockchain: The Founder’s Handbook, Third Edition - Antonio Banda, Matthew Hamilton, Eileen Lowry, John Widdifield, et al. (PDF)
 
  - 
Learning Bitcoin from the Command Line - Christopher Allen, Shannon Appelcline, et al. (HTML)
 
  - 
Mastering Bitcoin - Unlocking digital currencies (2017), 2nd Edition - Andreas M. Antonopoulos (AsciiDoc)
 
  - 
Mastering Ethereum (2018), 1st Edition - Andreas M. Antonopoulos, Gavin Wood (AsciiDoc)
 
  - 
Mastering the Lightning Network - Andreas M. Antonopoulos, Olaoluwa Osuntokun, Rene Pickhardt (AsciiDoc)
 
  - 
Playtime with Hyperledger Composer - Shubham Chadokar (PDF)
 
Cellular Automata
Cloud Computing
  - 
AWS Well-Architected Framework (PDF, HTML)
 
  - 
Azure for Architects, Third Edition (PDF) (email address or account required)
 
  - 
Azure Functions Succinctly, Syncfusion (PDF, Kindle) (email address requested, not required)
 
  - 
Building Serverless Applications with Google Cloud Run - Wietse Venema (PDF) (email address requested, not required)
 
  - 
Cloud Computing for Science and Engineering - Ian Foster, Dennis B. Gannon (
 in process) 
  - Cloud Design Patterns
 
  - 
Designing Distributed Systems (account required)
 
  - 
Distributed Systems 3rd edition - Maarten van Steen, Andrew S. Tanenbaum (email address required)
 
  - 
How to optimize storage costs using Amazon S3 - AWS (PDF)
 
  - 
Kubernetes Hardening Guidance - NSA, CISA (PDF)
 
  - 
Learn Azure in a Month of Lunches - Iain Foulds (PDF)
 
  - 
Monitoring Modern Infrastructure (account required)
 
  - Multi-tenant Applications for the Cloud, 3rd Edition
 
  - OpenStack Operations Guide
 
  - 
Streamline microservice management with Istio Service Mesh (account required)
 
  - The Developer’s Guide to Azure
 
Competitive Programming
Compiler Design
  - 
An Introduction to GCC - Brian Gough
 
  - 
Basics of Compiler Design (Anniversary Edition) - Torben Mogensen
 
  - 
Compiler Design in C (1990) - Allen Holub, Prentice Hall (PDF)
 
  - 
Compiler Design: Theory, Tools, and Examples, C/C++ Edition - Seth D. Bergmann (PDF)
 
  - 
Compiler Design: Theory, Tools, and Examples, Java Edition - Seth D. Bergmann (PDF)
 
  - 
Compiling Scala for the Java Virtual Machine - Michel Schinz (PDF)
 
  - 
Compiling Techniques (1969) - F.R.A. Hopgood, Macdonald
 
  - 
Crafting Interpreters - Bob Nystrom (HTML)
 
  - 
EXPL NITC: Build your own Compiler - Murali Krishnan K., students in the Department of Computer Science and Engineering of the Calicut National Institute of Technology (HTML)
 
  - 
Implementing Functional Languages: A Tutorial - Simon Peyton Jones, David Lester
 
  - 
Introduction to Compilers and Language Design - Douglas Thain (PDF)
 
  - 
Let’s Build a Compiler (PDF)
 
  - 
Practical and Theoretical Aspects of Compiler Construction (class lectures and slides)
 
  - The ANTLR Mega Tutorial
 
Computer Organization and Architecture
Computer Science
Computer Vision
Containers
  - 
CI/CD for Monorepos: Effectively building, testing, and deploying code with monorepos - Pablo Tomas Fernandez Zavalia, Marko Anastasov, SemaphoreCI (PDF, EPUB, Kindle)
 
  - 
CI/CD with Docker and Kubernetes Book - Marko Anastasov, Jérôme Petazzoni, Pablo Tom F. Zavalia, SemaphoreCI (PDF, EPUB, Kindle)
 
  - 
Docker Jumpstart - Andrew Odewahn
 
  - 
Docker Tutorial - Tutorials Point (HTML, PDF)
 
  - 
Kubernetes Deployment & Security Patterns - Alex Williams (PDF)
 
  - 
Kubernetes for Full-Stack Developers - Jamon Camisso, Hanif Jetha, Katherine Juell (PDF, EPUB)
 
  - 
Uncomplicating Kubernetes - Jeferson Fernando
 
Data Science
  - 
A Programmer’s Guide to Data Mining - Ron Zacharski (Draft)
 
  - 
Data Jujitsu: The Art of Turning Data into Product (email address requested, not required)
 
  - 
Data Mining Algorithms In R - Wikibooks
 
  - 
Data Science at the Command Line - Jeroen Janssens
 
  - 
Elements of Data Science - Allen B. Downey
 
  - 
Foundations of Data Science - Avrim Blum, John Hopcroft, Ravindran Kannan (PDF)
 
  - 
Fundamentals of Data Visualization - Claus O. Wilke (HTML)
 
  - 
Hands-On Data Visualization - Jack Dougherty, Ilya Ilyankou (HTML)
 
  - 
High-Dimensional Data Analysis with Low-Dimensional Models: Principles, Computation, and Applications - John Wright, Yi Ma (PDF)
 
  - 
Internet Advertising: An Interplay among Advertisers, Online Publishers, Ad Exchanges and Web Users (PDF)
 
  - 
Introduction to Data Science - Jeffrey Stanton
 
  - 
Mining of Massive Datasets - Jure Leskovec, Anand Rajaraman, Jeffrey D. Ullman (PDF)
 
  - 
Probability and Statistics with Examples using R - Siva Athreya, Deepayan Sarkar, Steve Tanner (HTML) (
 in process) 
  - School of Data Handbook
 
  - 
Statistical inference for data science - Brian Caffo
 
  - 
The Ultimate Guide to 12 Dimensionality Reduction Techniques (with Python codes) - Pulkit Sharma
 
  - Theory and Applications for Advanced Text Mining
 
Database
  - 
Database Design – 2nd Edition - Adrienne Watt, Nelson Eng @ BCcampus Open Pressbooks (HTML, PDF, EPUB, Kindle)
 
  - 
Database Design Succinctly - Joseph D. Booth (HTML, PDF, EPUB, MOBI)
 
  - 
Database Explorations - C.J. Date, Hugh Darwen (PDF)
 
  - 
Database Fundamentals - Neeraj Sharma et al. (PDF)
 
  - 
Database Management Systems Solutions Manual Third Edition - Raghu Ramakrishnan, Johannes Gehrke, Jeff Derstadt, Scott Selikof, and Lin Zhu (PDF)
 
  - 
Databases, Types, and The Relational Model: The Third Manifesto - C.J. Date, Hugh Darwen (PDF)
 
  - Foundations of Databases
 
  - Readings in Database Systems, 5th Ed.
 
  - 
Temporal Database Management - Christian S. Jensen
 
  - The Theory of Relational Databases
 
Game Development
Graphics Programming
Graphical User Interfaces
IDE and editors
  
 See also … Emacs Lisp, Regular Expressions
Licensing
Machine Learning
  - 
A Brief Introduction to Machine Learning for Engineers - Osvaldo Simeone (PDF)
 
  - A Brief Introduction to Neural Networks
 
  - 
A Comprehensive Guide to Machine Learning - Soroush Nasiriany, Garrett Thomas, William Wang, Alex Yang (PDF)
 
  - 
A Course in Machine Learning (PDF)
 
  - 
A First Encounter with Machine Learning - Max Welling (PDF) (
 archived)
 
  - 
A Selective Overview of Deep Learning - Fan, Ma, Zhong (PDF)
 
  - 
Algorithms for Reinforcement Learning - Csaba Szepesvári (PDF)
 
  - 
An Introduction to Statistical Learning - Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani (PDF)
 
  - 
Approaching Almost Any Machine Learning Problem - Abhishek Thakur (PDF)
 
  - Bayesian Reasoning and Machine Learning
 
  - 
Deep Learning - Ian Goodfellow, Yoshua Bengio, Aaron Courville
 
  - 
Deep Learning for Coders with Fastai and PyTorch - Jeremy Howard, Sylvain Gugger (Jupyter Notebooks)
 
  - Dive into Deep Learning
 
  - 
Explorations in Parallel Distributed Processing: A Handbook of Models, Programs, and Exercises - James L. McClelland
 
  - 
Foundations of Machine Learning, Second Edition - Mehryar Mohri, Afshin Rostamizadeh, Ameet Talwalkar
 
  - 
Free and Open Machine Learning - Maikel Mardjan (HTML)
 
  - 
Gaussian Processes for Machine Learning - Carl Edward Rasmussen, Christopher K.I. Williams
 
  - 
IBM Machine Learning for Dummies - Judith Hurwitz, Daniel Kirsch
 
  - 
Information Theory, Inference, and Learning Algorithms - David J.C. MacKay
 
  - 
Interpretable Machine Learning - Christoph Molnar
 
  - 
Introduction to CNTK Succinctly - James McCaffrey
 
  - 
Introduction to Machine Learning - Amnon Shashua
 
  - 
Keras Succinctly - James McCaffrey
 
  - 
Learn Tensorflow - Jupyter Notebooks
 
  - 
Learning Deep Architectures for AI - Yoshua Bengio (PDF)
 
  - Machine Learning
 
  - 
Machine Learning for Beginners - Microsoft
 
  - 
Machine Learning for Data Streams - Albert Bifet, Ricard Gavaldà, Geoff Holmes, Bernhard Pfahringer
 
  - 
Machine Learning from Scratch - Danny Friedman (HTML, PDF, Jupyter Book)
 
  - 
Machine Learning, Neural and Statistical Classification - D. Michie, D.J. Spiegelhalter, C.C. Taylor
 
  - 
Machine Learning Simplified - Andrew Wolf
 
  - 
Machine Learning with Python - Tutorials Point (HTML, PDF)
 
  - 
Mathematics for Machine Learning - Garrett Thomas (PDF)
 
  - 
Mathematics for Machine Learning - Marc Peter Deisenroth, A Aldo Faisal, Cheng Soon Ong
 
  - Neural Networks and Deep Learning
 
  - 
Practitioners guide to MLOps - Khalid Samala, Jarek Kazmierczak, Donna Schut (PDF)
 
  - 
Probabilistic Machine Learning - An Introduction - Kevin P. Murphy (PDF)
 
  - 
Probabilistic Models in the Study of Language (Draft, with R code)
 
  - 
Python Machine Learning Projects - Lisa Tagliaferri, Brian Boucheron, Michelle Morales, Ellie Birkbeck, Alvin Wan (PDF, EPUB, Kindle)
 
  - 
Reinforcement Learning: An Introduction - Richard S. Sutton, Andrew G. Barto (PDF)
 
  - 
Speech and Language Processing (3rd Edition Draft) - Daniel Jurafsky, James H. Martin (PDF)
 
  - 
The Elements of Statistical Learning - Trevor Hastie, Robert Tibshirani, and Jerome Friedman
 
  - 
The LION Way: Machine Learning plus Intelligent Optimization - Roberto Battiti, Mauro Brunato (PDF)
 
  - 
The Mechanics of Machine Learning - Terence Parr, Jeremy Howard
 
  - 
The Python Game Book - Horst Jens (
 archived)
 
  - 
Top 10 Machine Learning Algorithms Every Engineer Should Know - Binny Mathews, Omair Aasim
 
  - 
Understanding Machine Learning: From Theory to Algorithms - Shai Shalev-Shwartz, Shai Ben-David
 
Mathematics
  - 
A Computational Introduction to Number Theory and Algebra - Victor Shoup
 
  - 
A Computational Logic (1979) - Robert S. Boyer, J Strother Moore (PDF)
 
  - 
A First Course in Complex Analysis - Matthias Beck, Gerald Marchesi, Dennis Pixton, Lucas Sabalka
 
  - 
A First Course in Linear Algebra - Rob Beezer
 
  - 
A Friendly Introduction to Mathematical Logic - Christopher C. Leary, Lars Kristiansen
 
  - 
A Gentle Introduction to the Art of Mathematics - Joseph E. Fields
 
  - 
A Programmer’s Introduction to Mathematics - Jeremy Kun
 
  - 
Abstract Algebra: Theory and Applications - Tom Judson
 
  - 
Active Calculus - Matt Boelkins
 
  - 
Advanced Algebra - Anthony W. Knapp (PDF)
 
  - 
Algebra: Abstract and Concrete - Frederick Goodman
 
  - 
Algebra: An Elementary Text-Book, Part I (1904) - G. Chrystal (PDF)
 
  - 
Algebra: An Elementary Text-Book, Part II (1900) - G. Chrystal (PDF)
 
  - 
Algebraic Topology - Allen Hatcher (PDF)
 
  - 
An Infinite Descent into Pure Mathematics - Clive Newstead (PDF)
 
  - 
An Introduction to the Theory of Numbers - Leo Moser (PDF)
 
  - 
Analytic Geometry (1922) - Lewis Parker Siceloff, George Wentworth, David Eugene Smith (PDF)
 
  - 
APEX Calculus - Gregory Hartman, Brian Heinold, Troy Siemers, and Dimplekumar Chalishajar
 
  - 
Applied Combinatorics - Mitchel T. Keller, William T. Trotter
 
  - 
Applied Discrete Structures - Alan Doerr, Kenneth Levasseur
 
  - 
Basic Algebra - Anthony W. Knapp (PDF)
 
  - 
Basic Analysis: Introduction to Real Analysis - Jiří Lebl
 
  - 
Basics of Algebra, Topology, and Differential Calculus (PDF)
 
  - 
Bayesian Methods for Hackers - Cameron Davidson-Pilon
 
  - 
Beginning and Intermediate Algebra - Tyler Wallace
 
  - 
Book of Proof - Richard Hammack (PDF)
 
  - 
Calculus - Gilbert Strang
 
  - 
Calculus I - Jerrold E. Marsden, Alan Weinstein
 
  - 
Calculus in Context - James Callahan
 
  - 
Calculus Made Easy - Silvanus P. Thompson (PDF)
 
  - 
Calculus Volume 1 - Edwin Herman, Gilbert Strang (PDF)
 
  - 
Calculus Volume 2 - Edwin Herman, Gilbert Strang (PDF)
 
  - 
Calculus Volume 3 - Edwin Herman, Gilbert Strang (PDF)
 
  - 
Category Theory for the Sciences - David I. Spivak (PDF)
 
  - CK-12 Probability and Statistics - Advanced
 
  - 
CLP-1 Differential Calculus - Joel Feldman, Andrew Rechnitzer, Elyse Yeager
 
  - 
CLP-2 Integral Calculus - Joel Feldman, Andrew Rechnitzer, Elyse Yeager
 
  - 
CLP-3 Multivariable Calculus - Joel Feldman, Andrew Rechnitzer, Elyse Yeager
 
  - 
CLP-4 Vector Calculus - Joel Feldman, Andrew Rechnitzer, Elyse Yeager
 
  - Collaborative Statistics
 
  - 
College Trigonometry - Carl Stitz, Jeff Zeager (PDF)
 
  - 
Combinatorics Through Guided Discovery - Kenneth Bogart
 
  - 
Complex Analysis - George Cain
 
  - 
Computational and Inferential Thinking. The Foundations of Data Science - Ani Adhikari, John DeNero, David Wagner
 
  - Computational Geometry
 
  - 
Computational Mathematics with SageMath - Paul Zimmermann, Alexandre Casamayou, Nathann Cohen, Guillaume Connan, et al. (PDF)
 
  - Concepts & Applications of Inferential Statistics
 
  - 
Convex Optimization - Stephen Boyd, Lieven Vandenberghe
 
  - 
Coordinate Geometry (1911) - Henry Buchard Fine, Henry Dallas Thompson (PDF)
 
  - 
Differential Equations - Paul Dawkins (PDF, use download menu to download)
 
  - 
Differential Equations (1922) - H. B. Phillips (PDF)
 
  - 
Discrete Mathematics: An Open Introduction - Oscar Levin
 
  - 
Discrete Mathematics: First and Second Course - Edward A. Bender, S. Gill Williamson
 
  - 
Elementary Differential Equations - William F. Trench (PDF)
 
  - 
Elementary Differential Equations (with Boundary Value Problems) - William F. Trench
 
  - 
Elementary Number Theory: Primes, Congruences, and Secrets - William Stein
 
  - 
Elementary Real Analysis - Brian S. Thomson, Judith B. Bruckner, Andrew M. Bruckner
 
  - 
Elements of Abstract and Linear Algebra - E. H. Connell
 
  - 
Elements of Differential and Integral Calculus (1911) - William Anthony Granville (PDF)
 
  - 
Essentials of Metaheuristics - Sean Luke
 
  - 
First Course in Algebra (1910) - Herbert E. Hawkes, William A. Luby, Frank C. Touton (PDF)
 
  - 
Foundations of Combinatorics with Applications - Edward A. Bender, S. Gill Williamson
 
  - 
Foundations of Constructive Probability Theory - Yuen-Kwok Chan (PDF)
 
  - 
Geometry with an Introduction to Cosmic Topology - Michael P. Hitchman
 
  - Graph Theory
 
  - 
How We Got from There to Here: A Story of Real Analysis - Robert Rogers, Eugene Boman
 
  - 
Introduction to Modern Statistics - Mine Çetinkaya-Rundel, Johanna Hardin (HTML, PDF) (email address required for PDF)
 
  - 
Introduction to Probability - Charles M. Grinstead, J. Laurie Snell (PDF)
 
  - Introduction to Probability and Statistics Spring 2014
 
  - 
Introduction to Proofs - Jim Hefferon
 
  - 
Introduction to Real Analysis - William F. Trench
 
  - 
Introduction to Statistical Thought - Michael Lavine
 
  - 
Introductory Statistics for the Life and Biomedical Sciences - Julie Vu, David Harrington
 
  - Kalman and Bayesian Filters in Python
 
  - 
Knapsack Problems - Algorithms and Computer Implementations - Silvano Martello, Paolo Toth
 
  - 
Lecture Notes of Linear Algebra - Dr. P. Shunmugaraj, IIT Kanpur (PDF)
 
  - 
Lecture Notes on Linear Algebra - Dr. Arbind K Lal, Sukant Pati (PDF) (
 in process) 
  - 
Lies, Damned Lies, or Statistics: How to Tell the Truth with Statistics - Jonathan A. Poritz (PDF)
 
  - 
Linear Algebra - David Cherney et al. (PDF)
 
  - 
Linear Algebra - Jim Hefferon
 
  - 
Linear Algebra Done Wrong - Sergei Treil
 
  - 
Linear Algebra, Infinite Dimensions, and Maple - James Herod
 
  - 
Linear Methods of Applied Mathematics - Evans M. Harrell II, James V. Herod
 
  - 
Magic Squares and Cubes (1917) - W. S. Anderson (PDF)
 
  - 
Math in Society - David Lippman
 
  - 
Mathematical Analysis I - Elias Zakon
 
  - 
Mathematical Discovery - Andrew M. Bruckner, Brian S. Thomson, Judith B. Bruckner
 
  - 
Mathematical Logic - an Introduction (PDF)
 
  - 
Mathematical Reasoning: Writing and Proof - Ted Sundstrom
 
  - 
Mathematics, MTH101A - P. Shunmugaraj, IIT Kanpur
 
  - 
Modern Statistics for Modern Biology - Susan Holmes, Wolfgang Huber
 
  - 
Multivariable Calculus - George Cain, James Herod
 
  - 
Non-Uniform Random Variate Generation - Luc Devroye (PDF)
 
  - 
Notes on Diffy Qs - Jiří Lebl
 
  - 
Number Theory - Holden Lee MIT
 
  - 
Number Theory: In Context and Interactive - Karl-Dieter Crisman (HTML, PDF)
 
  - 
Odds and Ends: Introducing Probability & Decision with a Visual Emphasis - Jonathan Weisberg
 
  - 
Online Statistics Education - David Lane
 
  - 
OpenIntro Statistics - David M. Diez, Christopher D. Barr, Mine Çetinkaya-Rundel
 
  - 
ORCCA: Open Resources for Community College Algebra - Portland Community College
 
  - 
Ordinary Differential Equations - Wikibooks
 
  - 
Paul’s Online Notes: Algebra, Calculus I-III and Differential Equations - Paul Dawkins @ Lamar University
 
  - 
Plane Geometry (1913) - George Wentworth, David Eugene Smith (PDF)
 
  - 
Planes and Spherical Trigonometry (1915) - George Wentworth, David Eugene Smith (PDF)
 
  - 
Precalculus - Carl Stitz, Jeff Zeager (PDF)
 
  - Probability and Statistics Cookbook
 
  - Probability and Statistics EBook
 
  - 
Probability: Lectures and Labs - Mark Huber
 
  - 
Recreations in Math - H. E. Licks (PDF)
 
  - 
Sage for Undergraduates - Gregory Bard
 
  - 
Second Course in Algebra - Herbert E. Hawkes, William A. Luby, Frank C. Touton (PDF)
 
  - 
Seven Sketches in Compositionality: An Invitation to Applied Category Theory - Brendan Fong, David I. Spivak (PDF)
 
  - 
Statistical Thinking for the 21st Century - Russell A. Poldrack
 
  - 
Statistics Done Wrong - Alex Reinhart
 
  - 
SticiGui - Philip Stark
 
  - 
Tea Time Numerical Analysis - Leon Q. Brin
 
  - 
The Open Logic Text - Open Logic Project (PDF)
 
  - 
Think Bayes: Bayesian Statistics Made Simple - Allen B. Downey
 
  - 
Think Stats: Probability and Statistics for Programmers - Allen B. Downey (using Python)
 
  - 
Vector Calculus - Michael Corral
 
  - 
Yet Another Introductory Number Theory Textbook - Jonathan A. Poritz (PDF)
 
Mathematics For Computer Science
Misc
  - 
10 Keys to Great Landing Pages - iThemes Media (PDF)
 
  - 
2016 European Software Development Salary Survey - Andy Oram, John King (HTML)
 
  - 
2016 Software Development Salary Survey - John King, Roger Magoulas (HTML)
 
  - 
A MACHINE MADE THIS BOOK ten sketches of computer science - JOHN WHITINGTON (PDF)
 
  - 
Ansible Up & Running (first three chapters) (account required)
 
  - 
Asterisk™: The Definitive Guide - Leif Madsen, Jim Van Meggelen, Russell Bryant (HTML)
 
  - 
Atomic Design - Brad Frost
 
  - 
Barcode Overview (PDF)
 
  - 
Come, Let’s Play: Scenario-Based Programming Using Live Sequence Charts - David Harel, Rami Marelly
 
  - 
Communicating Sequential Processes - Tony Hoare (PDF)
 
  - 
Confessions of an Unintentional CTO: Lessons in Growing a Web App - Jack Kinsella
 
  - 
Culture \& Empire: Digital Revolution - Pieter Hintjens (PDF)
 
  - Design With FontForge
 
  - 
Designing Interfaces - Jennifer Tidwell
 
  - 
DevDocs - Documents for Developers in 1 place
 
  - 
DevOps For Dummies, 3rd IBM Limited Edition - Sanjeev Sharma, Bernie Coyne (PDF)
 
  - 
Digital Signal Processing For Communications - Paolo Prandoni, Martin Vetterli
 
  - 
Digital Signal Processing For Engineers and Scientists - Steven W. Smith
 
  - 
Digital Signal Processing in Python - Allen B. Downey
 
  - 
“DYNAMIC LINKED LIBRARIES”: Paradigms of the GPL license in contemporary software - Luis A. Enríquez
 
  - Encyclopedia of Human Computer Interaction 2nd Edition
 
  - 
Essential Image Optimization - Addy Osmani
 
  - 
Foundations of Programming - Karl Seguin (PDF)
 
  - 
Front-End Developer Handbook 2016 - Cody Lindley (HTML)
 
  - 
Front-End Developer Handbook 2017 - Cody Lindley (HTML)
 
  - 
Front-End Developer Handbook 2018 - Cody Lindley (HTML)
 
  - 
Front-End Developer Handbook 2019 - Cody Lindley (HTML)
 
  - 
Getting Real - Basecamp, 37signals (HTML, PDF)
 
  - 
GNU GREP and RIPGREP - Sundeep Agarwal
 
  - 
Google Maps API Succinctly - Mark Lewin
 
  - 
Hacknot: Essays on Software Development - Ed Johnson
 
  - 
Hello SDL - Lazy Foo’ Productions
 
  - 
High-Performance Scientific Computing (class lectures and slides)
 
  - 
HoloLens Succinctly - Lars Klint
 
  - 
How Computers Work - R. Young
 
  - 
How to Become a Programmer - Rob Walling (PDF)
 
  - 
How To Manage Remote Servers with Ansible - Erika Heidi (PDF, EPUB)
 
  - 
How to Think Like a Computer Scientist - Peter Wentworth, Jeffrey Elkner, Allen B. Downey, Chris Meyers
 
  - 
Image Processing in C: Analyzing and Enhancing Digital Images - Dwayne Phillips
 
  - 
Information Technology and the Networked Economy - Patrick McKeown (PDF) (
 archived)
 
  - 
Introduction to Scientific Programming in C++ and Fortran - Victor Eijkhout (PDF)
 
  - 
IRPF90 Fortran code generator - Anthony Scemama
 
  - 
Learn Programming - Antti Salonen
 
  - 
Learn to Program - Chris Pine
 
  - 
Learning 30 Technologies in 30 Days: A Developer Challenge - Shekhar Gulati
 
  - 
Linked Data Patterns: A pattern catalogue for modelling, publishing, and consuming Linked Data - Leigh Dodds, Ian Davis
 
  - 
Magic Ink: Information Software and The Graphical Interface - Bret Victor
 
  - 
Mobile Developer’s Guide to the Galaxy (HTML)
 
  - 
Modeling Reactive Systems with Statecharts - D. Harel, M. Politi
 
  - 
MSIX Succinctly - Matteo Pagani
 
  - 
Networks, Crowds, and Markets: Reasoning About a Highly Connected World - David Easley, Jon Kleinberg
 
  - 
Object-Oriented Reengineering Patterns - Serge Demeyer, Stéphane Ducasse, Oscar Nierstrasz
 
  - 
Open Government; Collaboration, Transparency, and Participation in Practice - Daniel Lathrop, Laurel Ruma
 
  - 
PDQ: Pretty Darn Quick: An Agile, All-Purpose Methodology - Jeff Franz-Lien (Leanpub account or valid email requested)
 
  - 
Philosophy of Computer Science (PDF)
 
  - 
PNG: The Definitive Guide - Greg Roelofs
 
  - 
Pointers And Memory - Nick Parlante (PDF)
 
  - 
Principles of Computer System Design (PDF)
 
  - 
Programming Fundamentals - Kenneth Leroy Busbee, Dave Braunschweig
 
  - Programming with Unicode
 
  - 
Real-World Maintainable Software - Abraham Marin-Perez
 
  - 
Record-Playback Test Automation: Sahi & Selenium IDE: Critical Evaluation of Record-Playback Automation Tools - Shashikant Jagtap (Leanpub account or valid email requested)
 
  - 
Scientific Programming and Computer Architecture - Divakar Viswanath
 
  - 
Signal Computing: Digital Signals in the Software Domain - Michael Stiber, Bilin Zhang Stiber, Eric C. Larson (PDF)
 
  - 
Small Memory Software - Charles Weir, James Noble (HTML)
 
  - 
Web Almanac (PDF)
 
  - 
Writing Native Mobile Apps in a Functional Language Succinctly - Vassili Kaplan
 
Networking
  - 
An Introduction to Computer Networks (HTML, PDF, Kindle)
 
  - 
Beej’s Guide to Network Programming - Using Internet Sockets - Brian “Beej Jorgensen” Hall (HTML, PDF)
 
  - Bits, Signals, and Packets: An Introduction to Digital Communications and Networks
 
  - 
Code Connected vol.1 (PDF) (book on ZeroMQ)
 
  - 
Computer Networking : Principles, Protocols and Practice (HTML, ePub, PDF, Kindle)
 
  - 
Computer Networks: A Systems Approach - Larry Peterson, Bruce Davie (HTML, epub, mobi, PDF)
 
  - Distributed systems for fun and profit
 
  - 
High-Performance Browser Networking - Ilya Grigorik
 
  - 
How HTTPS Works - DNSimple
 
  - 
HTTP Succinctly, Syncfusion (PDF, Kindle) (email address requested, not required)
 
  - 
HTTP2 Explained - Daniel Stenberg
 
  - 
Introduction to HTTP - Launch School
 
  - 
IPv6 for IPv4 Experts - Yar Tikhiy (PDF)
 
  - 
Kafka gentle introduction - Mitch Seymour
 
  - 
Kafka, The definitive Guide - Neha Narkhede (PDF)
 
  - 
Linux IP Stacks Commentary - Stephen Satchell, H. B. J. Clifford (HTML) (
 in process)
 
  - Mininet Walkthrough
 
  - 
Network Science - Albert-Laszló Barabási
 
  - 
Networking! ACK! - Julia Evans (PDF)
 
  - 
Securing Wireless Networks for the Home User Guide - Mohamed Adel (HTML)
 
  - The TCP/IP Guide
 
  - 
Understanding IP Addressing: Everything you ever wanted to know (PDF)
 
  - ZeroMQ Guide
 
Object Oriented Programming
Open Source Ecosystem
Operating Systems
  - 
A short introduction to operating systems (2001) - Mark Burgess (PDF)
 
  - Computer Science from the Bottom Up
 
  - 
How to Make a Computer Operating System (
 in process) 
  - 
How to write a simple operating system in assembly language - Mike Saunders (HTML)
 
  - 
Linux From Scratch - Gerard Beekmans, Bruce Dubbs, Ken Moffat, Pierre Labastie, et al. (HTML, PDF, downloads…)
 
  - 
Making Servers Work: A Practical Guide to Linux System Administration - Jamon Camisso (PDF, EPUB)
 
  - 
Operating Systems and Middleware (PDF and LaTeX)
 
  - 
Operating Systems: Three Easy Pieces (PDF)
 
  - 
Practical File System Design: The Be File System - Dominic Giampaolo (PDF)
 
  - 
Project Oberon: The Design of an Operating System, a Compiler, and a Computer - Niklaus Wirth, Jürg Gutknecht (PDF)
 
  - 
The Art of Unix Programming - Eric S. Raymond
 
  - 
The Design and Implementation of the Anykernel and Rump Kernels - Antti Kantee
 
  - 
The little book about OS development - Erik Helin, Adam Renberg
 
  - 
The Little Book of Semaphores - Allen B. Downey
 
  - 
Think OS: A Brief Introduction to Operating Systems - Allen B. Downey (PDF)
 
  - 
UNIX Application and System Programming, lecture notes - Prof. Stewart Weiss (PDF)
 
  - 
Writing a Simple Operating System from Scratch - Nick Blundell (PDF)
 
  - Xv6, a simple Unix-like teaching operating system
 
Parallel Programming
Partial Evaluation
Professional Development
Programming
Programming Paradigms
Quantum Computing
Regular Expressions
Reverse Engineering
Search Engines
Security & Privacy
Software Architecture
  - 
A Primer on Design Patterns - Rahul Batra (HTML)
 
  - 
Agile Planning: From Ideas to Story Cards - Launch School
 
  - 
Architectural Styles and the Design of Network-based Software Architectures - Roy Thomas Fielding
 
  - Best Kept Secrets of Peer Code Review
 
  - 
Building Secure & Reliable Systems - Heather Adkins, Betsy Beyer, Paul Blankinship, Piotr Lewandowski, Ana Oprea, Adam Stubblefield (PDF)
 
  - 
Code Simplicity: The Fundamentals of Software - Max Kanat-Alexander (PDF)
 
  - Data-Oriented Design
 
  - 
Designing Event-Driven Systems. Concepts and Patterns for Streaming Services with Apache Kafka - Ben Stopford (PDF)
 
  - 
Developing Reactive Microservices (email address requested, not required)
 
  - Domain Driven Design Quickly
 
  - 
Domain-Driven Design Reference - Eric Evans
 
  - 
DSL Engineering: Designing, Implementing and Using Domain-Specific Languages - Markus Voelter
 
  - 
Exploring CQRS and Event Sourcing - Dominic Betts, Julián Domínguez, Grigori Melnik, Mani Subramanian, Fernando Simonazzi (EPUB, PDF - code samples)
 
  - 
Guide to the Software Engineering Body of Knowledge (email adddress requested)
 
  - How to Design Programs
 
  - How to Write Unmaintainable Code
 
  - Kanban and Scrum - making the most of both
 
  - 
Microservices AntiPatterns and Pitfalls - Mark Richards (PDF) (
 archived)
 
  - 
Microservices vs. Service-Oriented Architecture - Mark Richards (HTML)
 
  - 
Migrating to Cloud-Native Application Architectures (email address requested) (PDF)
 
  - 
Naked objects - Richard Pawson (PDF)
 
  - 
OAuth - The Big Picture (email address requested)
 
  - 
Object-Oriented Reengineering Patterns - S. Demeyer, S. Ducasse, O. Nierstrasz
 
  - 
Practicing Domain-Driven Design - Part 1 - Scott Millett (Leanpub account or valid email requested)
 
  - 
Reactive Microservices Architecture (email address requested)
 
  - 
Reactive Microsystems: The Evolution of Microservices at Scale (email address requested)
 
  - 
Refactor Like a Superhero - Alex Bespoyasov
 
  - Scrum and XP from the Trenches
 
  - Serverless apps: Architecture, patterns, and Azure implementation
 
  - 
Serverless Design Patterns and Best Practices - Brian Zambrano (Packt account required)
 
  - 
Shape Up - Stop Running in Circles and Ship Work that Matters - Ryan Singer (PDF)
 
  - Site Reliability Engineering
 
  - 
Software Architecture Patterns (email address requested, not required)
 
  - Software Engineering for Internet Applications
 
  - Source Making Design Patterns and UML
 
  - 
Test Driven Development, Extensive Tutorial - Grzegorz Gałęzowski
 
  - The Catalog of Design Patterns
 
  - 
The Site Reliability Workbook - Betsy Beyer, Niall Richard Murphy, David K. Rensin, Kent Kawahara, Stephen Thorne
 
  - 
Web API Design - Brian Mulloy (PDF)
 
  - 
Working with Web APIs - Launch School
 
  - 
Your API Is Bad - Paddy Foran
 
Standards
Theoretical Computer Science
Version Control Systems
  - 
A git Primer - Daniel Miessler
 
  - 
A Visual Git Reference - Mark Lodato
 
  - 
Conversational Git - Alan Hohn
 
  - 
get-git - Arialdo Martini (HTML, PDF, EPUB)
 
  - 
git - the simple guide - Roger Dudler (HTML)
 
  - 
Git cookbook - Dennis Kaarsemaker (HTML)
 
  - 
Git for Computer Scientists - Tommi Virtanen
 
  - 
Git From The Bottom Up - J. Wiegley
 
  - 
Git Immersion - Jim Weirich (HTML)
 
  - 
Git In The Trenches - Peter Savage
 
  - 
Git internals - Scott Chacon (PDF)
 
  - 
Git Magic - Ben Lynn, et al. (HTML, PDF, EPUB)
 
  - 
Git Notes for Professionals - Compiled from StackOverflow Documentation (PDF)
 
  - 
Git Pocket Guide - Richard E. Silverman
 
  - 
Git Reference - The GitHub team (
 archived)
 
  - 
Git Succinctly, Syncfusion - Ryan Hodson (PDF, Kindle) (email address requested, not required)
 
  - 
Git Tutorial - Tutorials Point (HTML, PDF)
 
  - 
Git-Tutorial For-Beginners - HubSpot Product Team
 
  - 
Git Workflows - Yan Pritzker (
 archived)
 
  - 
Happy Git and GitHub for the useR - Jenny Bryan
 
  - 
Hg Init: a Mercurial Tutorial - Joel Spolsky
 
  - 
How to Collaborate on GitHub: A mini book about collaborating on GitHub - André J
 
  - 
Introduction to Git and Github - Launch School
 
  - 
Introduction to Git and Github - Tutorial - Dr. Chris Bourke (PDF)
 
  - 
Introduction to Git and GitHub eBook - Bobby Iliev (Markdown, PDF)
 
  - 
Learn Git - Learn Version Control with Git - Tobias Günther
 
  - 
Mercurial: The Definitive Guide - Bryan O’Sullivan
 
  - 
Mercurial: The Definitive Guide 2nd edition - Bryan O’Sullivan
 
  - 
Pro Git - Scott Chacon, Ben Straub (HTML, PDF, EPUB, Kindle)
 
  - 
Pro Git Reedited - Jon Forrest
 
  - 
Ry’s Git Tutorial - Ryan Hodson (
 archived)
 
  - 
Subversion Version Control - William Nagel (PDF)
 
  - 
Think Like (a) Git: A Guide for the Perplexed - Sam Livingston-Gray
 
  - 
Version Control with Subversion - Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato
 
Web Services
Workflow