700+ Free Computer Science Books
Table of Contents
- 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
- Data Science
- Database
- Embedded Systems
- Game Development
- Graphics Programming
- Graphical User Interfaces
- IDE and editors
- Information Retrieval
- Licensing
- Machine Learning
- Mathematics
- Mathematics For Computer Science
- Misc
- Networking
- Object Oriented Programming
- Open Source Ecosystem
- Operating Systems
- Parallel Programming
- Partial Evaluation
- Professional Development
- Programming
- Programming Paradigms
- Prompt Engineering
- Quantum Computing
- Regular Expressions
- Reverse Engineering
- Search Engines
- Security & Privacy
- Software Architecture
- Standards
- Theoretical Computer Science
- Version Control Systems
- 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
- conceptf1.blogspot.com
- Free Tech Books
- Goalkicker - Programming Notes for Professionals books
- IBM Redbooks
- InfoQ Minibooks
- InTech: Computer and Information Science
- JSBooks - directory of free javascript ebooks
- Learn X in Y minutes
- Learneroo Resources to Learn Programming
- Microsoft Guides to Software
- Microsoft Press: Free E-Books
- Microsoft Technologies 1, including books on Windows Azure, SharePoint, Visual Studio Guide, Windows phone development, ASP.net, Office365, etc. collection by Eric Ligman
- Microsoft Technologies 2, including books on Windows Azure, SharePoint, Visual Studio Guide, Windows phone development, ASP.net, etc. collection by Eric Ligman
- Microsoft Technologies 3, DevOps for ASP.NET Core Developers - Cam Soper, Scott Addie, Colin Dembovsky (PDF)
- O’Reilly’s Open Books Project
- Papers we love
- Red Gate Books
- Rip Tutorials
- Stef’s Free Online Smalltalk Books
- TechBeamers.com
- TechBooksForFree.com
- The Definitive C++ Book Guide and List
- Theassayer.org
- Tutorials Point
- Visualgo: Algorithm and Data Structure Visualization - Visualise data structures and algorithms through animation
Algorithms & Data Structures
- A Field Guide To Genetic Programming - Riccardo Poli, William B. Langdon, Nicholas F. McPhee (PDF) ( archived)
- Algorithm Design - Jon Kleinberg, Éva Tardos
- Algorithmic Graph Theory - David Joyner, Minh Van Nguyen, David Phillips (PDF)
- Algorithmic Thinking - Donglai Fu
- Algorithms - Wikibooks
- Algorithms - Jeff Erickson (PDF)
- Algorithms, 4th Edition - Robert Sedgewick, Kevin Wayne
- Algorithms and Automatic Computing Machines (1963) - B. A. Trakhtenbrot
- Algorithms and Complexity - Herbert S. Wilf (PDF)
- Algorithms and Data Structures - With Applications to Graphics and Geometry - Jurg Nievergelt, Klaus Hinrichs (PDF)
- Algorithms Course Materials - Jeff Erickson
- Algorithms Notes for Professionals - Compiled from StackOverflow Documentation (PDF)
- Annotated Algorithms in Python: Applications in Physics, Biology, and Finance - Massimo Di Pierro
- Binary Trees - Nick Parlante (PDF)
- Data Structures - Aditya CSE (PDF)
- Data Structures - Wikibooks
- Data Structures (Into Java) - Paul N. Hilfinger (PDF)
- Data Structures and Algorithm Analysis in C++ - Clifford A. Shaffer (PDF)
- Data Structures and Algorithms: Annotated Reference with Examples - G. Barnett, L. Del Tongo ( archived)
- Data Structures Succinctly Part 1, Syncfusion - Robert Horvick
- Data Structures Succinctly Part 2, Syncfusion - Robert Horvick
- Elementary Algorithms - Larry Liu Xinyu (PDF)
- Essential Algorithms - Krzysztof Kowalczyk and Stack Overflow Documentation project (HTML)
- Foundations of Computer Science - Al Aho, Jeff Ullman
- Learning Algorithm - Compiled from StackOverflow documentation (PDF)
- 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, St. Näher
- Linked List Basics - Nick Parlante (PDF)
- Linked List Problems - Nick Parlante (PDF)
- Matters Computational: Ideas, Algorithms, Source Code - Jörg Arndt (PDF)
- Open Data Structures: An Introduction - Pat Morin
- Planning Algorithms - Steven M. LaValle
- Problems on Algorithms (Second Edition) - Ian Parberry (use form at bottom of license)
- Purely Functional Data Structures (1996) - Chris Okasaki (PDF) ( archived)
- Sequential and parallel sorting algorithms - Hans Werner Lang (HTML)
- Text Algorithms - Maxime Crochemore, Wojciech Rytter (PDF)
- The Algorithm Design Manual - Steven S. Skiena (HTML)
- The Algorithms
- The Design of Approximation Algorithms - David P. Williamson, David B. Shmoys (PDF)
- The Great Tree List Recursion Problem - Nick Parlante (PDF)
- The Kademlia Protocol Succinctly - Marc Clifton
- Think Complexity (2nd Edition) - Allen B. Downey
Artificial Intelligence
- Artificial Intelligence and the Future for Teaching and Learning - Office of Educational Technology (PDF)
- Artificial Intelligence for a Better Future: An Ecosystem Perspective on the Ethics of AI and Emerging Digital Technologies - Bernd Carsten Stahl (PDF, EPUB)
- 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)
- Clever Algorithms Nature-Inspired Programming Recipes - Jason Brownlee (PDF)
- Getting Started with Artificial Intelligence , 2nd Edition - Tom Markiewicz, Josh Zheng (PDF)
- Graph Representational Learning Book - William L. Hamilton
- Introduction to Autonomous Robots - Nikolaus Correll (PDF)
- Machine Learning For Dummies®, IBM Limited Edition - Daniel Kirsch, Judith Hurwitz (PDF)
- On the Path to AI: Law’s prophecies and the conceptual foundations of the machine learning age - Thomas D. Grant, Damon J. Wischik (PDF, EPUB)
- Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp - Peter Norvig
- Probabilistic Programming & Bayesian Methods for Hackers - Cam Davidson-Pilon (HTML, Jupyter Notebook)
- The History of Artificial Intelligence - Chris Smith, Brian McGuire, Ting Huang, Gary Yang (PDF)
- The Quest for Artificial Intelligence: A History of Ideas and Achievements - Nils J. Nilsson (PDF)
Blockchain
- Bitcoin and Cryptocurrency Technologies - Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder, Jeremy Clark (PDF)
- Blockchain for Dummies, 2nd IBM Limited Edition - Manav Gupta (PDF)
- chain.courses - James Gan, Rishub Kumar ( archived)
- Getting Started with Enterprise Blockchain: A Guide to Design and Development - Michael Bradley, David Gorman, Matt Lucas, Matthew Golby-Kirk (PDF)
- Grokking Bitcoin - Kalle Rosenbaum (HTML)
- IBM Blockchain: The Founder’s Handbook, Third Edition - Antonio Banda, Matthew Hamilton, Eileen Lowry, John Widdifield, et al. (PDF)
- Learning Bitcoin from the Command Line - Christopher Allen, Shannon Appelcline, et al. (HTML)
- Mastering Bitcoin - Unlocking digital currencies (2017), 2nd Edition - Andreas M. Antonopoulos (AsciiDoc)
- Mastering Ethereum (2018), 1st Edition - Andreas M. Antonopoulos, Gavin Wood (AsciiDoc)
- Mastering the Lightning Network - Andreas M. Antonopoulos, Olaoluwa Osuntokun, Rene Pickhardt (AsciiDoc)
- Playtime with Hyperledger Composer - Shubham Chadokar (PDF)
Cellular Automata
- 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 CERN Admin guide
- 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 ( archived)
- Basics of Compiler Design (Anniversary Edition) - Torben Mogensen
- Compiler Design in C (1990) - Allen Holub, Prentice Hall (PDF)
- Compiler Design: Theory, Tools, and Examples, C/C++ Edition - Seth D. Bergmann (PDF)
- Compiler Design: Theory, Tools, and Examples, Java Edition - Seth D. Bergmann (PDF)
- Compiling Scala for the Java Virtual Machine - Michel Schinz (PDF)
- Compiling Techniques (1969) - F.R.A. Hopgood, Macdonald
- Crafting Interpreters - Bob Nystrom (HTML)
- EXPL NITC: Build your own Compiler - Murali Krishnan K., students in the Department of Computer Science and Engineering of the Calicut National Institute of Technology (HTML)
- Implementing Functional Languages: A Tutorial - Simon Peyton Jones, David Lester
- Introduction to Compilers and Language Design - Douglas Thain (PDF)
- Let’s Build a Compiler - Jack W. Crenshaw (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)
- Digital Circuit Projects: An Overview of Digital Circuits Through Implementing Integrated Circuits - Second Edition - Charles W. Kann (PDF)
Computer Science
- A Data-Centric Introduction to Computing - Kathi Fisler, Shriram Krishnamurthi, Benjamin S. Lerner, Joe Gibbs Politz (HTML)
- Computational Thinking - Jeannette Wing, Carnegie-Mellon University (PDF)
- Computer Science Class XI - CBSE (PDF)
- Computer Science Class XII - CBSE (PDF)
- Computer Science I - Chris Bourke (PDF)
- Computer Science II - Chris Bourke (PDF)
- CS Principles: Big Ideas in Programming - Mark Guzdial, Barbara Ericson (HTML)
- Pull Requests and Code Review – Sebastien Castiel
- What to Look for in a Code Review - Trisha Gee (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: Foundations and Applications - Ranjay Krishna (PDF)
- Computer Vision: Models, Learning, and Inference - Simon J.D. Prince
- Programming Computer Vision with Python - Jan Erik Solem
Containers
- CI/CD for Monorepos: Effectively building, testing, and deploying code with monorepos - Pablo Tomas Fernandez Zavalia, Marko Anastasov, SemaphoreCI (PDF, EPUB, Kindle)
- CI/CD with Docker and Kubernetes Book - Marko Anastasov, Jérôme Petazzoni, Pablo Tom F. Zavalia, SemaphoreCI (PDF, EPUB, Kindle)
- Docker Jumpstart - Andrew Odewahn
- Docker Tutorial - Anthony Baire (PDF)
- Docker Tutorial - Tutorials Point (HTML, PDF)
- Dotnet Microservices Architecture for Containerized NET Applications - Cesar de la Torre, Bill Wagner, Mike Rousos (PDF)
- Kubernetes Deployment & Security Patterns - Alex Williams (PDF)
- Kubernetes for Full-Stack Developers - Jamon Camisso, Hanif Jetha, Katherine Juell (PDF, EPUB)
- Uncomplicating Kubernetes - Jeferson Fernando
Data Science
- A Programmer’s Guide to Data Mining - Ron Zacharski (Draft)
- Data Jujitsu: The Art of Turning Data into Product (email address requested, not required)
- Data Mining Algorithms In R - Wikibooks
- Data Mining Concepts and Techniques - Jiawei Han, Micheline Kamber, Jian Pei (PDF) ( archived)
- Data Science at the Command Line - Jeroen Janssens
- Elements of Data Science - Allen B. Downey
- Feature Engineering and Selection: A Practical Approach for Predictive Models - Max Kuhn, Kjell Johnson
- Foundations of Data Science - Avrim Blum, John Hopcroft, Ravindran Kannan (PDF)
- Fundamentals of Data Visualization - Claus O. Wilke (HTML)
- Hands-On Data Visualization - Jack Dougherty, Ilya Ilyankou (HTML)
- High-Dimensional Data Analysis with Low-Dimensional Models: Principles, Computation, and Applications - John Wright, Yi Ma (PDF)
- Internet Advertising: An Interplay among Advertisers, Online Publishers, Ad Exchanges and Web Users (PDF)
- Introduction to Cultural Analytics & Python - Melanie Walsh
- Introduction to Data Science - Jeffrey Stanton
- Mining of Massive Datasets - Jure Leskovec, Anand Rajaraman, Jeffrey D. Ullman (PDF)
- Probability and Statistics with Examples using R - Siva Athreya, Deepayan Sarkar, Steve Tanner (HTML) ( in process)
- School of Data Handbook
- Statistical inference for data science - Brian Caffo
- The Ultimate Guide to 12 Dimensionality Reduction Techniques (with Python codes) - Pulkit Sharma
- Theory and Applications for Advanced Text Mining
Database
- Database Design – 2nd Edition - Adrienne Watt, Nelson Eng @ BCcampus Open Pressbooks (HTML, PDF, EPUB, Kindle)
- Database Design Succinctly - Joseph D. Booth (HTML, PDF, EPUB, MOBI)
- Database Explorations - C.J. Date, Hugh Darwen (PDF)
- Database Fundamentals - Neeraj Sharma et al. (PDF)
- Database Management Systems Solutions Manual Third Edition - Raghu Ramakrishnan, Johannes Gehrke, Jeff Derstadt, Scott Selikof, and Lin Zhu (PDF)
- Databases, Types, and The Relational Model: The Third Manifesto - C.J. Date, Hugh Darwen (PDF)
- Foundations of Databases
- Readings in Database Systems, 5th Ed.
- Temporal Database Management - Christian S. Jensen
- The Theory of Relational Databases
Embedded Systems
- Control and Embedded Systems (HTML)
- Discovering the STM32 Microcontroller (PDF)
- First Steps with Embedded Systems - Byte Craft Limited (PDF)
- Introduction to Embedded Systems, Second Edition - Edward Ashford Lee, Sanjit Arunkumar Seshia (PDF)
- Introduction to Microcontrollers (HTML)
- Mastering the FreeRTOS Real Time Kernel - a Hands On Tutorial Guide - freertos.org (PDF)
Game Development
- 2D Game Development: From Zero To Hero - Daniele Penazzo (HTML, PDF, EBPUB, Kindle…) ( in process)
- 3D Math Primer for Graphics and Game Development - Fletcher Dunn (HTML)
- 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
- Level up your code with game programming patterns - Unity (HTML & PDF)
- 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 (PDF)
- Introduction to Modern OpenGL - Alexander Overvoorde (HTML, EPUB, PDF) (C++)
- Introduction to TouchDesigner 099 (Leanpub account or valid email requested)
- JPEG - Idea and Practice
- Learn Computer Graphics From Scratch! - Scratchapixel ( in process)
- Learn OpenGL - Joey de Vries
- Learn OpenGL RS - Benjamin Wasty, et al. ( in process)
- Learning Modern 3D Graphics Programming - Jason L. McKesson (draft) ( archived)
- Notes for a Computer Graphics Programming Course - Steve Cunningham (PDF)
- OpenGL - Concepts and illustrations
- Physically Based Rendering, Third Edition: from Theory to Implementation - Matt Pharr, Wenzel Jakob, Greg Humphreys
- Ray Tracing Gems - Eric Haines, Tomas Akenine-Möller
- Ray Tracing Gems II - Adam Marrs, Peter Shirley, Ingo Wald
- Ray Tracing in One Weekend - Peter Shirley (HTML)
- ShaderX series - Wolfgang Engel
- Tutorials for modern OpenGL
- Virtual Reality - Steven M. LaValle
- WebGL Insights - Patrick Cozzi, et al.
Graphical User Interfaces
- Event-Driven GTK by Example — 2021 Edition - Michael Murphy
- GUI development with Relm4 - Aaron Erhardt
- GUI development with Rust and GTK 4 - Julian Hofer
- Programming with gtkmm 4
- Search User Interfaces - Marti A. Hearst
- Web Design Primer - Richard Adams, Ahmed Sagarwala
- Web Style Guide Online - Patrick J. Lynch, Sarah Horton
IDE and editors
See also … Emacs Lisp, Regular Expressions
- A Byte of Vim - Swaroop (PDF)
- GNU Emacs Manual - Free Software Foundation Inc. (HTML, PDF)
- Learn Vim (the Smart Way) - Igor Irianto (HTML) ( in process)
- Learn Vim For the Last Time - Daniel Miessler
- Learn Vim Progressively - Yann Esposito
- Learn Vimscript the Hard Way - Steve Losh
- The Craft of Text Editing or A Cookbook for an Emacs - Craig A. Finseth (HTML, PDF, ePUB, Kindle, PostScript, LaTeX)
- Vi Improved – Vim - Steve Oualline (PDF)
- VIM-GALORE - All things Vim! - Marco Hinz (HTML)
- Vim Recipes - Run Paint Run Run, Run Paint Press (PDF) ( archived)
- Vim Reference Guide - Sundeep Agarwal
- Vim Regular Expressions 101 - Oleg Raisky
- Visual Studio .NET Tips and Tricks - Minh T. Nguyen (PDF)
- Visual Studio 2019 Succinctly - Alessandro Del Sole (online, PDF)
Information Retrieval
- Information Retrieval: A Survey (PDF)
- Information Retrieval: Implementing and Evaluating Search Engines - Stefan Böttcher, Charles L. A. Clarke, Gordon V. Cormack (PDF)
- Introduction to Information Retrieval
Licensing
- Creative Commons: a user guide - Simone Aliprandi (PDF)
- 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 - Max Welling (PDF) ( archived)
- A Selective Overview of Deep Learning - Fan, Ma, Zhong (PDF)
- Algorithms for Reinforcement Learning - Csaba Szepesvári (PDF)
- An Introduction to Statistical Learning - Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani
- Approaching Almost Any Machine Learning Problem - Abhishek Thakur (PDF)
- Bayesian Reasoning and Machine Learning
- Deep Learning - Ian Goodfellow, Yoshua Bengio, Aaron Courville
- Deep Learning for Coders with Fastai and PyTorch - Jeremy Howard, Sylvain Gugger (Jupyter Notebooks)
- Dive into Deep Learning
- Explorations in Parallel Distributed Processing: A Handbook of Models, Programs, and Exercises - James L. McClelland
- Foundations of Machine Learning, Second Edition - Mehryar Mohri, Afshin Rostamizadeh, Ameet Talwalkar
- Free and Open Machine Learning - Maikel Mardjan (HTML)
- Gaussian Processes for Machine Learning - Carl Edward Rasmussen, Christopher K.I. Williams
- IBM Machine Learning for Dummies - Judith Hurwitz, Daniel Kirsch
- Information Theory, Inference, and Learning Algorithms - David J.C. MacKay
- Interpretable Machine Learning - Christoph Molnar
- Introduction to CNTK Succinctly - James McCaffrey
- Introduction to Machine Learning - Amnon Shashua
- Keras Succinctly - James McCaffrey
- Learn Tensorflow - Jupyter Notebooks
- Learning Deep Architectures for AI - Yoshua Bengio (PDF)
- Machine Learning
- Machine Learning for Beginners - Microsoft
- Machine Learning for Data Streams - Albert Bifet, Ricard Gavaldà, Geoff Holmes, Bernhard Pfahringer
- Machine Learning from Scratch - Danny Friedman (HTML, PDF, Jupyter Book)
- Machine Learning, Neural and Statistical Classification - D. Michie, D.J. Spiegelhalter, C.C. Taylor
- Machine Learning Simplified - Andrew Wolf
- Machine Learning with Python - Tutorials Point (HTML, PDF)
- Mathematics for Machine Learning - Garrett Thomas (PDF)
- Mathematics for Machine Learning - Marc Peter Deisenroth, A Aldo Faisal, Cheng Soon Ong
- Neural Network Design (2nd Edition) - Martin T. Hagan, Howard B. Demuth, Mark H. Beale, Orlando De Jesús (PDF)
- Neural Networks and Deep Learning
- Pattern Recognition and Machine Learning - Christopher M. Bishop (PDF)
- Practitioners guide to MLOps - Khalid Samala, Jarek Kazmierczak, Donna Schut (PDF)
- Probabilistic Machine Learning - An Introduction - Kevin P. Murphy (PDF)
- Probabilistic Models in the Study of Language (Draft, with R code)
- Python Machine Learning Projects - Lisa Tagliaferri, Brian Boucheron, Michelle Morales, Ellie Birkbeck, Alvin Wan (PDF, EPUB, Kindle)
- Reinforcement Learning: An Introduction - Richard S. Sutton, Andrew G. Barto (PDF)
- Speech and Language Processing (3rd Edition Draft) - Daniel Jurafsky, James H. Martin (PDF)
- The Elements of Statistical Learning - Trevor Hastie, Robert Tibshirani, and Jerome Friedman
- The LION Way: Machine Learning plus Intelligent Optimization - Roberto Battiti, Mauro Brunato (PDF)
- The Little Book of Deep Learning - François Fleuret (PDF)
- The Mathematical Engineering of Deep Learning - Benoit Liquet, Sarat Moka, Yoni Nazarathy
- The Mechanics of Machine Learning - Terence Parr, Jeremy Howard
- The Python Game Book - Horst Jens ( archived)
- Top 10 Machine Learning Algorithms Every Engineer Should Know - Binny Mathews, Omair Aasim
- Understanding Machine Learning: From Theory to Algorithms - Shai Shalev-Shwartz, Shai Ben-David
Mathematics
- A Computational Introduction to Number Theory and Algebra - Victor Shoup
- A Computational Logic (1979) - Robert S. Boyer, J Strother Moore (PDF)
- A Cool Brisk Walk Through Discrete Mathematics - Stephen Davies (PDF)
- A First Course in Complex Analysis - Matthias Beck, Gerald Marchesi, Dennis Pixton, Lucas Sabalka (PDF)
- A First Course in Linear Algebra - Rob Beezer
- A Friendly Introduction to Mathematical Logic - Christopher C. Leary, Lars Kristiansen
- A Gentle Introduction to the Art of Mathematics - Joseph E. Fields
- A Programmer’s Introduction to Mathematics - Jeremy Kun
- A Quick Steep Climb Up Linear Algebra - Stephen Davies (PDF)
- Abstract Algebra: Theory and Applications - Tom Judson
- Active Calculus - Matt Boelkins
- Advanced Algebra - Anthony W. Knapp (PDF)
- Algebra: Abstract and Concrete - Frederick Goodman
- Algebra: An Elementary Text-Book, Part I (1904) - G. Chrystal (PDF)
- Algebra: An Elementary Text-Book, Part II (1900) - G. Chrystal (PDF)
- Algebraic Topology - Allen Hatcher (PDF)
- An Infinite Descent into Pure Mathematics - Clive Newstead (PDF)
- An Introduction to the Theory of Numbers - Leo Moser (PDF)
- Analytic Geometry (1922) - Lewis Parker Siceloff, George Wentworth, David Eugene Smith (PDF)
- APEX Calculus - Gregory Hartman, Brian Heinold, Troy Siemers, and Dimplekumar Chalishajar
- Applied Combinatorics - Mitchel T. Keller, William T. Trotter
- Applied Discrete Structures - Alan Doerr, Kenneth Levasseur
- Basic Algebra - Anthony W. Knapp (PDF)
- Basic Analysis: Introduction to Real Analysis - Jiří Lebl
- Basics of Algebra, Topology, and Differential Calculus (PDF)
- Bayesian Methods for Hackers - Cameron Davidson-Pilon
- Beginning and Intermediate Algebra - Tyler Wallace
- Book of Proof - Richard Hammack (PDF)
- Calculus - Gilbert Strang
- Calculus I - Jerrold E. Marsden, Alan Weinstein
- Calculus in Context - James Callahan
- Calculus Made Easy - Silvanus P. Thompson (PDF)
- Calculus Volume 1 - Edwin Herman, Gilbert Strang (PDF)
- Calculus Volume 2 - Edwin Herman, Gilbert Strang (PDF)
- Calculus Volume 3 - Edwin Herman, Gilbert Strang (PDF)
- Category Theory for the Sciences - David I. Spivak (PDF)
- CK-12 Probability and Statistics - Advanced
- CLP-1 Differential Calculus - Joel Feldman, Andrew Rechnitzer, Elyse Yeager
- CLP-2 Integral Calculus - Joel Feldman, Andrew Rechnitzer, Elyse Yeager
- CLP-3 Multivariable Calculus - Joel Feldman, Andrew Rechnitzer, Elyse Yeager
- CLP-4 Vector Calculus - Joel Feldman, Andrew Rechnitzer, Elyse Yeager
- Collaborative Statistics
- College Trigonometry - Carl Stitz, Jeff Zeager (PDF)
- Combinatorics Through Guided Discovery - Kenneth Bogart
- Complex Analysis - George Cain
- Computational and Inferential Thinking. The Foundations of Data Science - Ani Adhikari, John DeNero, David Wagner
- Computational Geometry
- Computational Mathematics with SageMath - Paul Zimmermann, Alexandre Casamayou, Nathann Cohen, Guillaume Connan, et al. (PDF)
- Concepts & Applications of Inferential Statistics
- Convex Optimization - Stephen Boyd, Lieven Vandenberghe
- Coordinate Geometry (1911) - Henry Buchard Fine, Henry Dallas Thompson (PDF)
- Differential Equations - Paul Dawkins (PDF, use download menu to download)
- Differential Equations (1922) - H. B. Phillips (PDF)
- Discrete Mathematics: An Open Introduction - Oscar Levin
- Discrete Mathematics: First and Second Course - Edward A. Bender, S. Gill Williamson
- Elementary Differential Equations - William F. Trench (PDF)
- Elementary Differential Equations (with Boundary Value Problems) - William F. Trench
- Elementary Number Theory: Primes, Congruences, and Secrets - William Stein
- Elementary Real Analysis - Brian S. Thomson, Judith B. Bruckner, Andrew M. Bruckner
- Elements of Abstract and Linear Algebra - E. H. Connell
- Elements of Differential and Integral Calculus (1911) - William Anthony Granville (PDF)
- Essentials of Metaheuristics - Sean Luke
- First Course in Algebra (1910) - Herbert E. Hawkes, William A. Luby, Frank C. Touton (PDF)
- Foundations of Combinatorics with Applications - Edward A. Bender, S. Gill Williamson
- Foundations of Constructive Probability Theory - Yuen-Kwok Chan (PDF)
- Geometry with an Introduction to Cosmic Topology - Michael P. Hitchman
- Graph Theory
- Guide to Discrete Mathematics - David Gries, Fred B. Schneider (PDF)
- How We Got from There to Here: A Story of Real Analysis - Robert Rogers, Eugene Boman
- Introduction to Modern Statistics - Mine Çetinkaya-Rundel, Johanna Hardin (HTML, PDF) (email address required for PDF)
- Introduction to Probability - Charles M. Grinstead, J. Laurie Snell (PDF)
- Introduction to Probability and Statistics Spring 2014
- Introduction to Proofs - Jim Hefferon
- Introduction to Real Analysis - William F. Trench
- Introduction to Statistical Thought - Michael Lavine
- Introductory Statistics for the Life and Biomedical Sciences - Julie Vu, David Harrington
- Kalman and Bayesian Filters in Python
- Knapsack Problems - Algorithms and Computer Implementations - Silvano Martello, Paolo Toth
- Lecture Notes of Linear Algebra - P. Shunmugaraj, IIT Kanpur (PDF)
- Lecture Notes on Linear Algebra - Dr. Arbind K Lal, Sukant Pati (PDF) ( in process)
- Lies, Damned Lies, or Statistics: How to Tell the Truth with Statistics - Jonathan A. Poritz (PDF)
- Linear Algebra - David Cherney et al. (PDF)
- Linear Algebra - Jim Hefferon
- Linear Algebra Done Right - Sheldon Axler
- Linear Algebra Done Wrong - Sergei Treil
- Linear Algebra, Infinite Dimensions, and Maple - James Herod
- Linear Methods of Applied Mathematics - Evans M. Harrell II, James V. Herod
- Magic Squares and Cubes (1917) - W. S. Anderson (PDF)
- Math in Society - David Lippman
- Mathematical Analysis I - Elias Zakon
- Mathematical Discovery - Andrew M. Bruckner, Brian S. Thomson, Judith B. Bruckner
- Mathematical Logic - an Introduction (PDF)
- Mathematical Reasoning: Writing and Proof - Ted Sundstrom
- Mathematics, MTH101A - P. Shunmugaraj, IIT Kanpur
- Multivariable Calculus - George Cain, James Herod
- Non-Uniform Random Variate Generation - Luc Devroye (PDF)
- Notes on Diffy Qs - Jiří Lebl
- Number Theory - Holden Lee MIT
- Number Theory: In Context and Interactive - Karl-Dieter Crisman (HTML, PDF)
- Odds and Ends: Introducing Probability & Decision with a Visual Emphasis - Jonathan Weisberg
- Online Statistics Education - David Lane
- OpenIntro Statistics - David M. Diez, Christopher D. Barr, Mine Çetinkaya-Rundel
- ORCCA: Open Resources for Community College Algebra - Portland Community College
- Ordinary Differential Equations - Wikibooks
- Paul’s Online Notes: Algebra, Calculus I-III and Differential Equations - Paul Dawkins @ Lamar University
- Plane Geometry (1913) - George Wentworth, David Eugene Smith (PDF)
- Planes and Spherical Trigonometry (1915) - George Wentworth, David Eugene Smith (PDF)
- Precalculus - Carl Stitz, Jeff Zeager (PDF)
- Probability and Statistics Cookbook
- Probability and Statistics EBook
- Probability: Lectures and Labs - Mark Huber
- Proofs and Types - Jean-Yves Girard, Yves Lafont, Paul Taylor
- Recreations in Math - H. E. Licks (PDF)
- Sage for Undergraduates - Gregory Bard
- Second Course in Algebra - Herbert E. Hawkes, William A. Luby, Frank C. Touton (PDF)
- Seven Sketches in Compositionality: An Invitation to Applied Category Theory - Brendan Fong, David I. Spivak (PDF)
- Statistical Thinking for the 21st Century - Russell A. Poldrack
- Statistics Done Wrong - Alex Reinhart
- SticiGui - Philip Stark
- Tea Time Numerical Analysis - Leon Q. Brin
- The Open Logic Text - Open Logic Project (PDF)
- Think Bayes: Bayesian Statistics Made Simple - Allen B. Downey
- Think Stats: Probability and Statistics for Programmers - Allen B. Downey (using Python)
- Vector Calculus - Michael Corral
- Yet Another Introductory Number Theory Textbook - Jonathan A. Poritz (PDF)
Mathematics For Computer Science
- A Mathematical Theory of Communication - Claude E.Shannon
- Combinatorial Problems And Exercises (1979) - L. Lovasz
- Discrete Structures for Computer Science: Counting, Recursion, and Probability - Michiel Smid
- Exploring Math for Programmers and Data Scientists - Paul Orland
- Graph Theory Exercises - Paulo Feofiloff (PDF)
- Isomorphism – Mathematics of Programming - Larry LIU Xinyu
- Mathematics for Computer Science - Eric Lehman, F. Thomson Leighton, Albert R. Meyer (PDF)
Misc
- 10 Keys to Great Landing Pages - iThemes Media (PDF)
- 2016 European Software Development Salary Survey - Andy Oram, John King (HTML)
- 2016 Software Development Salary Survey - John King, Roger Magoulas (HTML)
- A MACHINE MADE THIS BOOK ten sketches of computer science - JOHN WHITINGTON (PDF)
- Ansible Up & Running (first three chapters) (account required)
- Asterisk™: The Definitive Guide - Leif Madsen, Jim Van Meggelen, Russell Bryant (HTML)
- Atomic Design - Brad Frost
- Barcode Overview (PDF)
- Come, Let’s Play: Scenario-Based Programming Using Live Sequence Charts - David Harel, Rami Marelly
- Communicating Sequential Processes - Tony Hoare (PDF)
- Confessions of an Unintentional CTO: Lessons in Growing a Web App - Jack Kinsella
- Culture \& Empire: Digital Revolution - Pieter Hintjens (PDF)
- Design With FontForge
- Designing Interfaces - Jennifer Tidwell
- DevDocs - Documents for Developers in 1 place
- DevOps For Dummies, 3rd IBM Limited Edition - Sanjeev Sharma, Bernie Coyne (PDF)
- Digital Signal Processing For Communications - Paolo Prandoni, Martin Vetterli
- Digital Signal Processing For Engineers and Scientists - Steven W. Smith
- Digital Signal Processing in Python - Allen B. Downey
- “DYNAMIC LINKED LIBRARIES”: Paradigms of the GPL license in contemporary software - Luis A. Enríquez
- Encyclopedia of Human Computer Interaction 2nd Edition
- Essential Image Optimization - Addy Osmani
- Foundations of Programming - Karl Seguin (PDF)
- Front-End Developer Handbook 2016 - Cody Lindley (HTML)
- Front-End Developer Handbook 2017 - Cody Lindley (HTML)
- Front-End Developer Handbook 2018 - Cody Lindley (HTML)
- Front-End Developer Handbook 2019 - Cody Lindley (HTML)
- Getting Real - Basecamp, 37signals (HTML, PDF)
- GNU GREP and RIPGREP - Sundeep Agarwal
- Google Maps API Succinctly - Mark Lewin
- Hacknot: Essays on Software Development - Ed Johnson
- Hello SDL - Lazy Foo’ Productions
- High-Performance Scientific Computing (class lectures and slides)
- HoloLens Succinctly - Lars Klint
- How Computers Work - R. Young
- How to Become a Programmer - Rob Walling (PDF)
- How To Manage Remote Servers with Ansible - Erika Heidi (PDF, EPUB)
- How to Think Like a Computer Scientist - Peter Wentworth, Jeffrey Elkner, Allen B. Downey, Chris Meyers
- Image Processing in C: Analyzing and Enhancing Digital Images - Dwayne Phillips
- Information Technology and the Networked Economy - Patrick McKeown (PDF) ( archived)
- Introduction to Scientific Programming in C++ and Fortran - Victor Eijkhout (PDF)
- IRPF90 Fortran code generator - Anthony Scemama
- Learn Programming - Antti Salonen
- Learn to Program - Chris Pine
- Learning 30 Technologies in 30 Days: A Developer Challenge - Shekhar Gulati
- Linked Data Patterns: A pattern catalogue for modelling, publishing, and consuming Linked Data - Leigh Dodds, Ian Davis
- Magic Ink: Information Software and The Graphical Interface - Bret Victor
- Mobile Developer’s Guide to the Galaxy (HTML)
- Modeling Reactive Systems with Statecharts - D. Harel, M. Politi
- MSIX Succinctly - Matteo Pagani
- Networks, Crowds, and Markets: Reasoning About a Highly Connected World - David Easley, Jon Kleinberg
- Object-Oriented Reengineering Patterns - Serge Demeyer, Stéphane Ducasse, Oscar Nierstrasz
- Open Government; Collaboration, Transparency, and Participation in Practice - Daniel Lathrop, Laurel Ruma
- PDQ: Pretty Darn Quick: An Agile, All-Purpose Methodology - Jeff Franz-Lien (Leanpub account or valid email requested)
- Philosophy of Computer Science (PDF)
- PNG: The Definitive Guide - Greg Roelofs
- Pointers And Memory - Nick Parlante (PDF)
- Programming Fundamentals - Kenneth Leroy Busbee, Dave Braunschweig
- Programming with Unicode
- Real-World Maintainable Software - Abraham Marin-Perez
- Record-Playback Test Automation: Sahi & Selenium IDE: Critical Evaluation of Record-Playback Automation Tools - Shashikant Jagtap (Leanpub account or valid email requested)
- Scientific Programming and Computer Architecture - Divakar Viswanath
- Signal Computing: Digital Signals in the Software Domain - Michael Stiber, Bilin Zhang Stiber, Eric C. Larson (PDF)
- Small Memory Software - Charles Weir, James Noble (HTML)
- Software Technical Writing: A Guidebook - James Gallagher (PDF)
- Web Almanac (PDF)
- Writing Native Mobile Apps in a Functional Language Succinctly - Vassili Kaplan
Networking
- An Introduction to Computer Networks (HTML, PDF, Kindle)
- Beej’s Guide to Network Programming - Using Internet Sockets - Brian “Beej Jorgensen” Hall (HTML, PDF)
- Bits, Signals, and Packets: An Introduction to Digital Communications and Networks
- Code Connected vol.1 (PDF) (book on ZeroMQ)
- Computer Networking : Principles, Protocols and Practice (HTML, ePub, PDF, Kindle)
- Computer Networks - J.Vinoth kumar (PDF)
- Computer Networks: A Systems Approach - Larry Peterson, Bruce Davie (HTML, epub, mobi, PDF)
- Distributed systems for fun and profit
- High-Performance Browser Networking - Ilya Grigorik
- How HTTPS Works - DNSimple
- HTTP Succinctly, Syncfusion (PDF, Kindle) (email address requested, not required)
- HTTP2 Explained - Daniel Stenberg
- Introduction to HTTP - Launch School
- IPv6 for IPv4 Experts - Yar Tikhiy (PDF)
- Kafka gentle introduction - Mitch Seymour
- Kafka, The definitive Guide - Neha Narkhede (PDF)
- Linux IP Stacks Commentary - Stephen Satchell, H. B. J. Clifford (HTML) ( in process)
- Mininet Walkthrough
- Network Science - Albert-Laszló Barabási
- Networking! ACK! - Julia Evans (PDF)
- Securing Wireless Networks for the Home User Guide - Mohamed Adel (HTML)
- The TCP/IP Guide
- Understanding IP Addressing: Everything you ever wanted to know (PDF)
- ZeroMQ Guide
Object Oriented Programming
- Object Oriented Programming - Robert Harle (PDF)
- OOP – Learn Object Oriented Thinking and Programming - Rudolf Pecinovsky (PDF)
Open Source Ecosystem
- 500 lines or less - Build from Source Code
- Contributing to opensource: the right way - Daniele Scasciafratte
- 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
- Roads and Bridges: The Unseen Labor Behind Our Digital Infrastructure - Nadia Eghbal
- 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 - Ian Wienand (PDF)
- Flexible Operating System Internals: The Design and Implementation of the Anykernel and Rump Kernels - Antti Kantee (PDF)
- How to Make a Computer Operating System - Samy Pesse ( in process)
- How to write a simple operating system in assembly language - Mike Saunders (HTML)
- Making Servers Work: A Practical Guide to Linux System Administration - Jamon Camisso (PDF, EPUB)
- Operating Systems and Middleware - Max Hailperin (PDF, LaTeX)
- Operating Systems: From 0 to 1 - Tu, Ho Doang (PDF) ( in process)
- Operating Systems: Three Easy Pieces - Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau (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 (HTML)
- The Little Book About OS Development - Erik Helin, Adam Renberg - (PDF, HTML)
- The Little Book of Semaphores - Allen B. Downey (PDF)
- Think OS: A Brief Introduction to Operating Systems - Allen B. Downey (PDF)
- UNIX Application and System Programming, lecture notes - Stewart Weiss (PDF)
- Writing a Simple Operating System from Scratch - Nick Blundell (PDF)
- Xv6, a simple Unix-like teaching operating system - Russ Cox, Frans Kaashoek and Robert Morris (PDF, HTML)
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 - Neil D. Jones, C.K. Gomard, Peter Sestoft (PDF)
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
- How to Learn to Code & Get a Developer Job in 2023 - Quincy Larson
- How to Stand Out as a Software Engineer - Landry Monga (PDF)
- 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)
- Teaching Tech Together - Greg Wilson (HTML)
- What I’ve Learned From Failure - Reginald Braithwaite
Programming
- A Short Introduction to the Art of Programming (1971) - Edsger W. Dijkstra (HTML)
- Design of a Programmer - Prakash Hegade (PDF)
- Introduction to Computer Science - Subhashis Banerjee, IIT Delhi
- Introduction to Computing - David Evans
- Principled Programming / Introduction to Coding in Any Imperative Language - Tim Teitelbaum
- Programming and Programming Languages - Shriram Krishnamurthi
- Programming Languages: Application and Interpretation (2nd Edition) - Shriram Krishnamurthi
- Structure and Interpretation of Computer Programs - Harold Abelson, Gerald Jay Sussman, Julie Sussman (PDF)
- Structure and Interpretation of Computer Programs - Harold Abelson, Gerald Jay Sussman, Julie Sussman (HTML)
- The Black Art of Programming - Mark McIlroy
- The Craft of Programming - John C. Reynolds
- The Nature of Code - Daniel Shiffman (HTML)
- The Super Programmer - Keyvan Kambakhsh (PDF, HTML) ( in process)
- Think Complexity - - Allen B. Downey (2nd Edition) (PDF, HTML)
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
Prompt Engineering
- DALLE-E 2 prompt book - Dallery.Gallery, Guy Parson (PDF)
- Guide to Prompt Engineering - CodeAhoy (HTML)
- Prompt Engineering Guide - DAIR.AI (HTML)
Quantum Computing
- Introduction to Classical and Quantum Computing - Thomas G. Wong (PDF)
- Introduction to Quantum Information - Stephen M. Barnett (PDF)
- Learn Quantum Computation using Qiskit - Frank Harkins, et al. (HTML)
- Quantum Algorithms - Michele Mosca (PDF)
- Quantum Computing for the Quantum Curious - Ciaran Hughes, Joshua Isaacson, Anastasia Perry, Ranbel F. Sun, Jessica Turner (HTML, PDF, EPUB)
- Quantum Information Theory - Mark M. Wilde (PDF)
- The Functional Analysis of Quantum Information Theory - Ved Prakash Gupta, Prabha Mandayam, V. S. Sunder (PDF)
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
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 Certified Engineer notes - (HTML)
- 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 & Privacy
- A Graduate Course in Applied Cryptography
- Crypto 101 - Crypto for everyone
- Cryptography - Wikibooks (HTML) ( in process)
- CryptoParty Handbook
- Gray Hat Hacking: The Ethical Hacker’s Handbook - Allen Harper, Jonathan Ness, Chris Eagle, Shon Harris, Gideon Lenkey, Terron Williams (PDF)
- Handbook of Applied Cryptography
- How HTTPS works - dnsimple
- How to deal with Passwords
- Information Security Management - Marcos Sêmola (PDF)
- Intrusion Detection Systems with Snort (PDF)
- OpenSSL Cookbook
- OWASP Mobile Security Testing Guide - Bernhard Mueller et al.
- OWASP Testing Guide 4.2 - The OWASP® Foundation (HTML, PDF)
- OWASP Top 10 for .NET Developers
- Practical Cryptography for Developer - Svetlin Nakov (GitBook) ( in process)
- Programming Differential Privacy - Joseph Near, Chiké Abuah (HTML, PDF)
- Security Engineering
- The Joy of Cryptography (2021) - Mike Rosulek (PDF)
- The MoonMath Manual to zk-SNARKs - Least Authority
Software Architecture
- A Primer on Design Patterns - Rahul Batra (HTML)
- Agile Planning: From Ideas to Story Cards - Launch School
- Architectural Styles and the Design of Network-based Software Architectures - Roy Thomas Fielding
- Best Kept Secrets of Peer Code Review
- Building Secure & Reliable Systems - Heather Adkins, Betsy Beyer, Paul Blankinship, Piotr Lewandowski, Ana Oprea, Adam Stubblefield (PDF)
- Code Simplicity: The Fundamentals of Software - Max Kanat-Alexander (PDF)
- Data-Oriented Design
- Designing Event-Driven Systems. Concepts and Patterns for Streaming Services with Apache Kafka - Ben Stopford (PDF)
- Developing Reactive Microservices (email address requested, not required)
- Domain Driven Design Quickly
- Domain-Driven Design Reference - Eric Evans
- DSL Engineering: Designing, Implementing and Using Domain-Specific Languages - Markus Voelter
- Exploring CQRS and Event Sourcing - Dominic Betts, Julián Domínguez, Grigori Melnik, Mani Subramanian, Fernando Simonazzi (EPUB, PDF - code samples)
- Guide to the Software Engineering Body of Knowledge (email address requested)
- How to Design Programs
- How to Write Unmaintainable Code
- Kanban and Scrum - making the most of both
- Microservices AntiPatterns and Pitfalls - Mark Richards (PDF) ( archived)
- Microservices vs. Service-Oriented Architecture - Mark Richards (HTML)
- Migrating to Cloud-Native Application Architectures (email address requested) (PDF)
- Naked objects - Richard Pawson (PDF)
- OAuth - The Big Picture (email address requested)
- Object-Oriented Reengineering Patterns - S. Demeyer, S. Ducasse, O. Nierstrasz
- Practicing Domain-Driven Design - Part 1 - Scott Millett (Leanpub account or valid email requested)
- Reactive Microservices Architecture (email address requested)
- Reactive Microsystems: The Evolution of Microservices at Scale (email address requested)
- Refactor Like a Superhero - Alex Bespoyasov
- Scrum and XP from the Trenches
- Serverless apps: Architecture, patterns, and Azure implementation
- Serverless Design Patterns and Best Practices - Brian Zambrano (Packt account required)
- Shape Up - Stop Running in Circles and Ship Work that Matters - Ryan Singer (PDF)
- Site Reliability Engineering
- Software Architecture Patterns (email address requested, not required)
- Software Engineering for Internet Applications
- Source Making Design Patterns and UML
- Test Driven Development, Extensive Tutorial - Grzegorz Gałęzowski
- The Catalog of Design Patterns
- The Site Reliability Workbook - Betsy Beyer, Niall Richard Murphy, David K. Rensin, Kent Kawahara, Stephen Thorne
- Web API Design - Brian Mulloy (PDF)
- Working with Web APIs - Launch School
- Your API Is Bad - Paddy Foran
Standards
Theoretical Computer Science
- 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)
- Homotopy Type Theory: Univalent Foundations of Mathematics (PDF)
- Introduction to Theory of Computation - Anil Maheshwari, Michiel Smid (PDF)
- Models of Computation - John E. Savage
- Principles of Programming Languages - Scott F. Smith ( archived)
- 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)
Version Control Systems
- A git Primer - Daniel Miessler
- A Visual Git Reference - Mark Lodato
- Conversational Git - Alan Hohn
- get-git - Arialdo Martini (HTML, PDF, EPUB)
- git - the simple guide - Roger Dudler (HTML)
- Git cookbook - Dennis Kaarsemaker (HTML)
- Git for Computer Scientists - Tommi Virtanen
- Git From The Bottom Up - J. Wiegley
- Git Immersion - Jim Weirich (HTML)
- Git In The Trenches - Peter Savage
- Git internals - Scott Chacon (PDF)
- Git Magic - Ben Lynn, et al. (HTML, PDF, EPUB)
- Git Notes for Professionals - Compiled from StackOverflow Documentation (PDF)
- Git Pocket Guide - Richard E. Silverman
- Git Reference - The GitHub team ( archived)
- Git Succinctly, Syncfusion - Ryan Hodson (PDF, Kindle) (email address requested, not required)
- Git Tutorial - Tutorials Point (HTML, PDF)
- Git-Tutorial For-Beginners - HubSpot Product Team
- Git Workflows - Yan Pritzker ( archived)
- Happy Git and GitHub for the useR - Jenny Bryan
- Hg Init: a Mercurial Tutorial - Joel Spolsky
- How to Collaborate on GitHub: A mini book about collaborating on GitHub - André J
- Introduction to Git and Github - Launch School
- Introduction to Git and Github - Tutorial - Chris Bourke (PDF)
- Introduction to Git and GitHub eBook - Bobby Iliev (Markdown, PDF)
- Learn Git - Learn Version Control with Git - Tobias Günther
- Mercurial: The Definitive Guide - Bryan O’Sullivan
- Mercurial: The Definitive Guide 2nd edition - Bryan O’Sullivan
- Pro Git - Scott Chacon, Ben Straub (HTML, PDF, EPUB, Kindle)
- Pro Git Reedited - Jon Forrest
- Ry’s Git Tutorial - Ryan Hodson ( archived)
- Subversion Version Control - William Nagel (PDF)
- Think Like (a) Git: A Guide for the Perplexed - Sam Livingston-Gray
- Version Control with Subversion - Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato
Web 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)