mirror of
https://github.com/namibia/free-programming-books.git
synced 2024-12-30 17:59:06 +00:00
ad7e3152f7
* Update free-programming-books-subjects.md Add SWE at Google * Update free-programming-books-subjects.md Sort local list * Add Ŵietse' Cloud Run Book Add Building Serverless Applications on Google Cloud Run by Wietse Venema - book is sponsored and distributed for free by CockroachDB
71 KiB
71 KiB
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
- Algorithms & Data Structures
- Artificial Intelligence
- Blockchain
- Cellular Automata
- Cloud Computing
- Competitive Programming
- Compiler Design
- Computer Science
- Computer Vision
- Containers
- Database
- Datamining
- Game Development
- Graphical user interfaces
- Graphics Programming
- Information Retrieval
- Licensing
- Machine Learning
- Mathematics
- Mathematics For Computer Science
- Misc
- Networking
- Open Source Ecosystem
- Operating Systems
- Parallel Programming
- Partial Evaluation
- Professional Development
- Programming Paradigms
- Regular Expressions
- Reverse Engineering
- Search Engines
- Security
- Software Architecture
- Standards
- Theoretical Computer Science
- Web Performance
- Web Services
- Workflow
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
- 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
- Rip Tutorials
- 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 - 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 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 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
- 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)
- Introduction to Autonomous Robots - Nikolaus Correll (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 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)
- IBM Blockchain: The Founder’s Handbook, Third Edition - Antonio Banda, Matthew Hamilton, Eileen Lowry, John Widdifield et al. (PDF)
- Mastering Bitcoin - Unlocking digital currencies - Andreas M. Antonopoulos
- Playtime with Hyperledger Composer - Shubham Chadokar (PDF)
Cellular Automata
- A New Kind of Science - Stephen Wolfram
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
- Competitive Programmer's Handbook - Antti Laaksonen (PDF)
- Competitive Programming, 1st Edition - Steven Halim (PDF)
- Competitive Programming, 2nd Edition - Steven Halim (PDF)
- Principles of Algorithmic Problem Solving - Johan Sannemo (PDF)
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
- 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)
- 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 Science
- Computational Thinking - Jeannette Wing, Carnegie-Mellon University (PDF)
- Computer Science I - Draft - Dr. Chris Bourke (PDF) (🚧 in process)
- Computer Science II - Draft - Dr. Chris Bourke (PDF) (🚧 in process)
- CS Principles: Big Ideas in Programming - Mark Guzdial and Barbara Ericson (HTML)
Computer Vision
- Computer Vision - Dana Ballard, Chris Brown
- Computer Vision: Algorithms and Applications - Richard Szeliski
- Computer Vision: Models, Learning, and Inference - Simon J.D. Prince
- Programming Computer Vision with Python - Jan Erik Solem
Containers
- Docker Jumpstart - Andrew Odewahn
- Kubernetes Deployment & Security Patterns - Alex Williams (PDF)
- Kubernetes for Full-Stack Developers - Jamon Camisso, Hanif Jetha, Katherine Juell (PDF, EPUB)
- Uncomplicating Kubernetes - Jeferson Fernando
Database
- Database Design – 2nd Edition - Adrienne Watt, Nelson Eng @ BCcampus Open Pressbooks (HTML, PDF, EPUB, Kindle)
- Database Explorations (PDF)
- Database Fundamentals (PDF)
- Databases, Types, and The Relational Model: The Third Manifesto (PDF)
- Foundations of Databases
- Readings in Database Systems, 5th Ed.
- Temporal Database Management - Christian S. Jensen
- The Theory of Relational Databases
Datamining
- 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
- Elements of Data Science - Allen B. Downey
- Internet Advertising: An Interplay among Advertisers, Online Publishers, Ad Exchanges and Web Users (PDF)
- Introduction to Data Science - Jeffrey Stanton
- Introduction to Data Science - Rafael A Irizarry (Leanpub account or valid email requested)
- Mining of Massive Datasets - Jure Leskovec, Anand Rajaraman, Jeffrey D. Ullman (PDF)
- 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
Game Development
- 2D Game Development: From Zero To Hero - Daniele Penazzo (HTML, PDF, EBPUB, Kindle...) (🚧 in process)
- Coding With Minecraft - Al Sweigart
- Designing Virtual Worlds - Richard A. Bartle (PDF)
- Game AI Pro - Steve Rabin
- Game Design with AGS - Dave Ensminger, A. G. Madi
- Game Programming Patterns - Bob Nystrom
- Procedural Content Generation in Games - Noor Shaker, Julian Togelius, Mark Nelson
Graphics Programming
- 3D Game Shaders For Beginners - David Lettier (Git) (HTML)
- Blender 3D: Noob to Pro - Wikibooks
- Blender Manual
- Computer Graphics from scratch - Gabriel Gambetta (🚧 in process)
- DirectX manual (draft)
- GPU Gems
- Graphics Programming Black Book - Michael Abrash
- Introduction to Modern OpenGL - Alexander Overvoorde (HTML, EPUB, PDF) (C++)
- Introduction to TouchDesigner 099 (Leanpub account or valid email requested)
- Learn Computer Graphics From Scratch! - Scratchapixel (🚧 in process)
- Learn OpenGL - Joey de Vries
- Learn OpenGL RS - Benjamin Wasty et al. (🚧 in process) (Rust)
- Learning Modern 3D Graphics Programming - Jason L. McKesson (draft)
- Notes for a Computer Graphics Programming Course - Dr. Steve Cunningham (PDF)
- OpenGL - Concepts and illustrations.
- Ray Tracing in One Weekend - Peter Shirley (HTML)
- ShaderX series - Wolfgang Engel
- Tutorials for modern OpenGL
- WebGL Insights - Patrick Cozzi and Contributors
Graphical User Interfaces
- Event-Driven GTK by Example — 2021 Edition - Michael Murphy
- Programming with gtkmm 4
- Search User Interfaces - Marti A. Hearst
- The GLib/GTK+ Development Platform - Sébastien Wilmet (PDF)
- Web Design Primer - Richard Adams, Ahmed Sagarwala
Information Retrieval
Licensing
- Creative Commons: a user guide - Simone Aliprandi
- Open Source Licensing Software Freedom and Intellectual Property Law - Lawrence Rosen
- The Public Domain: Enclosing the Commons of the Mind - James Boyle
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 (PDF)
- 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 (HTML, PDF, Jupyter Book)
- Machine Learning, Neural and Statistical Classification
- 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, 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, 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 and Jeremy Howard
- 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 Computational Logic (1979) - Robert S. Boyer and 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 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
- 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
- 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) (🚧 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
- Paul's Online Notes: Algebra, Calculus I-III and Differential Equations - Paul Dawkins @ Lamar University
- 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 Elements of Data Analytic Style - Jeff Leek (HTML, PDF, EPUB, Kindle) (Leanpub account or valid email requested)
- 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
- A Mathematical Theory of Communication - Claude E.Shannon
- Discrete Structures for Computer Science: Counting, Recursion, and Probability - Michiel Smid
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)
- 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 Manage Remote Servers with Ansible - Erika Heidi (PDF, EPUB)
- 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
- 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)
- 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 gentle introduction - Mitch Seymour
- 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
- Data Journalism Handbook
- Free as in Freedom: Richard Stallman and the free software revolution - Sam Williams (PDF)
- Free for All - Peter Wayner
- Free Software, Free Society: Selected Essays of Richard M. Stallman
- Getting Started with InnerSource (email address requested, not required)
- Getting started with Open source development (PDF)
- GitLab Handbook
- How to get started with open source (ePub & ODT)
- Innovation Happens Elsewhere - Ron Goldman, Richard P. Gabriel
- Introduction to Networking - Charles Severance (PDF)
- Open Advice: FOSS: What We Wish We Had Known When We Started
- Open source in Brazil - Andy Oram
- Producing Open Source Software - Karl Fogel
- The Architecture of Open Source Applications: Vol. 1: Elegance, Evolution, and a Few Fearless Hacks; Vol. 2: Structure, Scale, and a Few More Feerless Hacks
- The Art of Community - Jono Bacon (PDF)
- The Cathedral and the Bazaar - Eric S. Raymond
- The Future of the Internet - Jonathan Zittrain
- The Open Source Way
- The Wealth of Networks: How Social Production Transforms Markets and Freedom - Yochai Benkler
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
- High Performance Computing - Charles Severance & Kevin Dowd (PDF, ePUB)
- High Performance Computing Training (LLNL materials)
- High-Performance Scientific Computing (class lectures and slides)
- Introduction to High-Performance Scientific Computing - Victor Eijkhout
- Introduction to Parallel Computing - Blaise Barney
- Is Parallel Programming Hard, And, If So, What Can You Do About It? - Paul E. McKenney
- Programming on Parallel Machines; GPU, Multicore, Clusters and More - Norm Matloff Kerridge (PDF) (email address requested, not required)
- The OpenCL Programming Book
Partial Evaluation
- Partial Evaluation and Automatic Program Generation - (PDF) Jones, Gomard and Sestoft
Professional Development
- Clean Code Developer: An initiative for more professionalism in software development (🚧 in process)
- Confessions of an IT Manager - Phil Factor (PDF)
- Don't Just Roll the Dice - Neil Davidson (PDF)
- How to Do What You Love & Earn What You’re Worth as a Programmer - Reginald Braithwaite
- Professional Software Development For Students - Mike G. Miller
- Software Engineering at Google - Titus Winters, Tom Manshreck & Hyrum Wright
- Software Environment Concepts - Amr Elmohamady (🚧 in process)
- What I've Learned From Failure - Reginald Braithwaite
Programming Paradigms
- Flow based Programming - J Paul Morrison
- Introduction to Functional Programming - J. Harrison
- Making Sense of Stream Processing - Martin Kleppmann (PDF)
- Mostly Adequate Guide to Functional Programming - Mostly Adequate Core Team
- The Pure Function Pipeline Data Flow v3.0 ---- the Grand Unified Programming Theory - Lin Pengcheng
- Type Theory and Functional Programming
Regular Expressions
- JavaScript RegExp - Sundeep Agarwal
- Python re(gex)? - Sundeep Agarwal
- Regular Expressions for Regular Folk - Shreyas Minocha
- RexEgg
- Ruby Regexp - Sundeep Agarwal
- The 30 Minute Regex Tutorial - Jim Hollenhorst
- The Bastards Book of Regular Expressions: Finding Patterns in Everyday Text - Dan Nguyen (Leanpub account or valid email requested)
Reverse Engineering
- BIOS Disassembly Ninjutsu Uncovered 1st Edition - Darmawan Salihun (PDF)
- Hacking the Xbox: An Introduction to Reverse Engineering - Andrew "bunnie" Huang
- iOS App Reverse Engineering (PDF)
Search Engines
- Elasticsearch: The Definitive Guide (fork it on GH)
- Search Engines: Information Retrieval in Practice - W. Bruce Croft, Donald Metzler, Trevor Strohman (PDF)
- Solr for newbies workshop (2019) - Hector Correa (PDF)
Security
- A Graduate Course in Applied Cryptography
- Crypto 101 - Crypto for everyone
- Cryptography - Wikibooks (HTML) (🚧 in process)
- CryptoParty Handbook
- Handbook of Applied Cryptography
- How HTTPS works - dnsimple
- How to deal with Passwords
- Intrusion Detection Systems with Snort (PDF)
- OpenSSL Cookbook
- OWASP Mobile Security Testing Guide - Bernhard Mueller et al.
- OWASP Testing Guide 4.0 (PDF)
- OWASP Top 10 for .NET Developers
- Security Engineering
- The Joy of Cryptography (2021) - Mike Rosulek (PDF) (🚧 in process)
Software Architecture
- A Primer on Design Patterns - Rahul Batra (HTML, PDF, EPUB, Kindle) (Leanpub account or valid email requested)
- 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
- Building Blocks for Theoretical Computer Science - Margaret M. Fleck
- Category Theory for Computing Science (PDF)
- Category Theory for Programmers - Bartosz Milewski (PDF)
- Delftse Foundations of Computation - Stefan Hugtenburgand, Neil Yorke-Smith @ TU Delft Open (PDF)
- Design of a Programmer - Prakash Hegade (PDF)
- Homotopy Type Theory: Univalent Foundations of Mathematics (PDF)
- Introduction to Computer Science - Prof. Subhashis Banerjee, IIT Delhi
- Introduction to Computing
- Introduction to Theory of Computation - Anil Maheshwari and Michiel Smid (PDF)
- Models of Computation - John E. Savage
- Practical Foundations for Programming Languages, Preview - Robert Harper (PDF)
- Principles of Programming Languages - Scott F. Smith
- Programming and Programming Languages - Shriram Krishnamurthi
- Programming in Martin-Löf's Type Theory - Bengt Nordstroem
- Programming Languages: Application and Interpretation (2nd Edition) - Shriram Krishnamurthi
- Programming Languages: Theory and Practice - Robert Harper (PDF)
- Semantics with Applications: A Formal Introduction - Hanne Riis Nielson, Flemming Nielson (PDF)
- Structure and Interpretation of Computer Programs
- Structure and Interpretation of Computer Programs
- The Black Art of Programming - Mark McIlroy
- The Craft of Programming - John C. Reynolds
- Theory of Computation, Making Connections - Jim Hefferon (PDF)
- Think Complexity - - Allen B. Downey (2nd Edition) (PDF, HTML)
Web Performance
- Book of Speed - Stoyan Stefanov
- Designing for Performance - Lara Hogan
- High Performance Accelerated Websites - Anshul (HTML) (🚧 in process)
- High Performance Browser Networking - Ilya Grigorik
- Mature Optimization - Carlos Bueno (PDF)
Web Services
- RESTful Web Services (PDF)