Wolfram Computation Meets Knowledge

Don’t Be Discreet and Learn Discrete Mathematics with Wolfram Language

Don't Be Discreet and Learn Discrete Mathematics with Wolfram Language

“The spread of computers and the internet will put jobs in two categories. People who tell computers what to do, and people who are told by computers what to do.”
Marc Andreessen, inventor of the Netscape browser

How is data organized in databases? Why are some computer programs faster than others? How can algorithms be mathematically proven? The answers to these questions require an understanding of discrete mathematics, which focuses on the mathematics behind computing and, more generally, integers. In fact, an understanding of discrete mathematics is required for professionals in a large number of fields, such as data science, software engineering and development, computer science, economics, biology and linguistics.

I am glad to announce the launch of Introduction to Discrete Mathematics, a free interactive course that aims to explore the world of integers and information. This course investigates the mathematical foundations of computation and information theory. It is designed to be compact and efficient, minimizing the number of redundant examples and amount of potentially distracting background material. Topics follow what you would see in an entry-level computer science mathematics course, but this course also takes advantage of Wolfram Language to do calculations and simulations to illustrate important concepts with concrete demonstrations.

Clicking the following will take you directly to the course, where you can instantly venture into the beautiful world of integers.

Go to free course

Motivation from History

Mathematics began with discrete units—only integers were used. Throughout history, the foundations of mathematics were attributed to logic, set theory, group theory or Peano arithmetic, all of which are part of discrete mathematics. As such, the foundations of continuous mathematics are discrete.

Despite the fact that mathematicians have historically focused more on continuous mathematics and have regarded it as more general, many important mathematical problems require a purely discrete approach, which is truer today than ever. Indeed, modern computation devices of all kinds are distinctly discrete. As these technologies advance, the importance of discrete mathematics increases analogously. Here is a gallery of distinguished mathematicians and computer scientists who have made significant contributions to discrete mathematics:

Aristotle, Leonhard Euler, Georg Cantor, Paul Erdős and Donald Knuth


This course explores many important branches of mathematics and gives a number of opportunities to deepen your understanding of the subject. The branches explored are logic, discrete structures, combinatorics, algorithms, proofs, recurrences and graphs. These various subjects will allow students to model, compute and analyze information.

Here is a bit of a sneak peak of the lesson contents:

Introduction to Discrete Mathematics course contents

This course has 25 short video lessons. The order of lessons is only a suggestion, as each section can be studied independently. You will be able to watch all of the videos and complete the seven short quizzes in four hours, but I recommend attempting all exercises and reading their solutions to cement your knowledge, which may take you an additional three hours.

This course does not have any mathematical requirement. Anyone having minimal knowledge of Wolfram Language can excel. This course is aimed at beginners in both computer science and mathematics: it provides the prior knowledge needed for many other courses in these subjects.

Now for a more detailed explanation of the course.


This course is built around a collection of 25 lessons that aim to build the student’s capacity to formulate discrete problems and solutions mathematically and computationally. Discrete problems can often be unintuitive; therefore, formulating them correctly is often as hard as solving them.

Here is a glimpse of Lesson 1, “What Is Discrete Mathematics?”:

Lesson 1

The full lesson notebook used in the video is also included, so you will have the code to try out problems and interactive demonstrations for yourself. Any code in these notebooks can be copied with a simple click, and that code can be pasted into (and edited within) the scratch notebook area at the bottom of the screen.

Videos for each lesson are around eight minutes long, but length may vary depending on the requirements of the material—the video on permutations and combinations, for example, is the longest video at 12 minutes, but it details important combinatorial problems that are known to be the most difficult for beginners. The longer exploration of such topics aims to facilitate understanding through practice.


Additionally, each lesson has a separate set of 10 exercises. Exercises 1 through 9 are of similar difficulty, giving you many examples on which to apply the concepts seen in the corresponding lesson. All exercises also have solutions included. It is recommended to do exercises until the concepts are familiar to you:

Sample exercise from course

Exercise 10 is special in that it is more difficult and it can require knowledge from other sections in the course. You may want to come back to it once you have the required knowledge:

Exercise 10


Every lesson ends with a Resources section. This is meant for students who want to go beyond the course material. If the provided exercises are insufficient, many textbooks are given to provide more practice and deepen your understanding. For advanced computer science students or pure and applied mathematics students, this section provides useful comments and resources regarding the formal correctness of the concepts in the section:

Resources section


Each of the seven sections in the course ends with a short, six-question, multiple-choice quiz. Quiz questions are not as difficult as the exercises and aim to test your general understanding of the section. Anyone who does a few exercises and reviews their solutions will likely pass the quiz without difficulty:

Sample problem

Students receive instant feedback upon submitting their responses to the quiz questions, and they can use any reasonable method to arrive at the correct answer.

Course Certificate

Students who wish to take advantage of everything this course has to offer will, by the time they complete it, have watched all 25 lessons and passed the seven quizzes. At this point, students can—and should!—request a certificate of completion showing their knowledge in the field of discrete mathematics. This certificate can easily be added to your résumé or social media profile!

Course completion certificate

This course also has an optional final exam that you can take after completing all of the material. This final exam has more questions and a slightly higher difficulty than the quizzes, and if you pass, you will receive a more advanced Level 1 Certification.

Daily Study Group Preview

Wolfram U offered a glimpse of the course lessons and quizzes to Daily Study Group participants earlier this October, and we received some valuable feedback. Here is what participants said:

  • “As a software engineer, this certainly made me relate the maths and programming for me to be a better programmer.”
  • “The visualizations and simulations in the presentation slides are amazing.”
  • “The exercises were very interesting and instructive.”
  • “For non-computer specialists, the conductor has taken simple but very clever examples to teach us the importance of the subject.”
  • “So much has changed in discrete math in the last 10 years so I learned a great deal more than before.”
  • “Thank you very much for putting so much efforts in this course, it was very interesting and useful.”

A Building Block for Success

The applicability of the concepts in this course reach far beyond the domains mentioned, but the greatest strength of discrete mathematics lies in its role in modern computation. If studied seriously, this Introduction to Discrete Mathematics course will provide you with the knowledge and intuition necessary for success in whatever computational field you choose to pursue.

“Continuity connotes unity; discreteness, plurality.”
John Lane Bell


This course is the result of the work of the Wolfram U team and the Algorithms R&D team. I would like to thank Devendra Kapadia, Anisha Basil, Joyce Tracewell, Abrita Chakravarty, Matt Coleman, Mariah Laugesen and Laura Crawford for all the work they put into getting this course up and running.

Register for one of Wolfram U’s Daily Study Groups.


Join the discussion

!Please enter your comment (at least 5 characters).

!Please enter your name.

!Please enter a valid email address.