© 2012

Mathematics of Discrete Structures for Computer Science


Table of contents

  1. Front Matter
    Pages I-XVI
  2. Gordon J. Pace
    Pages 1-8
  3. Gordon J. Pace
    Pages 9-56
  4. Gordon J. Pace
    Pages 57-77
  5. Gordon J. Pace
    Pages 79-110
  6. Gordon J. Pace
    Pages 111-140
  7. Gordon J. Pace
    Pages 141-155
  8. Gordon J. Pace
    Pages 157-174
  9. Gordon J. Pace
    Pages 175-210
  10. Gordon J. Pace
    Pages 211-255
  11. Gordon J. Pace
    Pages 257-285
  12. Back Matter
    Pages 287-293

About this book


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 end-of-section 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.


discrete mathematics discrete structures mathematical logic predicate calculus propositional logic relations sets

Authors and affiliations

  1. 1.Department of Computer Science, Faculty of InformationUniversity of MaltaMsidaMalta

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.

Bibliographic information


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. Lower-division 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, low-cost alternative to textbooks in discrete mathematics.” (Miklós Bóna, MAA Reviews, December, 2012)

“The standard topics--including propositional logic, predicate calculus, sets, relations, discrete structures, defining new structured types, numbers, and reasoning about programs--are 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]