Digital library
Textbooks, references and open learning resources.

External
Principles of Computer System Design
Jerome H. Saltzer & M. Frans Kaashoek · Massachusetts Institute of Technology
Principles of Computer System Design: An Introduction is published in two parts. Part I, containing chapters 1-6, is a traditional printed textbook published by Morgan Kaufman, an imprint of Elsevier. Part II, containing chapters 7-11, is available here as an open educational resource.

External
Structure and Interpretation of Computer Programs
Harold Abelson, Gerald Sussman & Julie Sussman · Massachusetts Institute of Technology
The material in this book has been the basis of MIT's entry-level computer science subject and emphasizes several new themes. The most important of these is the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming, lazy evaluation, and nondeterministic programming. We have included new sections on concurrency and nondeterminism, and we have tried to integrate this theme throughout the book.

External
Math, Numerics, and Programming (for Mechanical Engineers)
Masayuki Yano, James Douglass Penn, George Konidaris, & Anthony T Patera · Massachusetts Institute of Technology
This text introduces elementary programming concepts including variable types, data structures, and flow control. After an introduction to linear algebra and probability, it covers numerical methods relevant to mechanical engineering, including approximation (interpolation, least squares and statistical regression), integration, solution of linear and nonlinear equations, ordinary differential equations, and deterministic and probabilistic approaches.

External
Delftse Foundations of Computation
Stefan Hugtenburg & Neil Yorke-Smith · Delft University of Technology
Delftse Foundations of Computation is a textbook for a one quarter introductory course in theoretical computer science. It includes topics from propositional and predicate logic, proof techniques, set theory and the theory of computation, along with practical applications to computer science. It has no prerequisites other than a general familiarity with computer programming.

External
Mathematics for Computer Science
Eric Lehman, F. Thomson Leighton, & Alberty R. Meyer · Google and Massachusetts Institute of Technology
This text serves as an introduction to discrete mathematics, probability, and mathematical thinking for computer scientists with an interactive introduction to discrete mathematics oriented toward computer science and engineering. The subject coverage divides roughly into thirds: (1) Fundamental concepts of mathematics including definitions, proofs, sets, functions, relations. (2) Discrete structures: graphs, state machines, modular arithmetic, counting and (3) Discrete probability theory.