Skip to main content ↓
A collage of open books with pages spread out, covering the entire frame, showcasing a variety of texts on yellowed pages.

15 Free Books for People Who Code

This is a collection of free programming books that are in digital/online format. The books in this list provide timeless insights that are universally applicable to all programming languages. Note: Some of the books in this collection might use a specific programming language (such as Python) to illustrate general programming ideas.

0530 01 design programs

How to Design Programs

By Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi. 55 pages. This book is about the process of designing computer programs — which might mean “desktop software” or “mobile apps” or “web apps” depending on who’s reading.

0530 03 things programmer know

97 Things Every Programmer Should Know

By multiple authors.

98 web pages. Published by O’Reilly Media, this book is a collection of essays, or “pearls of wisdom for programmers collected from leading practitioners.”

0530 05 foundations computer science

Foundations of Computer Science

By Jeffrey Ullman., Alfred Aho. 775 pages. This text book was published in 1992, and has since been taken out of print. This is what the authors say about this book: “We believed in 1992 it was the way to introduce theory in Computer Science, and we believe that today.”

0530 06 intro computing

Introduction to Computing

By David Evans.

266 pages. This book covers essential computer science concepts. It uses Python and Scheme, but it’s not really a book about those two programming languages.

0530 07 codeless code

The Codeless Code

By Qi.

195 web pages. This book is a series of 195 stories in the form of fables about the art and act of software development.

0530 10 produce opensource

Producing Open Source Software

By Karl Fogel. 24 web pages. From the book: “Producing Open Source Software is a book about the human side of open source development.

It describes how successful projects operate, the expectations of users and developers, and the culture of free software.”

0530 04 patterns software

Patterns of Software (PDF)

By Richard P. Gabriel. 239 pages. This book is a set of essays exploring topics in programming.

It’s an entertaining read, and a penetrating look into the life and mind of a programmer.

0530 11 architect opensource

The Architecture of Open Source Applications

By multiple authors. This is a trilogy of books about the design/architecture of open source software. From the description: “If you are a junior developer, and want to learn how your more experienced colleagues think, these books are the place to start.”

0530 13 foundations programming

Foundations of Programming (PDF)

By Karl Seguin.

79 pages. This book is based on an article series called “Foundations of Programming” by software developer Karl Seguin. The topics — which are written from a .NET developer’s perspective — are about things all programmers care about. Examples: unit testing, memory allocation, and DRY code.

0530 12 nature code

The Nature of Code

By Daniel Shiffman. 17 web pages. This book is an exploration of naturally occurring things in our world — physics, fractals, etc. — and how they might be simulated with code.

The code samples are written in Processing.

0530 14 regex hard

Learn Regex The Hard Way

By Zed. A.

Shaw . 31 web pages. Regular expressions (regex) are powerful, but the concept can be hard to learn. Regex has been around since the 1950’s, but it’s still a huge part of modern programming.

0530 02 little intro programming

The Little Introduction To Programming

By Karl Seguin. 7 web pages. This book covers foundational programming concepts such as data types and conditional statements.

0530 08 think computer scientist

How to Think Like a Computer Scientist

By Peter Wentworth, Jeffrey Elkner, Allen B.

Downey, Chris Meyers. 39 web pages. From the book: “The single most important skill for a computer scientist is problem solving. Problem solving means the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately.”

0530 09 essential coding theory

Essential Coding Theory

By Venkatesan Guruswami, Atri Rudra, Madhu Sudan. 226 pages. This book dives deeply into mathematical concepts, algorithms, and patterns related to code.

This is by no means an easy book to read, and is reserved only for the brave.

0530 15 skills programming

Building Skills in Programming

By Steven F. Lott.

491 pages. This book uses Python to teach the learner concepts such as functions, data types, objects, conditional statements, and more.

Related Content

jacob gube smallJacob Gube is the founder of Six Revisions. He’s a front-end developer. Connect with him on Twitter.

Make estimating web design costs easy

Website design costs can be tricky to nail down. Get an instant estimate for a custom web design with our free website design cost calculator!

Try Our Free Web Design Cost Calculator
Project Quote Calculator