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 []