President of WebFX. Bill has over 25 years of experience in the Internet marketing industry specializing in SEO, UX, information architecture, marketing automation and more. William’s background in scientific computing and education from Shippensburg and MIT provided the foundation for MarketingCloudFX and other key research and development projects at WebFX.
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.
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.
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.”
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.”
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.
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.”
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.
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.
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.
The Little Introduction To Programming
By Karl Seguin. 7 web pages. This book covers foundational programming concepts such as data types and conditional statements.
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.”
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.