mirror of
https://github.com/EbookFoundation/free-programming-books.git
synced 2024-12-18 17:36:14 +00:00
e299016004
* Update free-programming-books-subjects.md * Update free-programming-books-subjects.md * Update free-programming-books-subjects.md * Update free-programming-books-subjects.md * Update free-programming-books-subjects.md * Update free-programming-books-subjects.md * Added a book under Computer Organization Hey, I added one more free book under the subject. It's a pretty broad category and I am sure more free books exist on the topic. I personally studied from the book by Smruti Sarang and felt that it's too precious a resource to not share. I think COA deserves a separate category not only because it is a college course but also because COA gives a first introduction to the implementation of digital systems inside computers (boolean algebra, latches, mux, registers) before focusing on Assembly languages like x86 and ARM. I skimmed through your misc list but since the subject doesn't focus on programming languages hence we cannot add the existing books like 'Scientific Programming and Computer Architecture' in it.
72 KiB
72 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 Organization and Architecture
- 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)
- Grokking Bitcoin - Kalle Rosenbaum (HTML)
- 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 Organization and Architecture
- Basic Computer Architecture - Smruti R. Sarangi (HTML, PDF, Slides, Videos)
- Computer Organization and Design Fundamentals - David Tarnoff (PDF)
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)
- What to Look for in a Code Review - Trisha Gee (HTML, PDF, EPUB, Kindle) (Leanpub account or valid email requested)
- Your First Year in Code - Isaac Lyman (HTML, PDF, EPUB, Kindle) (Leanpub account or valid email requested)
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
- Web Style Guide Online - Patrick J. Lynch and Sarah Horton
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)
- Approaching Almost Any Machine Learning Problem - Abhishek Thakur (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)