Recommended Reading | Links | Mailing List

Here is a collection of materials which we have found particularly instructive and useful. Some materials are available online for free, while others will have to be purchased. Consequently, a '(download)' tag next to an item indicates that clicking the item's link will download the item, while a '(buy)' tag indicates that clicking the item's link will take you to the page of an online merchant selling the item.

This list is not arranged in any particular order.

Title Description
This EWD is titled 'The notational conventionas I adoped and why' and we deem it essential to understanding the modern notational conventions of the calculational style.
Calculational Mathematics (download)
This document is a collection of select EWDs, WFs, and AvGs which provide expositions of our fundamental calculi, viz. the Predicate Calculus, the Relational Calculus, Lattice Theory, amongst others. The document also contains several expositions on calculational proof design. We recommend this document to new comers who wish to learn about our style.
Programming: The Derivation of Algorithms
For those who wish to learn how to use calculational techniques in the design of algorithms, we recommend this text from Anne Kaldewaij. Beginning with a brief introduction to the predicate calculus, it provides a coherent and graded exposition of the calculational techinques for program derivation. To gain a facility with these techniques, the reader must put them to use, and this text provides a great variety of examples for this purpose.
On the Shape of Mathematical Arguments
This seminal work from Netty van Gasteren is perhaps one of the best expositions of the central ideas of our mathematical style. We feel that the essays comprising the last four chapters of this book are classics, and are mandatory reading for anybody who really wants to make our style work for them.
On a Method of Multi-Programmming
This book from Wim Feijen and Netty van Gasteren presents a calculational method of designing parallel algorithms. It is exemplary of our highest mathematical values, and we feel that it is worth reading in that capacity alone. Additionally, developing skill with the method of multi-programming presented in this work enables one to be more methodical and precise about the design of parallel programs, and this tends to result in more efficient and robust designs.