Table of contents

  1. Front Matter
    Pages i-xii
  2. Tom Jenkyns, Ben Stephenson
    Pages 1-42
  3. Tom Jenkyns, Ben Stephenson
    Pages 43-75
  4. Tom Jenkyns, Ben Stephenson
    Pages 77-130
  5. Tom Jenkyns, Ben Stephenson
    Pages 131-182
  6. Tom Jenkyns, Ben Stephenson
    Pages 183-231
  7. Tom Jenkyns, Ben Stephenson
    Pages 233-264
  8. Tom Jenkyns, Ben Stephenson
    Pages 265-309
  9. Tom Jenkyns, Ben Stephenson
    Pages 311-350
  10. Tom Jenkyns, Ben Stephenson
    Pages 351-395
  11. Tom Jenkyns, Ben Stephenson
    Pages 397-411
  12. Back Matter
    Pages 413-416

About this book


An understanding of discrete mathematics is essential for students of computer science wishing to improve their programming competence.

Fundamentals of Discrete Math for Computer Science provides an engaging and motivational introduction to traditional topics in discrete mathematics, in a manner specifically designed to appeal to computer science students. The text empowers students to think critically, to be effective problem solvers, to integrate theory and practice, and to recognize the importance of abstraction. Clearly structured and interactive in nature, the book presents detailed walkthroughs of several algorithms, stimulating a conversation with the reader through informal commentary and provocative questions.

Topics and features:

  • Highly accessible and easy to read, introducing concepts in discrete mathematics without requiring a university-level background in mathematics
  • Ideally structured for classroom-use and self-study, with modular chapters following ACM curriculum recommendations
  • Describes mathematical processes in an algorithmic manner, often including a walk-through demonstrating how the algorithm performs the desired task as expected
  • Contains examples and exercises throughout the text, and highlights the most important concepts in each section
  • Selects examples that demonstrate a practical use for the concept in question

This easy-to-understand and fun-to-read textbook is ideal for an introductory discrete mathematics course for computer science students at the beginning of their studies. The book assumes no prior mathematical knowledge, and discusses concepts in programming as needed, allowing it to be used in a mathematics course taken concurrently with a student’s first programming course.


Analysis of Algorithms Complexity Analysis Discrete Mathematics Proof of Correctness

Authors and affiliations

  1. 1.Department of MathematicsBrock UniversitySt. CatharinesCanada
  2. 2.Department of Computer ScienceUniversity of CalgaryCalgaryCanada

About the authors

Dr. Tom Jenkyns is an Associate Professor in the Department of Mathematics and the Department of Computer Science at Brock University, Canada.

Dr. Ben Stephenson is an Instructor in the Department of Computer Science at the University of Calgary, Canada.

Bibliographic information

Industry Sectors
IT & Software


From the reviews:

“This book is dedicated to presenting the basic notions of discrete mathematics for undergraduate students in computer science. With a good balance between theory and practice – including the algorithmic point of view – this book will prove very helpful. … Many examples and exercises make the book both enjoyable and useful.” (Jean-Paul Allouche, zbMATH, Vol. 1278, 2014)

“Jenkyns (Brock Univ., Canada) and Stephenson (Univ. of Calgary, Canada) have written an introductory textbook on discrete mathematics for computer science majors. The volume’s ten chapters cover the standard topics taught in such courses at the freshman or sophomore level … . In comparison with other introductory discrete mathematics textbooks, this work has a very strong emphasis on algorithms, proofs of algorithmic correctness, and the analysis of worst-case and average-case complexity. … Summing Up: Recommended. Lower-division undergraduates.” (B. Borchers, Choice, Vol. 50 (9), May, 2013)

“This book is specifically aimed at CS students. The authors include the same discrete math topics that other books have, but, in contrast to most existing books, they introduce each topic with a clear (and entertaining) CS motivation. … Each section is well written, with a highlighted subsection on the most important ideas and plenty of exercises. I highly recommend this book to everyone.” (V. Kreinovich, Computing Reviews, December, 2012)