|
Discrete Mathematics Using a Computer 2nd Edition
Discrete Mathematics Using a Computer offers a new, "hands-on" approach to teaching Discrete Mathematics. Using software that is freely available on Mac, PC and Unix platforms, the functional language Haskell allows students to experiment with mathematical notations and concepts -- a practical approach that provides students with instant
feedback and allows lecturers to monitor progress easily.
This second edition of the successful textbook contains significant additional material on the applications of formal methods to practical programming problems. There are more examples of induction proofs on small programs, as well as a new chapter showing how a mathematical approach can be used to motivate AVL trees, an important and complex data structure.
Designed for 1st and 2nd year undergraduate students, the book is also well suited for self-study. No prior knowledge of functional programming is required; everything the student needs is either provided or can be picked up easily as they go along.
Key features include:
* Numerous exercises and examples
* A web page with software tools and additional practice problems, solutions, and explanations, as well as course slides
* Suggestions for further reading
Complete with an accompanying instructor's guide, available via the web, this volume is intended as the primary teaching text for Discrete Mathematics courses, but will also provide useful reading for Conversion Masters and Formal Methods courses.
Visit the book's Web page at: http://www.dcs.gla.ac.uk/~jtod/discrete-mathematics/
Written for:
1st/2nd year undergraduate students
Keywords:
Correctness proofs
Discrete Mathematics
Formal Methods
Functional Programming
Induction
Mathematical Logic
Mechanized logic
Recursion
Introduction to Haskell.- Equational Reasoning.- Recursion.- Induction.- Trees.- Propositional Logic.- Predicate Logic.- Set Theory.- Inductively Defined Sets.- Relations.- Functions.- The AVL Tree Miracle.- Discrete Mathematics in Circuit Design.- Appendix A: Software Tools.- Appendix B: Resources on the Web.- Appendix C: Solutions to Selected Exercises.- Bibliography.- Index.
|