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