The Elements of Computing Systems
by Noam Nisan, Shimon Schocken
Publisher: MIT Press 2005
Number of pages: 267
The book exposes students to a significant body of computer science knowledge, gained through a series of hardware and software construction tasks. These tasks demonstrate how theoretical and applied techniques taught in other computer science courses are used in practice.
Download or read it online for free here:
(multiple PDF files)
by C.A.R. Hoare - Prentice Hall
CSP is a language for describing patterns of interaction. It is supported by an elegant mathematical theory, a set of proof tools, and an extensive literature. The book is an excellent introduction to the language, and also to the mathematical theory.
by Johannes Sametinger - Springer
The book explains what is software reuse, what benefits to expect, different forms of software reuse, software components, different kinds of components, examples of successful component reuse, introduction to software engineering, and more.
by Benjamin C. Pierce - University of Pennsylvania
These are notes for a course on software foundations, suitable for graduate or upper-level undergraduate students. They develop basic concepts of functional programming, logic, operational semantics, lambda-calculus, and static type systems.
by David Longstreet - SoftwareMetrics.Com
The book introduces the basic concepts of function point analysis and unit cost estimating, describes and defines the concepts necessary to establish a boundary between applications, identifies and rates external inputs and external outputs, etc.