The aim of this book is to teach mathematics students how to program using their knowledge of mathematics. For this they require only to know how to construct a proof. The entire book's emphasis is on "how to think" when programming. Three methods for constructing an algorithm or a program are used: a) manipulation and enrichment of existing code; b) use of recurrent sequences; c) deferral of code writing, in order to deal with one difficulty at a time. Many theorems are mathematically proved and programmed. The last chapter explains how a compiler works and shows how to compile "by hand" little (but not trivial--even recursive) programs. The book is intended for anyone who thinks mathematically and wants to program and play with mathematics.
Meant for those with a mathematical background who want an introduction to programming and who want to harmoniously integrate this new discipline into their way of thought
Reconciles rigour and programming.Language used is a small subset of Pascal
Method and ideas are not tied to any particular programming language
D. O'Shea
Programming algorithm algorithms code transformation semantics sequences top-down programming