by Benjamin C. Pierce
Publisher: University of Pennsylvania 2010
These are notes for a one-semester course on Software Foundations -- the mathematical theory of programming and programming languages -- suitable for graduate or upper-level undergraduate students. They develop basic concepts of functional programming, logic, operational semantics, lambda-calculus, and static type systems, using the Coq proof assistant.
Home page url
Download or read it online for free here:
The problems to solve in software engineering are so complex or large, that a single developer cannot solve them anymore. This book is an introduction to the art of software engineering. It is intended as a textbook for an undergraduate level course.
by Noam Nisan, Shimon Schocken - MIT Press
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 are used in practice.
by P. Bourque, R. Dupuis, A. Abran, J. W. Moore, and L. L. Tripp - IEEE
The purpose of this guide is to provide a consensually validated characterization of the bounds of the software engineering discipline and to provide a topical access to the Body of Knowledge supporting that discipline.
by A. Bijlsma, B.J. Heeren, E.E. Roubtsova, S. Stuurman - FTA
The central theme of this book is balancing the concerns and requirements of stakeholders, combining these into an architecture proposal by employing known tactics and patterns, producing a description of the architecture that can be communicated.