Formal Methods, Informally : How to Write Programs That Work

個数:
  • 予約
  • ポイントキャンペーン

Formal Methods, Informally : How to Write Programs That Work

  • 現在予約受付中です。出版後の入荷・発送となります。
    重要:表示されている発売日は予定となり、発売が延期、中止、生産限定品で商品確保ができないなどの理由により、ご注文をお取消しさせていただく場合がございます。予めご了承ください。

    ●3Dセキュア導入とクレジットカードによるお支払いについて
  • 【入荷遅延について】
    世界情勢の影響により、海外からお取り寄せとなる洋書・洋古書の入荷が、表示している標準的な納期よりも遅延する場合がございます。
    おそれいりますが、あらかじめご了承くださいますようお願い申し上げます。
  • ◆画像の表紙や帯等は実物とは異なる場合があります。
  • ◆ウェブストアでの洋書販売価格は、弊社店舗等での販売価格とは異なります。
    また、洋書販売価格は、ご注文確定時点での日本円価格となります。
    ご注文確定後に、同じ洋書の販売価格が変動しても、それは反映されません。
  • 製本 Hardcover:ハードカバー版/ページ数 382 p.
  • 言語 ENG
  • 商品コード 9781009420990
  • DDC分類 005.1

Full Description

Learn to program more effectively, faster, with better results... and enjoy both the learning experience and the benefits it ultimately brings. This undergraduate-level textbook is motivated by Formal Methods, encouraging habits that lead to correct and concise computer programs; but its informal approach sidesteps reliance on Formal Logic that 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, with full solutions available online for instructors' use, plus mini-projects and automated quizzes to support instructors in building their own courses.

Contents

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.

最近チェックした商品