The science of programming / David Gries.
By: Gries, David
.
Material type: ![materialTypeLabel](/opac-tmpl/lib/famfamfam/BK.png)
![](/opac-tmpl/bootstrap/images/filefind.png)
Item type | Current library | Call number | Copy number | Status | Date due | Barcode | Item holds |
---|---|---|---|---|---|---|---|
General Lending | MTU Bishopstown Library Lending | 001.642 (Browse shelf(Opens below)) | 1 | Available | 00027846 |
Enhanced descriptions from Syndetics:
Describes basic programming principles and their step-by-step applications.Numerous examples are included.
Includes bibliographical references (pages 355-357) and index.
Part 0: Why use logic? Why prove programs correct? -- Part I: Propositions and Predicates -- Propositions -- Reasoning using equivalence transformations -- A natural deduction system -- Predicates -- Notations and Conventions for Arrays -- Using Assertions to document programs -- Part II: The semantics of a small language -- The predicate transformer wp -- The commands skip, abort and composition -- The Assignment Command -- The Alternative Command -- The Iterative Command -- Procedure Call -- Part III: The development of programs -- Introduction -- Programming as a goal-oriented activity -- Developing loops from invariants and bounds -- Developing invariants -- Notes on bound functions -- Using iteration instead of recursion -- Efficiency considerations -- Two larger examples of program development -- Inverting programs -- Notes on documentation -- Historical Notes.
Table of contents provided by Syndetics
- Part 0 Why Use Logic? Why Prove Programs Correct?
- Part 1
- 1 Propositions
- 2 Reasoning Using Equivalence Transformations
- 3 A Natural Deduction System
- 4 Predicates
- 5 Notations and Conventions for Arrays
- 6 Using Assertions to Document Programs
- Part 2 The Semantics of a Small Language
- 7 The Predicate Transformer wp
- 8 The Commands Skip, Abort and Composition
- 9 The Assignment Command
- 10 The Alternative Command
- 12 Procedure Call
- 11 The Iterative Command
- 12 Procedure Call
- Part 3 The Development of Programs
- 13 Introduction
- 14 Programming as a Goal-Oriented Activity
- 15 Developing Loops From Invariants and Bounds
- 16 Developing Invariants
- 17 Notes on Bound Functions
- 18 Using Iteration Instead of Recursion
- 19 Efficiency Considerations
- 20 Two Larger Examples of Program Development
- 21 Inverting Programs
- 22 Notes on Documentation
- 23 Historical
- Notes
- Appendix 1-4
- Answers to Exercises
- References
- Index