28 Free Computer Science Text Books

We all know how expensive textbooks can be, but there’s a wealth of them available online if you know where to look. Here are 28 free computer science textbooks to aid you with your studies. They’ll come in handy if you take advantage of one of the 120 free online computer science courses as well!

28 Free Computer Science Text Books


A Byte of Python, by Swaroop C H

A First Course in Electrical and Computer Engineering by Louis Scharf, Colorado State

Artificial Intelligence: Foundations of Computational Agents by David Poole and Alan Mackworth, University of British Columbia

Bits, Signals, and Packets: An Introduction to Digital Communications and Networks by Hari Balakrishnan, Christopher Terman, and George Verghese, MIT

Code Like a Pythonista: Idiomatic Python, by David Goodger

Computational Geometry by Nicholas M. Patrikalakis, Takashi Maekawa, MIT

Digital Circuit Projects: An Overview of Digital Circuits Through Implementing Integrated Circuits by Charles W. Kann, Gettysburg College

Dive Into Python, by Mark Pilgrim

Foundations of Computer Science by Al Aho (Columbia) and Jeff Ullman (Stanford)

High Performance Computing by Charles Severance, University of Michigan

How to Think Like a Computer Scientist: C ++ ( PDF) by Allen B. Downey, Olin College

How to Think Like a Computer Scientist: Java by Allen B. Downey, Olin College

How to Think Like a Computer Scientist: Python by Allen B. Downey, Olin College

Information Technology and the Networked Economy by Patrick McKeown, University of Georgia

Information Technology for Management by Henry Lucas, NYU

Information Theory, Inference, and Learning Algorithms by David MacKay, Cambridge

Introduction To MIPS Assembly Language Programming by Charles W. Kann III, Gettysburg College

iPad and iPhone App Development (related to this video course) by Daniel Steinberg, Stanford

Learn Python the Hard Way, by Zed A. Shaw

Philosophy of Computer Science by William J. Rapaport, University at Buffalo, The State University of New York

Principles of Computer System Design: An Introduction (Part II) by Jerome Saltzer and M. Frans Kaashoek.

Principles of Programming Languages by Grad Students, Johns Hopkins

Programming Languages: Application and Interpretation by Dr Shriram Krishnamurthi, Brown University

Prolog and Natural-Language Analysis by Fernando C. N. Pereira and Stuart M. Shieber, U Penn & Harvard

Python for Informatics: Exploring Information by Charles Severance, University of Michigan

Structure and Interpretation of Computer Programs by Jerry Sussman & Julie Sussman

Teach Yourself WordPerfect Mac by John Rethorst

The Princeton Bitcoin Textbook by Arvind Narayanan (Princeton) and colleagues