Morgan | Formal Methods, Informally | Buch | 978-1-009-42099-0 | www2.sack.de

Buch, Englisch, 374 Seiten, Gewicht: 500 g

Morgan

Formal Methods, Informally

How to Write Programs That Work
Erscheinungsjahr 2026
ISBN: 978-1-009-42099-0
Verlag: Cambridge University Press

How to Write Programs That Work

Buch, Englisch, 374 Seiten, Gewicht: 500 g

ISBN: 978-1-009-42099-0
Verlag: Cambridge University Press


Learn to program more effectively, faster, with better results… and enjoy both the learning experience and the benefits it ultimately brings. While this undergraduate-level textbook is motivated by formal methods, so encouraging habits that lead to correct and concise computer programs, its informal presentation sidesteps any rigid reliance on formal logic which programmers are sometimes led to believe is required. Instead, a straightforward and intuitive use of simple 'What's true here?' comments encourages precision of thought without prescription of notation. Drawing on decades of the author's experience in teaching/industry, the text's careful presentation concentrates on key principles of structuring and reasoning about programs, applying them first to small, understandable algorithms. Then students can concentrate on turning those reliably into their corresponding – and correct – program source codes. The text includes over 200 exercises, for many of which full solutions are provided. A set of all solutions is available for instructors' use.

Morgan Formal Methods, Informally jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


Preface; List of Figures; Part I. Everyday Programs: 1. Programs that work; 2. Using invariants to design loops; 3. Finding invariants; 4. Finding variants; 5. Assignments and conditionals; 6. Summary of Part I; Part II. Data Structures: 7. Introduction to Part II; 8. Coupling invariants; 9. Fibonacci numbers; 10. Encapsulated data-types; 11. The Mean Calculator; 12. Summary of Part II; Part III. Concurrency: 13. What is 'concurrency'?; 14. The Owicki–Gries method; 15. Critical sections with Owicki–Gries; 16. Peterson's algorithm; 17. Garbage collection on the fly; Part IV. Machine-assisted Checking, and Testing: 18. Machine-assisted program checking; 19. Program testing; Afterword; Appendix A. Drill exercises; Appendix B. Rules for checking programs; Appendix C. Data refinement: the real story; Appendix D. The 'arithmetic' of conditions; Appendix E. Some helpful logical identities; Appendix F. Illustration of garbage collection; Appendix G. Python-specific issues; Appendix H. Answers to selected drills; Appendix I. Answers to selected exercises; Bibliography; Index.


Morgan, Carroll
Carroll Morgan has been an innovator, educator and researcher in computer science for his whole career: first in industry, then as Lecturer and Fellow at the University of Oxford, and finally as Professor at the University of New South Wales. He is best known for his pioneering work in systematic- and correctness-oriented methods of writing computer programs and systems, and especially for his text Programming from Specifications. He is a member of IFIPWorking Groups 1.3, 1.7, 2.1 and 2.3 and received (jointly) the 'Best Cybersecurity Paper of the Year' award from the National Security Agency in 2015.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.