A local copy of a list useful books where the whole text is on-line. The original spource for this list has disappeared. I'm not maintaining this list myself.

Structure and Interpretation of Computer Programs [C] Video Lectures
How to Design Programs [C]
Linear Programming: Foundations and Extensions [M]
Linear Algebra by Jim Hefferon [M]
Warren's Abstract Machine: A Tutorial Reconstruction [C]
Categories, Types And Structures. An Introduction to Category Theory for the Working Computer Scientist [C]
Toposes, Triples and Theories [M]
A Course in Universal Algebra [M]
Tree Automata Techniques and Applications [C]
Graph Theory by Reinhard Diestel [M]
Advanced Programming Language Design [C]
Graphics Programming Black Book [C]
Logic for Computer Science: Foundations of Automatic Theorem Proving [C]
Proofs and Types [C]
Parsing Techniques - A Practical Guide [C]
Programming in Standard ML [C]
Programming Languages: Theory and Practice [C]
PX: A Computational Logic [C]
Semantics of Programming Languages by Matthew Hennessy [C]
Communicating Sequential Processes [C]
Partial Evaluation and Automatic Program Generation [C]
Programming from Specifications [C]
Semantics with Applications: A Formal Introduction [C]
Programming in Martin-Löf's Type Theory [C]
Functional Programming and Parallel Graph Rewriting [C]
Computational Category Theory [C]
Denotational Semantics: A Methodology for Language Development [C]
Programming Languages by Scott Smith [C]
Practical Foundations of Mathematics [C]
Type Theory and Functional Programming [C]
Concepts, Techniques, and Models of Computer Programming [C]
The Craft of Programming [C]
On Lisp [C]
Text Processing in Python [C]
Inside the Java Virtual Machine [C]
Algorithmic Information Theory [M]
Programming Languages: Application and Interpretation [C]
Parallel Complexity Theory [C]
Problems on Algorithms [C]
Lecture Notes on Algorithm Analysis and Complexity Theory [C]
Logic for Problem Solving [C]
Advanced Bash-Scripting Guide [C]
The Art of Unix Programming [C]
Thinking in Java/C++ [C]
The Java Language Specification [C]
The Java Virtual Machine Specification [C]
Learning to Program using Python [C]
How To Think Like A Computer Scientist [C]
Structure and Interpretation of Classical Mechanics [C]
Common Lisp: A Gentle Introduction to Symbolic Computation [C]
Common Lisp the Language [C]
Developing Applications With Objective Caml [C]
Using Z [C]
The Z Notation: A Reference Manual [C]
Logic, Programming and Prolog [C]
Practical Regression and Anova in R [M]
Using R/S-Plus for Data Analysis and Graphics [M]
Simple R [M]
Games of No Chance [M]
More Games of No Chance [M]
Grokking the GIMP [C]
generatingfunctionology [M]
A=B [M]
Algorithms and Complexity [C]
East Side, West Side [M]
Lectures on Integer Partitions [M]
Lecture Notes on Numerical Analysis [M]
ePaperPress CS Misc [C]
The UNIX-HATERS Handbook [C]
!Fundamental Problems in Algorithmic Algebra [C]
Games and Information [E]
!The Economics Net-TextBook [E]
Strategy and Conflict: An Introductory Sketch of Game Theory [E]
!Price Theory: An Intermediate Text [E]
!Essential Principles of Economics: A Hypermedia Text [E]
Elementary Concepts in Statistics [M]
!Intermediate Microeconomic Theory [E]
An Introduction to Logic Programming through Prolog [C]
Introduction to Logic and Recursion Theory [C]
Handbook of Applied Cryptography [C]
Introduction to Probability [M]
Reversibility and Stochastic Networks [M]
Stochastic Calculus Notes [M]
Convex Optimization [M]
Numerical Recipes [C]
Steven Shreve: Stochastic Calculus and Finance [M]
Elements of Abstract and Linear Algebra [M]
A Problem Course in Mathematical Logic [M]
How to be a Programmer [C]
The Assayer []
SpringerLink []