Elementary Logic: For Software Development
Book information
Description
The ability to reason correctly is critical to most aspects of computer science and to software development in particular. This book teaches readers how to better reason about software development, to communicate reasoning, to distinguish between good and bad reasoning, and to read professional literature that presumes knowledge of elementary logic. It explains fundamental concepts and provides reader-friendly instructions for applying logic to software development Part I explains how to find and represent the logical forms of statements expressed in English. Part II describes how to use truth tables to determine the truth or falsity of a complex statement. The final part discusses logical truth and explains how to test statements for logical equivalence, implication and redundancy, as well as how to test arguments for validity and soundness. It also explains how to use rules of inference to make proofs of program correctness. This useful text/reference emphasizes applications of logic to software development throughout. Features: • Covers elementary logic and its application to most stages of software development • Expresses examples in pseudocode, so that no particular programming language is used • Provides numerous examples and exercises facilitating reader self-assessment and independent self-study • Emphasizes truth-functional and quantificational logic, and introduces Floyd-Hoare logic • Supplies web resources such as solutions for all exercises and supplementary information • Emphasizes the difference between helpful and excessive use of formal notation • Written from class tested teaching material proven to be clearly understandable Key topics: • Expressing Problem Specifications • Expressing Program Designs • Using Truth Functions • Interpretations for Quantified Statements • Tests for Logical Properties of Statements • Simplifying Statements and Instructions • Rules of Inference for Control Structures • Program Correctness Proofs Since logic is the discipline concerned with general rules and criteria of correct reasoning, those involved in computer science and software development will benefit greatly from using this book. It provides a reader-friendly foundation to logic and offers valuable insight into the topic, thereby serving as a helpful reference for practitioners, as well as students studying software development. Robert Lover has been a software developer, has created and taught professional development courses for Harvard University, and has taught courses on logic and software development at several other colleges and universities. He is currently chair of the Belmont Abbey College Computer Studies Department.
Similar books
Perspectives of System Informatics: 11th International Andrei P. Ershov Informatics Conference, PSI 2017, Moscow, Russia, June 27-29, 2017, Revised Selected Papers
2018 · PDF
Verification, Model Checking, and Abstract Interpretation: 19th International Conference, VMCAI 2018, Los Angeles, CA, USA, January 7-9, 2018, Proceedings
2018 · PDF
Recent Trends in Algebraic Development Techniques: 23rd IFIP WG 1.3 International Workshop, WADT 2016, Gregynog, UK, September 21–24, 2016, Revised Selected Papers
2017 · PDF
Transactions on Large-Scale Data- and Knowledge-Centered Systems XXXIV: Special Issue on Consistency and Inconsistency in Data-Centric Applications
2017 · PDF
ModelEd, TestEd, TrustEd: Essays Dedicated to Ed Brinksma on the Occasion of His 60th Birthday
2017 · PDF
Application and Theory of Petri Nets and Concurrency: 37th International Conference, PETRI NETS 2016, Toruń, Poland, June 19-24, 2016. Proceedings
2016 · PDF
Theoretical Aspects of Computing – ICTAC 2015: 12th International Colloquium Cali, Colombia, October 29–31, 2015, Proceedings
2015 · PDF
Logic of Programming and Calculi of Discrete Design: International Summer School directed by F.L. Bauer, M. Broy, E.W. Dijkstra, C.A.R. Hoare
1987 · DJVU