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

  • Tom Jenkyns
    • 1
  • Ben Stephenson
    • 2
  1. 1.Department of MathematicsBrock UniversitySt. CatharinesCanada
  2. 2.Department of Computer ScienceUniversity of CalgaryCalgaryCanada

Bibliographic information