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 file list.
Index
0 - Meta-Lists
- atariarchives.org atariarchives.org makes books, information, and software for Atari and other classic computers available on the Web.
- Bento
- Bitsavers.org
- Bookboon: IT & Programming Cookie required. (email address requested, not required)
- 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
- O'Reilly's Open Books Project
- Papers we love
- Programming - Wikibooks
- Red Gate Books
- Stef's Free Online Smalltalk Books
- TechBeamers.com
- TechBooksForFree.com
- The Definitive C++ Book Guide and List
- Theassayer.org
- tutorialspoint
Algorithms & Data Structures
- A Field Guide To Genetic Programming - Riccardo Poli et al. (PDF)
- Algorithm Design - Jon Kleinberg and Éva Tardos (PDF)
- Algorithmic Graph Theory
- Algorithms - Wikibooks
- Algorithms, 4th Edition - Robert Sedgewick and 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 - Prof. Subhashis Banerjee, IIT Delhi
- Data Structures (Into Java) - Paul N. Hilfinger (PDF)
- Data Structures and Algorithms: Annotated Reference with Examples - G. Barnett and L. Del Tongo
- 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
- Foundations of Computer Science - Al Aho and 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.
- Linked List Basics (PDF)
- Linked List Problems (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)
- Sequential and parallel sorting algorithms
- Text Algorithms (PDF)
- The Algorithm Design Manual
- The Art of Computer Programming - Donald Knuth (fascicles, mostly volume 4)
- The Design of Approximation Algorithms (PDF)
- The Great Tree List Recursion Problem (PDF)
- The Kademlia Protocol Succinctly - Marc Clifton
- Think Complexity - Allen B. Downey (2nd Edition) (PDF, HTML)
Artificial Intelligence
Cellular Automata
Cloud Computing
Competitive Programming
Compiler Design
Computer Science
Computer Vision
Containers
Database
Datamining
Game Development
Graphics Programming
Graphical User Interfaces
Information Retrieval
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 (PDF)
- A Selective Overview of Deep Learning - Fan, Ma, and Zhong (PDF)
- Algorithms for Reinforcement Learning - Csaba Szepesvári (PDF)
- An Introduction to Statistical Learning - Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani
- Bayesian Reasoning and Machine Learning
- Deep Learning - Ian Goodfellow, Yoshua Bengio and Aaron Courville
- Deep Learning for Coders with Fastai and PyTorch - Jeremy Howard, Sylvain Gugger (Jupyter Notebooks)
- Deep Learning with PyTorch - Eli Stevens, Luca Antiga, Thomas Viehmann (PDF)
- 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
- Gaussian Processes for Machine Learning
- IBM Machine Learning for Dummies - Judith Hurwitz, Daniel Kirsch
- Information Theory, Inference, and Learning Algorithms
- 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 (PDF)
- Machine Learning
- Machine Learning for Data Streams - Albert Bifet, Ricard Gavaldà, Geoff Holmes, Bernhard Pfahringer
- Machine Learning from Scratch - Danny Friedman
- Machine Learning, Neural and Statistical Classification
- Mathematics for Machine Learning - Garrett Thomas (PDF)
- Mathematics for Machine Learning - Marc Peter Deisenroth, A Aldo Faisal, and Cheng Soon Ong
- Neural Networks and Deep Learning
- Probabilistic Models in the Study of Language (Draft, with R code)
- Python Machine Learning Projects - Lisa Tagliaferri and Brian Boucheron (PDF, EPUB, MOBI)
- 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 Python Game Book
- Top 10 Machine Learning Algorithms Every Engineer Should Know - Binny Mathews and 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 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 and 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 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 and William T. Trotter
- Applied Discrete Structures - Alan Doerr and 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 and Alan Weinstein
- Calculus in Context - James Callahan
- Calculus Made Easy - Silvanus P. Thompson (PDF)
- Category Theory for the Sciences - David I. Spivak
- CK-12 Probability and Statistics - Advanced
- CLP-1 Differential Calculus - Joel Feldman, Andrew Rechnitzer, and Elyse Yeager
- CLP-2 Integral Calculus - Joel Feldman, Andrew Rechnitzer, and Elyse Yeager
- CLP-3 Multivariable Calculus - Joel Feldman, Andrew Rechnitzer, and Elyse Yeager
- CLP-4 Vector Calculus - Joel Feldman, Andrew Rechnitzer, and Elyse Yeager
- Collaborative Statistics
- Combinatorics Through Guided Discovery - Kenneth Bogart
- Complex Analysis - George Cain
- Computational and Inferential Thinking. The Foundations of Data Science
- Computational Geometry
- Computational Mathematics with SageMath - Paul Zimmermann et al.
- Concepts & Applications of Inferential Statistics
- Convex Optimization - Stephen Boyd and Lieven Vandenberghe
- Coordinate Geometry (1911) - Henry Buchard Fine and 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 and 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 and 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 and Eugene Boman
- Introduction to Probability - Charles M. Grinstead and J. Laurie Snell
- 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 and David Harrington
- Kalman and Bayesian Filters in Python
- Knapsack Problems - Algorithms and Computer Implementations - Silvano Martello and Paolo Toth
- Lecture Notes of Linear Algebra - Dr. P. Shunmugaraj, IIT Kanpur (PDF)
- Lies, Damned Lies, or Statistics: How to Tell the Truth with Statistics - Jonathan A. Poritz (PDF)
- Linear Algebra - Dr. Arbind K Lal, Sukant Pati (PDF) (:construction: in process)
- Linear Algebra (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 and 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, and 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 and Wolfgang Huber
- Multivariable Calculus - George Cain and 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
- 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
- Plane Geometry (1913) - George Wentworth and David Eugene Smith (PDF)
- Planes and Spherical Trigonometry (1915) - George Wentworth and David Eugene Smith (PDF)
- Precalculus - Carl Stitz and 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 and 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 Joy of Cryptography (2020) - Mike Rosulek (PDF) (:construction: in process)
- 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
- 2016 Software Development Salary Survey
- 97 Things Every Programmer Should Know - Extended (Leanpub account or valid email requested)
- 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
- Barcode Overview (PDF)
- Bitcoin and Cryptocurrency Technologies - Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder (PDF)
- Come, Let's Play: Scenario-Based Programming Using Live Sequence Charts
- Communicating Sequential Processes - Tony Hoare (PDF)
- Confessions of an Unintentional CTO: Lessons in Growing a Web App - Jack Kinsella
- Culture & Empire: Digital Revolution (PDF)
- Design With FontForge
- Designing Interfaces - Jennifer Tidwell
- DevDocs - Documents for Developers in 1 place
- DevOps For Dummies (IBM Edition) (PDF)
- Digital Signal Processing For Communications
- Digital Signal Processing For Engineers and Scientists
- Digital Signal Processing in Python - Allen B. Downey
- "DYNAMIC LINKED LIBRARIES": Paradigms of the GPL license in contemporary software - Luis A. Enríquez
- Essential Image Optimization - Addy Osmani
- Foundations of Programming (PDF)
- Getting Real - Basecamp, 37signals (HTML, PDF)
- 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)
- Holm School (You Might Learn Something) - How to Teach Yourself To Be A Computer Scientist for Hamiltons a Month - Ryhen Holm
- HoloLens Succinctly - Lars Klint
- How Computers Work - R. Young
- How to Become a Programmer (PDF)
- How to Think Like a Computer Scientist - Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers
- Image Processing in C: Analyzing and Enhancing Digital Images - Dwayne Phillips
- Information Technology and the Networked Economy (PDF)
- Introduction to Scientific Programming in C++ and Fortran - Victor Eijkhout (PDF)
- IRPF90 Fortran code generator - Anthony Scemama
- Learn Programming - Antti Salonen
- Learn to Program
- 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
- Mastering Bitcoin - Unlocking digital currencies - Andreas M. Antonopoulos
- Mobile Developer's Guide to the Galaxy (Leanpub account or valid email requested)
- Modeling Reactive Systems with Statecharts
- MSIX Succinctly - Matteo Pagani
- Networks, Crowds, and Markets: Reasoning About a Highly Connected World
- Object-Oriented Reengineering Patterns - Serge Demeyer, Stéphane Ducasse and 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)
- Playtime with Hyperledger Composer - Shubham Chadokar (PDF)
- PNG: The Definitive Guide
- Pointers And Memory (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
- Web Almanac (PDF)
- Writing Native Mobile Apps in a Functional Language Succinctly - Vassili Kaplan
Networking
- An Introduction to Computer Networks (HTML, PDF, Kindle)
- 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 and 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, The definitive Guide - Neha Narkhede (PDF)
- Network Science - Albert-Laszló Barabási
- The TCP/IP Guide
- Understanding IP Addressing: Everything you ever wanted to know (PDF)
- ZeroMQ Guide
Open Source Ecosystem
Operating Systems
Parallel Programming
Partial Evaluation
Professional Development
Programming Paradigms
Regular Expressions
Reverse Engineering
Search Engines
Security
Software Architecture
- 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)
- Data-Oriented Design
- Developing Reactive Microservices (email address requested, not required)
- Domain Driven Design Quickly
- Domain-Driven Design: The First 15 Years. Essays from the DDD community - Domain-Driven Design Europe (HTML, PDF, ePub) (Leanpub account or valid email requested)
- 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
- Kanban for skeptics - Nick Oostvogels (Leanpub account or valid email requested)
- Microservices AntiPatterns and Pitfalls (PDF)
- Microservices vs. Service-Oriented Architecture (PDF)
- 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 and 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)
- 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 Site Reliability Workbook - Betsy Beyer, Niall Richard Murphy, David K. Rensin, Kent Kawahara and Stephen Thorne
- Web API Design - Brian Mulloy (PDF)
- Working with Web APIs - Launch School
- Your API Is Bad - Paddy Foran
Standards
Theoretical Computer Science
Web Performance
Web Services
Workflow