Logo - springer
Slogan - springer

Computer Science - Software Engineering | The Science of Programming

The Science of Programming

Gries, David

1st ed. 1981. 4th printing 1987, XV, 366 pp.

Available Formats:

Springer eBooks may be purchased by end-customers only and are sold without copy protection (DRM free). Instead, all eBooks include personalized watermarks. This means you can read the Springer eBooks across numerous devices such as Laptops, eReaders, and tablets.

You can pay for Springer eBooks with Visa, Mastercard, American Express or Paypal.

After the purchase you can directly download the eBook file or read it online in our Springer eBook Reader. Furthermore your eBook will be stored in your MySpringer account. So you can always re-download your eBooks.


(net) price for USA

ISBN 978-1-4612-5983-1

digitally watermarked, no DRM

Included Format: PDF

download immediately after purchase

learn more about Springer eBooks

add to marked items


Softcover (also known as softback) version.

You can pay for Springer Books with Visa, Mastercard, American Express or Paypal.

Standard shipping is free of charge for individual customers.


(net) price for USA

ISBN 978-0-387-96480-5

free shipping for individuals worldwide

usually dispatched within 3 to 5 business days

add to marked items

  • About this textbook

Describes basic programming principles and their step-by- step applications.Numerous examples are included.

Content Level » Graduate

Keywords » Natural - computer programming - development - documentation - functions - language - logic - programming - semantics

Related subjects » Software Engineering

Table of contents 

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; Part2. 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

Popular Content within this publication 



Read this Book on Springerlink

Services for this book

New Book Alert

Get alerted on new Springer publications in the subject area of Software Engineering.