Mathematics of Discrete Structures for Computer Science
Authors: Pace, Gordon J.
 Author takes an unusual approach, starts by defining ways of calculating operators and then proves that they satisfy various properties
 Treatment is largely selfcontained, and even students without prior advanced mathematics should be able to learn from the text
 Author has considerable experience teaching this course to undergraduate students
Buy this book
 About this Textbook

Mathematics plays a key role in computer science, some researchers would consider computers as nothing but the physical embodiment of mathematical systems. And whether you are designing a digital circuit, a computer program or a new programming language, you need mathematics to be able to reason about the design  its correctness, robustness and dependability. This book covers the foundational mathematics necessary for courses in computer science.
The common approach to presenting mathematical concepts and operators is to define them in terms of properties they satisfy, and then based on these definitions develop ways of computing the result of applying the operators and prove them correct. This book is mainly written for computer science students, so here the author takes a different approach: he starts by defining ways of calculating the results of applying the operators and then proves that they satisfy various properties. After justifying his underlying approach the author offers detailed chapters covering propositional logic, predicate calculus, sets, relations, discrete structures, structured types, numbers, and reasoning about programs.
The book contains chapter and section summaries, detailed proofs and many endofsection exercises  key to the learning process. The book is suitable for undergraduate and graduate students, and although the treatment focuses on areas with frequent applications in computer science, the book is also suitable for students of mathematics and engineering.  About the authors

Gordon J. Pace is an associate professor in the Department of Computer Science of the University of Malta. He has an M.Sc. and a D.Phil. from Oxford, where he was a Rhodes Scholar. He has considerable experience teaching courses on the topic of his book to undergraduates in Computer Science, Mathematics and Engineering. His research interests include formal methods for software and hardware, runtime verification and formal analysis of contracts.
 Reviews

From the reviews:
"Pace’s Mathematics of Discrete Structures for Computer Science is a delightful book, written to be read and enjoyed as it moves from justifying the central place of maths in computing, through the usual set theory and logic, on to numbers, types and the halting problem." [Harold Thimbleby, Times Higher Education Supplement, 06/13]
“Discrete mathematics is as essential for computer science as calculus is for physics. … this book by Pace (Univ. of Malta) focuses on topics which are central to computer science, including the formal definition of data types and the use of induction to prove correctness. … is most useful for future courses in programming languages, particularly those that use a language like Haskell. The book includes many helpful worked examples. Summing Up: Recommended. Lowerdivision undergraduates through researchers/faculty.” [P. Cull, Choice, Vol. 50 (8), April, 2013]
“There is no doubt that discrete mathematics is a mandatory component of any good computer science program. Therefore, a textbook for this area is always very useful. … this book particularly emphasizes the difference between the algorithmic and the descriptive approach. … topics are well presented and can be used immediately for teaching such a course. It is also very helpful that many exercises are included into the text and support the learning process.” [Christian Posthoff, Zentralblatt MATH, Vol. 1254, 2013]
“The overwhelming majority of the subjects is discussed from an algorithmic viewpoint, considering how we could use this or that result while writing code for a computer. … you want to teach a course focusing on how to use discrete structures in computer science, then the book is a concise, lowcost alternative to textbooks in discrete mathematics.” (Miklós Bóna, MAA Reviews, December, 2012)
“The standard topicsincluding propositional logic, predicate calculus, sets, relations, discrete structures, defining new structured types, numbers, and reasoning about programsare covered … . As such, the book is suitable for students who understand algebra and can program. … Teachers who use this text have noted how enthusiastically their students discuss its ideas in class. … Overall, the book is well made.” [Richard Botting, ACM Computing Reviews, December, 2012]
"Profound knowledge and skills in discrete mathematics are mandatory for a well educated computer scientist. Therefore a corresponding curriculum typically requires at least a basic course on this subject. This textbook, which is based on the lectures given by the author at the University of Malta, is a perfect companion for every student taking such a course. ... Besides a thorough formal presentation the book always gives a convincing motivation for studying the corresponding structures and explains the main ideas using illustrations. A well chosen set of exercises rounds off each topic. After studying the presented material a computer science student will be well prepared for further, more specialized courses." [Martin Leucker, Lübeck]
 Download Preface 1 PDF (46.2 KB)
 Download Sample pages 2 PDF (390.1 KB)
 Download Table of contents PDF (52.5 KB)
Buy this book
Services for this Book
Recommended for you
Bibliographic Information
 Bibliographic Information

 Book Title
 Mathematics of Discrete Structures for Computer Science
 Authors

 Gordon J. Pace
 Copyright
 2012
 Publisher
 SpringerVerlag Berlin Heidelberg
 Copyright Holder
 SpringerVerlag Berlin Heidelberg
 eBook ISBN
 9783642298400
 DOI
 10.1007/9783642298400
 Hardcover ISBN
 9783642298394
 Softcover ISBN
 9783642429880
 Edition Number
 1
 Number of Pages
 XVI, 296
 Topics