Unique approach tackles what most books don't-why maths and logic are fundamental tools for a programmerThis comprehensive guide is a balanced combination of mathematical theory and the practice of programmingStraightforward presentation of construction principles inlcuding: assignment axiom, sequen
Program Construction: Calculating Implementations from Specifications
โ Scribed by Roland Backhouse
- Publisher
- Wiley
- Year
- 2003
- Tongue
- English
- Leaves
- 320
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
The ever-increasing dependence of our lives and livelihoods on the correct functioning of computer software means that logic and program correctness are core elements of all good computer science degrees. This book presents both these topics in one self-contained text.
The focus of the book is on ''correct-by-construction'' program design -- the discipline of calculating programs from their specifications. Modern, calculational logic is introduced in combination with key program construction principles, such as the assignment axiom, loop invariants and bound functions. This material is intertwined with motivational discussion, programming examples and challenging problem-solving exercises, bringing the book alive for its intended audience, undergraduates in computer science and mathematics, as well as professional programmers wishing to further develop their programming skills.
The book covers the elements of logic and program correctness that form the foundations of further study --- the logical connectives and their algebraic properties, induction, quantifiers and program construction rules. Substantial examples of program construction are included. Many exercises are provided, all with detailed solutions.
๐ SIMILAR VOLUMES
<ul><li>Unique approach tackles what most books don't-why maths and logic are fundamental tools for a programmer<li>This comprehensive guide is a balanced combination of mathematical theory and the practice of programming<li>Straightforward presentation of construction principles inlcuding: assignme
Knowing how to create domain-specific languages (DSLs) can give you a huge productivity boost. Instead of writing code in a general-purpose programming language, you can first build a custom language tailored to make you efficient in a particular domain. The key is understanding the common patterns