Free textbooks (aka open textbooks) written by knowledgable scholars are a relatively new phenomenon. Below, find a meta list of Free Computer Science Textbooks, part of our larger collection 200 Free Textbooks: A Meta Collection. Also see our online collection, 1,700 Free Online Courses from Top Universities.
- 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 Design Programs: An Introduction to Computing and Programming, Multiple Authors
- 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
- Implementing a One Address CPU in Logisim by Charles W. Kann III, Gettysburg 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
- Neural Networks and Deep Learning, by Michael Nielsen, Research Fellow at the Recurse Center
- Patterns for Beginning Programmers (with Examples in Java), by David Bernstein, James Madison University
- 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
We’re hoping to rely on our loyal readers rather than erratic ads. To support Open Culture’s educational mission, please consider making a donation. We accept PayPal, Venmo (@openculture), Patreon and Crypto! Please find all options here. We thank you!