Original Contribution by George Stocker on Stack Overflow
Original Source: List of freely available programming books
Index
Meta-Lists
- 25 Free Computer Science Ebooks
- 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
- Cheat Sheets (Free)
- Codingus
- conceptf1.blogspot.com
- Free Smalltalk Books, collected by Stéphane Ducasse
- Free Tech Books
- Hacker Shelf
- 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
- MindView Inc
- O'Reilly's Commons
- O'Reilly's Open Books Project
- Papers we love
- Red Gate Books
- Stef's Free Online Smalltalk Books
- TechBooksForFree.com
- The Definitive C++ Book Guide and List
- Theassayer.org
- tutorialspoint
- Wikibooks: Programming
Graphics Programming
Graphical User Interfaces
Language Agnostic
Algorithms & Data Structures
- A Field Guide To Genetic Programming
- Algorithmic Graph Theory
- Algorithms (PDF)
- Algorithms, 4th Edition - Robert Sedgewick and Kevin Wayne
- Algorithms and Automatic Computing Machines (1963) - B. A. Trakhtenbrot
- Algorithms and Complexity (PDF)
- Algorithms and Data-Structures (PDF)
- Algorithms Course Materials - Jeff Erickson
- Analysis and Design of Algorithms - Sandeep Sen, IIT Delhi
- Animated Algorithm and Data Structure Visualization (Resource)
- Binary Trees (PDF)
- Clever Algorithms
- CS Unplugged: Computer Science without a computer
- Data Structures - Prof. Subhashis Banerjee, IIT Delhi
- Data Structures and Algorithms: Annotated Reference with Examples
- Data Structures Succinctly Part 1, Syncfusion (PDF, Kindle) (Just fill the fields with any values)
- Data Structures Succinctly Part 2, Syncfusion (PDF, Kindle) (Just fill the fields with any values)
- Elementary Algorithms - Larry LIU Xinyu
- Foundations of Computer Science - Al Aho and Jeff Ullman
- Handbook of Graph Drawing and Visualization
- Lectures Notes on Algorithm Analysis and Computational Complexity (Fourth Edition) - University of North Texas (PDF)
- LEDA: A Platform for Combinatorial and Geometric Computing
- 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) - University of North Texas (PDF)
- Purely Functional Data Structures (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)
- Think Complexity (PDF)
Cellular Automata
Cloud Computing
Competitive Programming
Compiler Design
- An Introduction to GCC - Brian Gough
- Basics of Compiler Design (Anniversary Edition) - Torben Mogensen
- Compiler Construction (PDF)
- Compiler Design in C - Allen Holub, Prentice Hall, 1990
- Compiler Design: Theory, Tools, and Examples, C/C++ Edition - Seth D. Bergmann
- Compiler Design: Theory, Tools, and Examples, Java Edition - Seth D. Bergmann
- Compiling Scala for the Java Virtual Machine - Michel Schinz (PDF)
- Compiling Techniques - F.R.A. Hopgood, Macdonald, 1969
- Implementing Functional Languages: A Tutorial - Simon Peyton Jones, David Lester
- Let's Build a Compiler (PDF)
- Linkers and Loaders - John R. Levine
- Practical and Theoretical Aspects of Compiler Construction (class lectures and slides)
Computer Vision
Database
Datamining
Information Retrieval
Licensing
Machine Learning
- A Brief Introduction to Neural Networks
- A Course in Machine Learning (PDF)
- A First Encounter with Machine Learning (PDF)
- AI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java - George F. Luger, William A Stubblefield (PDF)
- An Introduction to Statistical Learning - Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani
- Bayesian Reasoning and Machine Learning
- Gaussian Processes for Machine Learning
- Information Theory, Inference, and Learning Algorithms
- Introduction to Machine Learning - Alex Smola and S.V.N. Vishwanathan (PDF)
- Introduction to Machine Learning - Amnon Shashua
- Learning Deep Architectures for AI (PDF)
- Machine Learning
- Machine Learning, Neural and Statistical Classification - This book is based on the EC (ESPRIT) project StatLog (PDF) or online version
- Neural Networks and Deep Learning
- Probabilistic Models in the Study of Language (Draft, with R code)
- Reinforcement Learning: An Introduction
- The Elements of Statistical Learning - Trevor Hastie, Robert Tibshirani, and Jerome Friedman
- The LION Way: Machine Learning plus Intelligent Optimization
- The Python Game Book
Mathematics
Mathematics For Computer Science
Misc
- 97 Things Every Programmer Should Know - Extended
- A Mathematical Theory of Communication - Claude E.Shannon
- Asterisk™: The Definitive Guide
- Barcode Overview (PDF)
- Come, Let's Play: Scenario-Based Programming Using Live Sequence Charts
- Communicating Sequential Processes - Tony Hoare (PDF)
- Computer Musings (lectures by Donald Knuth)
- CS For All
- Culture & Empire: Digital Revolution (PDF)
- Designing for Performance - Lara Hogan
- 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
- Distributed systems for fun and profit
- Docker Jumpstart
- "DYNAMIC LINKED LIBRARIES": Paradigms of the GPL license in contemporary software - Luis A. Enríquez
- Flow based Programming
- Foundations of Programming (PDF)
- Game Programming Patterns - Bob Nystrom
- Getting Real
- Hacknot: Essays on Software Development - Ed Johnson
- High-Performance Scientific Computing (class lectures and slides)
- How Computers Work
- How to Become a Programmer (PDF)
- How to Think Like a Computer Scientist - Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers
- I Am a Bug
- Image Processing in C: Analyzing and Enhancing Digital Images - Dwayne Phillips
- Information Technology and the Networked Economy (PDF)
- 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
- Mobile Developer's Guide to the Galaxy
- Modeling Reactive Systems with Statecharts
- Mother Tongues of Computer Languages (PNG)
- 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
- PDQ: Pretty Darn Quick: An Agile, All-Purpose Methodology - Jeff Franz-Lien
- Philosophy of Computer Science (PDF)
- PNG: The Definitive Guide
- Pointers And Memory (PDF)
- Principles of Computer System Design (PDF)
- Programmer's Motivation for Beginners
- Programming with Unicode
- Project Oberon (PDF)
- Record-Playback Test Automation: Sahi & Selenium IDE: Critical Evaluation of Record-Playback Automation Tools - Shashikant Jagtap
- Security Engineering
- Small Memory Software
- SVG Essentials
- The Quest for Artificial Intelligence: A History of Ideas and Achievements - Nils J. Nilsson (PDF)
- The Z Notation: A Reference Manual, Second Edition - J. M. Spivey (PDF)
MOOC
Networking
- 802.11ac: A Survival Guide - Matthew Gast
- 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)
- High-Performance Browser Networking
- HTTP Succinctly, Syncfusion (PDF, Kindle) (Just fill the fields with any values)
- HTTP2 Explained - Daniel Stenberg
- 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
Security
Software Architecture
Standards
Theoretical Computer Science
Web Performance
Ada
Agda
Alef
Android
APL
Arduino
ASP.NET MVC
Assembly Language
Non-X86
AutoHotkey
Autotools
Awk
Bash
Basic
BETA
C
C Sharp
C++
- C++ Annotations
- C++ Cookbook (PDF)
- C++ GUI Programming With Qt 3
- C++ Succinctly, Syncfusion (PDF, Kindle) (Just fill the fields with any values)
- C++ Tricks
- CS106X Programming Abstractions in C++
- Financial Numerical Recipes in C++ - Bernt Arne Ødegaard
- Game Programming Patterns
- Google's C++ Style Guide
- How To Think Like a Computer Scientist: C++ Version - Allen B. Downey
- Introduction to Design Patterns in C++ with Qt (PDF)
- Joint Strike Fighter, C++ Coding Standards, by Bjarne Stroustrup (PDF)
- Learn C++. (PDF, Online)
- Matters Computational: Ideas, Algorithms, Source Code, by Jorg Arndt (PDF)
- Open Data Structures (In C++) (PDF)
- Software Design Using C++ - Br. David Carlson and Br. Isidore Minerd
- Software optimization resources by Agner Fog
- The Boost C++ libraries
- The Rook's Guide to C++ (PDF)
- Thinking in C++, Second Edition, Vol. 1. - Bruce Eckel (Vol. 2) (ZIP)
Chapel
Cilk
Clojure
COBOL
CoffeeScript
ColdFusion
Cool
Coq
CUDA
D
Dart
DB2
Delphi / Pascal
DTrace
Elasticsearch
Elixir
Emacs
Embedded Systems
Erlang
F Sharp
Flex
Firefox OS
Force.com
Forth
Fortran
FreeBSD
Git
Go
Groovy
Gradle
Grails
Spock Framework
Hadoop
Haskell
Haxe
HTML / CSS
Bootstrap
Icon
iOS
Isabelle/HOL
J
Java
- 3D Programming in Java - Daniel Selman (PDF)
- Apache Jakarta Commons: Reusable Java Components - Will Iverson (PDF)
- Artificial Intelligence - Foundation of Computational Agents
- Cadmus: A Primer in Java - Hashan Punchihewa, Joseph Bills et al.
- Category wise tutorials - J2EE
- Core Servlets and JavaServer Pages - Marty Hall and Larry Brown
- Data Structures and Algorithms with Object-Oriented Design Patterns in Java
- Data Structures in Java for the Principled Programmer (PDF)
- Google's Java Style Guide
- Introduction to Computer science using Java
- Introduction to Programming in Java - Robert Sedgewick and Kevin Wayne
- Introduction to Programming Using Java - David J. Eck
- JAAS in Action
- Java: A Beginner's Guide - Oracle (PDF)
- Java Application Development on Linux by Carl Albing and Michael Schwarz (PDF) (PDF)
- Java Programming for Kids, Parents and Grandparents - Yakov Fain
- Java Thin-Client Programming
- Learning Java (4th Edition) - Patrick Niemeyer
- NIO Framework (PDF)
- OOP - Learn Object Oriented Thinking & Programming - Rudolf Pecinovsky
- Open Data Structures (in Java) (PDF)
- OSGi in Practice (PDF)
- Processing XML with Java (A Guide to SAX, DOM, JDOM, JAXP, and TrAX) - Elliotte Rusty Harold
- Sun's Java Tutorials
- The ABC of PDF with iText: PDF Syntax essentials
- The Java EE6 Tutorial (PDF)
- The Java EE7 Tutorial (PDF)
- The Java Language Specification - James Gosling, Bill Joy, Guy Steele, Gilad Bracha
- The Java Tutorial 4th Edition - Sharon Zakhour, Scott Hommel, Jacob Royal, Isaac Rabinovitch, Tom Risser, Mark Hoeber
- Think Java: How to Think Like a Computer Scientist - Allen B. Downey
- Thinking in Java
- UML For Java Programmers - Robert Cecil Martin (PDF) (PDF)
- Welcome to Java for Python Programmers - Brad Miller
- Welcome to the Java Workshop - An Apache Project
- What's New in Java 8 - Adam L. Davis
Spring
- Spring Framework Reference Documentation - Rod Johnson, Juergen Hoeller, Keith Donald, Colin Sampaleanu, Rob Harrop, Thomas Risberg, Alef Arendsen, Darren Davison, Dmitriy Kopylenko, Mark Pollack, Thierry Templier, Erwin Vervaet, Portia Tung, Ben Hale, Adrian Colyer, John Lewis, Costin Leau, Mark Fisher, Sam Brannen, Ramnivas Laddad, Arjen Poutsma, Chris Beams, Tareq Abedrabbo, Andy Clement, Dave Syer, Oliver Gierke, Rossen Stoyanchev, Phillip Webb, Rob Winch, Brian Clozel, Stephane Nicoll, Sebastien Deleuze (PDF)
Spring Boot
Spring Security
Wicket
JavaScript
Javascript Frameworks
For resources on Angular, Backbone, D3, Dojo, Ember, Express, jQuery, Knockout, Meteor, React and any other JS toolkit/framework, please refer to Javascript Frameworks Resources and Tutorials.
Node.js
Jenkins
LaTeX / TeX
LaTeX
TeX
Limbo
Linux
Lisp
Lua
Markdown
Mathematica
MATLAB
Maven
Mercurial
Mercury
MySQL
Neo4J
.NET Framework
NoSQL
Oberon
Objective-C
OCaml
Octave
OpenGL ES
OpenMP
OpenSCAD
Oracle Server
Parrot / Perl 6
PC-BSD
Perl
PHP
PicoLisp
PostgreSQL
PowerShell
Processing
Prolog
- Adventure in Prolog
- Applications of Prolog
- Building Expert Systems in Prolog
- Coding Guidelines for Prolog - Michael A. Covington, Roberto Bagnara, Richard A. O'Keefe, Jan Wielemaker, Simon Price
- Concise Intro to Prolog
- GNU Prolog Manual (PDF)
- Introduction to Prolog for Mathematicians
- Learn Prolog Now!
- Logic, Programming and Prolog (2ed)
- Natural Language Processing Techniques in Prolog
- Prolog and Natural-Language Analysis - Fernando C. N. Pereira, Stuart M. Shieber
- Prolog Experiments in Discrete Mathematics, Logic, and Computability - James L. Hein (PDF)
- Prolog for Programmers
- Prolog Problems - Werner Hett
- Prolog Programming: A First Course - Paul Brna (PDF)
- Prolog Techniques
- Prolog Tutorial
- Simply Logical
- The First 10 Prolog Programming Contests - Bart Demoen, Phuong-Lan Nguyen, Tom Schrijvers, Remko Tronçon
- Warren's Abstract Machine: A Tutorial Reconstruction - Hassan A¨it-Kaci
Constraint Logic Programming (extended Prolog)
PureScript
Python
Django
Flask
Kivy
Pandas
Pyramid
QML
- Qt5 Cadaques - Juergen Bocklage-Ryannel and Johan Thelin (HTML, PDF, ePub) (work in progress)
R
Racket
Raspberry Pi
REBOL
Ruby
RSpec
Ruby on Rails
Sinatra
Rust
Sage
Scala
Lift
Play Scala
Scheme
Scilab
Scratch
Sed
Smalltalk
SQL (implementation agnostic)
SQL Server
- Best of SQLServerCentral.com Vol 7 *(RedGate, By SQLServerCentral Authors)
- Brad's Sure Guide to SQL Server Maintenance Plans (RedGate, By Brad McGehee)
- Defensive Database Programming (PDF) (RedGate, By Alex Kuznetsov)
- How to Become an Exceptional DBA (RedGate, By Brad McGehee)
- Inside the SQL Server Query Optimizer (RedGate, By Benjamin Nevarez)
- Introducing Microsoft SQL Server 2008 R2
- Introducing Microsoft SQL Server 2012
- Introducing Microsoft SQL Server 2014
- Mastering SQL Server Profiler (RedGate, By Brad McGehee)
- Performance Tuning with SQL Server Dynamic Management Views (RedGate, By Tim Ford and Louis Davidson)
- Protecting SQL Server Data (RedGate, By John Magnabosco)
- SQL Server 2012 Tutorials: Reporting Services
- SQL Server Backup and Restore (RedGate, By Shawn McGehee)
- SQL Server Concurrency: Locking, Blocking and Row Versioning (RedGate, By Kalen Delaney)
- SQL Server Execution Plans (PDF) (RedGate, By Grant Fritchey)
- SQL Server Execution Plans, Second Edition (PDF) (RedGate, By Grant Fritchey)
- SQL Server Hardware (RedGate, By Glenn Berry)
- SQL Server Statistics (RedGate, By Holger Schmeling)
- SQL Server Stumpers Vol.5 (RedGate, By SQLServerCentral Authors)
- SQL Server Tacklebox (RedGate, By Rodney Landrum)
- SQL Server Transaction Log Management (RedGate, By Tony Davis and Gail Shaw)
- The Art of SQL Server FILESTREAM (RedGate, By Jacob Sebastian and Sven Aelterman)
- Troubleshooting SQL Server: A Guide for the Accidental DBA (RedGate, By Jonathan Kehayias and Ted Krueger)
Standard ML
Subversion
Swift
Tcl
Teradata
Tizen
TLA
TypeScript
Unix
Verilog
VHDL
Vim
Visual Basic
Visual Prolog
Web Services
Windows 8
Windows Phone
Workflow
xBase (dBase / Clipper / Harbour)