The Discrete Math Resources and Help Page

(Cool Math for Computer Science)



What is this website?

The goal is to make a repository for all the free resources about Discrete Mathematics throughout the internet. When this site opened on September 7th, 2017, there were only a few resources here. The idea is that faculty teaching this course (or students) will notify me whenever they come across anything new, and I will link to it. (You can contact me via the e-mail address at the bottom of this page.) I've also added a few things that I've found on my own. Over time, I think that it has become be a large and useful compilation.

Without such a central repository, faculty are all working in isolation. For example, when I create a resource, that helps only those students on my particular campus, The University of Wisconsin---Stout (Wisconsin's Polytechnic University), in Menomonie, Wisconsin (USA). With a website like this, faculty all over the world can share their work, and avoid any duplication of effort, to the permanent benefit of students worldwide. (Take a peak at our global visitors' map, if you're curious.)

Free Textbooks for Discrete Mathematics

These are listed in reverse alphabetical order by the first author's last name. (It is in reverse alphabetical order to avoid forcing me to list my own books first!)

  • Oscar Levin, Discrete Mathematics---An Open Introduction is a textbook that has been endorsed by the American Institute of Mathematics Open Textbook Initiative. I enjoy it thoroughly, and it is great in general, but superb for future high-school teachers in particular. The electronic version is free (both the PDF and an interactive version), plus you can find the printed softcover version on amazon.com for a very low price. (It was only $12 (USD) on September 7th, 2017.)

  • Alan Doerr and Kenneth Levasseur, Applied Discrete Structures is another textbook that has been endorsed by the American Institute of Mathematics Open Textbook Initiative. It is free in electronic form, but I have not read it yet, so I cannot say more.

  • Edward A. Bender and S. Gill Williamson, Discrete Mathematics: First & Second Course is yet another textbook that has been endorsed by the American Institute of Mathematics Open Textbook Initiative. It is also free in electronic form, but I have not read it either, so I cannot say more.

  • Gregory V. Bard, Discrete Structures in Mathematics---A Problem Solving Approach is a work in progress. The goal is to create a free textbook with lots of examples related to real-world applications in computer engineering, computer science, and game design. There are also applications to biology and other sciences. This electronic PDF textbook-in-progress is hosted on this website. The goal is to someday earn the American Institute of Mathematics Open Textbook Initiative endorsement as well.

  • The following three books are endorsed by the American Institute of Mathematics Open Textbook Initiative, and are listed under the category of Introduction to Proofs. That is often a painful subject for students, so it is nice to give them lots of resources.
    • Ted Sundstrom, Mathematical Reasoning: Writing and Proof, click here.
    • Richard Hammack, Book of Proof, click here.
    • Joseph E. Fields, A Gentle Introduction to the Art of Mathematics, click here.

  • While it is not free, Kenneth Rosen's huge encyclopedia Discrete Mathematics and Its Applications is a cornerstone of this subject. It is certainly not cheap (e.g. a new hardcover copy cost $223.39 (USD) on amazon.com on September 7th, 2017.) However, it is a great reference, especially for advanced topics or anyone looking for hard problems to challenge advanced students. Prof Rosen spent most of his career at Bell Labs, so there are many telecommunications-related applications, examples, and problems, as well as some topics in theoretical computer science that are no longer taught often anymore.

Other Relevant Books

These are also listed in reverse alphabetical order by the first author's last name. (Again, it is reverse alphabetical order to avoid forcing me to list my own books first!)

  • William Stein, Elementary Number Theory: Primes, Congruences, and Secrets: A Computational Approach was published by Springer in 2010, as part of their series "Undergraduate Texts in Mathematics" (UTM). Number theory and cryptography are usually the last two chapters of a course in Discrete Mathematics. Therefore, students might like to read this book over break after completing their Discrete Mathematics course. By the way, William Stein is the founder and chief architect of the free computer algebra system "Sage." This book is also free in electronic form, and the printed hard cover is very inexpensive on amazon.com. (It was only $39.96 (USD) on September 7th, 2017.)

  • Gregory Bard, Sage for Undergraduates is a book about the free computer algebra system Sage, sometimes called SageMath. Published by The American Mathematical Society in 2015, this book has been written for the Calculus ii (integral calculus) or Calculus iii (multivariate calculus) student, but includes chapters on much more advanced undergraduate courses in mathematics. (Also, Ch 5 teaches the computer language Python.) You can be very functional with Sage just by reading the first chapter. This book also has been endorsed by the American Institute of Mathematics Open Textbook Initiative. It is free in electronic form as a PDF, and the softcover printed version is very inexpensive on amazon.com. (It was only $29 (USD) on September 7th, 2017.)

  • Here is a link for a list of all mathematics textbooks that have earned the endorsement of the Open Textbook Initiative of the American Institute of Mathematics. For more information about the Open Textbook Initiative, click here.

Interactive Webpages and Applets

  • Some excellent interactive webpages/applets were made by my undergraduate research assistant, Alyssa Vorpahl, during the Spring of 2019. They explain rapid modular exponentiation, the concept of a generator in the integers mod N, the Diffie-Hellman Key-Exchange algorithm, and the discrete-logarithm attack against them.

  • Prof Lawrence Riddle of Agnes Scott College has made an excellent page about how you can get a famous fractal (Sierpinski's Triangle) by starting with Pascal's triangle, and then coloring in the even entries in one color, but the odd entries in a different color. (click here)

  • For those who don't know what fractals are, Prof Riddle also has a page that talks about the highly related Sierpinski's gasket and the 3D version of that, Menger's sponge. The reason Menger's sponge is interesting is because it has finite volume but infinite surface area. Even if you can't follow the formulas, the pictures are great. (click here)

  • The most famous Monte-Carlo Simulation of all time is probably that of throwing darts at the unit square---the set of points (x,y) where both x and y are between -1 and 1. One counts how many darts are inside the unit circle. For an enormous number of darts, this will be roughly pi/4. I made a demo of this using SageMathCell. (click here)

  • I hope to add many more to this list, when time permits. If you find something good, please send me an email. (My email address is at the very bottom of this page.)

Official Standards and Course Syllabi

  • The IEEE (Institute of Electrical and Electronic Engineers) and the ACM (Association of Computing Machinery) made an official document in 2013 that hopes to define what anyone with a Bachelor's Degree in Computer Science should definitely know. This updates similar documents from 2008, 2001, and the 20th century.

    • There are six PDF pages talking about discrete math, which they call 'the discrete structures knowledge area.' Click here for that.

    • In addition, in the appendices, they offer three PDF syllabi of example courses, to help instructors:
      • Portland Community College does it two semesters. It is four hours per week for an entire academic year! (8 credits, 80 total hours) Part One and Part Two
      • Union County College does it one semester. (3 credits, 42 total hours) Syllabus
      • Stanford University does it in two quarters (trimesters) of 10 weeks. (? credits, 38 total hours) 'CS103: Mathematical Foundations of Computer Science,' and 'CS109: Probability Theory for Computer Scientists.' Combined File Note: these two courses are available for free, on the web! (This is includes the schedule, the problem sets, exams, etc...) The link can be found below.
      • To this, I'd like to add the UW Stout course document. We were not at all included in the official report. Official Description. (3 credits, 42 total hours)

    • For the entire 518-page document, click here.

  • Separate from that, the CRAFTY (Curriculum Renewal Across the First Two Years), a subcommittee of the Mathematical Association of America, ran the Curriculum Foundations Project: Voices of the Partner Disciplines, from November 1999 to November 2001. The idea was to talk to experts from other disciplines, to learn what should be taught to undergraduates in various majors (e.g. Chemistry, Business Management, Physics, Biology, and many separate branches of Engineering).

    • Chapter 5 deals with Computer Science, and much of it is a description of a discrete mathematics course. It is 13 pages as a PDF, and while it was completed in 1999, it seems to still be very relevant. (click here)

    • For the entire report, including all disciplines, click here. (It's actually rather fun to read about what mathematics gets actually used in subjects like Chemical Engineering.)

Links to Other Useful Discrete Math Resources

  • As noted earlier, Standford University has generously put the two courses that it uses for discrete mathematics, on the web for free!

  • MIT (the Massachusetts Institute of Technology) Open Courseware project has a course on discrete mathematics called Mathematics for Computer Science, aimed at Electrical Engineering and Computer Science students, that is also entirely free (with videos).

  • Wikipedia---the free online encyclopedia---has a large article on Discrete Mathematics including several of its applications. While I frequently read Wikipedia and donate my time and some money to that website, and love it, I must confess that the math articles are often extremely hard to read.

  • MathWorld is another free encyclopedia. However, unlike Wikipedia, the articles are thoroughly checked and signed, and are often easy to understand. Discrete Mathematics is one of their 11 high-level subdivisions.

  • The SageMathCell server is an extremely quick way to do computations in Sage when you're on the go. (Sage is a free computer algebra system, the open-source competitor to Maple, Mathematica, MAGMA, and MATLAB.)

  • The following article is by a professor who is a veteran discrete mathematics instructor, and author of a successful textbook for discrete mathematics. Her research area includes techniques for teaching students about proof writing. I find the insights to be extremely true, relevant, useful, and deep. I highly recommend this article to any instructor of any undergraduate mathematics course that involves proof writing.
  • Susanna S. Epp, "The Role of Logic in Teaching Proof." The American Mathematical Monthly. Vol. 110, No. 10 (December, 2003), pp. 886--899.


To Contact me, or to Submit Something

If you have come across a free resource and wish to link to it here, then please write to me (Prof. Gregory V. Bard) at the following email address. I will be very happy to hear from you. I happily accept any recommendations about online resources, tutorials, free textbooks, practice exercises, course syllabi, or anything that will help discrete math students solve problems. (The email address below is an image, to protect me from spam bots.) Please place "Discrete Math Hub" in the subject line. Feel free to also visit my professional webpage or my personal webpage.


Last modified on January 6th, 2021.
World Map of Visitors