Free Online Computer Science and Programming Books, Textbooks, and Lecture Notes

Introduction to Computer Science
 Topics   Views 
No new posts A Balanced Introduction to Computer Science
Teaches the most important concepts in computing and computer science while providing enough programming depth to enable understanding about how people work with computers.

No new posts A Beginners C++
A reference for introductory Computer Science courses that use C++ as an implementation language.

No new posts A College Student's Guide to Computers in Education
This book is for undergraduate and graduate college and university students, and for others thinking about enrolling in higher education courses, to help them get an education that prepares them for life in our rapidly changing Information Age.

No new posts Concrete Abstractions - An Introduction to Computer Science Using Scheme
Covers the basics of programming and data structures, and gives first-time computer science students the opportunity to not only write programs, but to prove theorems and analyze algorithms as well.

No new posts How to be a Programmer: A Short, Comprehensive, and Personal Summary
A very nice essay on how to become a professional programmer. Recommended for wannabe and professional programmers.

No new posts How To Design Programs: An Introduction To Programming and Computing
Exposes readers to two fundamentally new ideas: program design guidelines and programming environment.

No new posts How To Think Like A Computer Scientist, Java Version
Teaches the readers to think like a computer scientist, gaining the skill of problem-solving using Java.

No new posts How To Think Like A Computer Scientist: Learning with C++
Guidelines to problem-solving as the most important skill for a computer scientist.

No new posts How to Think Like a Computer Scientist: Learning with Python
A translation of the book's original Java version using Python, which was chosen because it provides a really nice balance between the practical and the conceptual.

No new posts Introduction to Computer Science using Java
Compilation of lecture notes which cover most of a beginning course in computer science using Java in CSCU Computer Science Department.

No new posts Introduction to Computer Science [URL's no longer accessible]
A textbook for a first computer science course for students majoring in computer science, as well as mathematics and the physical and social sciences. Updated regularly.

No new posts Introduction to Computing - Explorations in Language, Logic, and Machines
Focuses on how to describe information processes by defining procedures, how to analyze the costs required to carry out a procedure, and the fundamental limits of what can and cannot be computed mechanically.

No new posts Introduction to Interactive Programming In Java
The first introductory computer science textbook to rethink the traditional curriculum in light of the current interaction-based computer revolution.

No new posts Introduction to Programming (in Java) - An Interdisciplinary Approach
An interdisciplinary approach to the traditional CS1 curriculum, where it emphasizes the role of computing in other disciplines, from materials science to genomics to astrophysics to network systems.

No new posts Introduction to Programming using Fortran 95
An introduction to programming and problem solving using the Fortran 95 programming language. This book focuses on an introduction to problem solving and algorithm development.

No new posts Introduction To Programming With Java
An undergraduate text in the theory of programming languages.

No new posts Learn to Program Using Python
Covers the basic theory of computer programming and the basic techniques needed to solve problems using Python. For absolute beginners on web programming.

No new posts Programmed Lessons in Quick Basic
A gentle introduction to programming using QuickBasic for students in all majors.

No new posts Programming in Oberon - Steps Beyond Pascal and Modula
A definitive guide to the Oberon language developed as a successor to Pascal and Modula 2.

No new posts Programming Principles in Java: Architectures and Interfaces
A first course for would-be professional programmers, using Java. This textbook presents standard architectures for component construction and patterns of control construction and data construction.

No new posts Python for Informatics: Exploring Information
A remix of Allen B. Downey's Think Python, the overall book structure has been changed to get to doing data analysis problems as quickly as possible and have a series of running examples and exercises about data analysis from the very beginning.

No new posts Structure and Interpretation of Computer Programs
Advanced introduction to computer science and programming.

No new posts Structure and Interpretation of Computer Programs - Video Lectures
Videos of 20 introduction lectures to the subject of Computer Science given in 1986 for Hewlett-Packard employees, converted in its entirety into Mpeg and DivX formats. The lecture uses Lisp dialect and syntax but it doesn't formally teach the language.

No new posts The Little Introduction To Programming
An introduction to programming for complete beginners.