A Practical Theory of Programming
by Eric C.R. Hehner
Publisher: Springer 2006
Number of pages: 243
Understanding programming and programming languages requires knowledge of the underlying theoretical model. This book explores aspects of programming that are amenable to mathematical proof. The author describes a programming theory which is much simpler and more comprehensive than the current theories to date. In the theoretical model, a specification is just a boolean expression and refinement is just an ordinary implication. The author develops a practical and broad method for writing precise specifications and designing programs whose executions probably satisfy the specifications.
Home page url
Download or read it online for free here:
(multiple PDF files)
by Mira Balaban - Ben-Gurion University of the Negev
This course is about building computational processes. We need computational processes for computing functions. The means for performing computational processes are programs. The emphasis is on programming languages and their properties.
by Robert Harper - Carnegie Mellon University
What follows is a working draft of a planned book that seeks to strike a careful balance between developing the theoretical foundations of programming languages and explaining the pragmatic issues involved in their design and implementation.
by Andrew M. Pitts - University of Cambridge
These notes introduce the structural, operational approach to programming language semantics. The course shows how to specify the meaning of some simple programming language constructs and to reason formally about semantic properties of programs.
by Shriram Krishnamurthi - Brown University
Many people would regard this as being two books in one. One book is an introduction to programming, teaching you basic concepts of organizing data and the programs that operate over them. The other book is an introduction to programming languages.