We may earn an affiliate commission when you visit our partners.
Course image
Alexander S. Kulikov, Michael Levin, Vladimir Podolskii, and Владимир Подольский

Discrete Mathematics is the language of Computer Science. One needs to be fluent in it to work in many fields including data science, machine learning, and software engineering (it is not a coincidence that math puzzles are often used for interviews). We introduce you to this language through a fun try-this-before-we-explain-everything approach: first you solve many interactive puzzles that are carefully designed specifically for this online specialization, and then we explain how to solve the puzzles, and introduce important ideas along the way. We believe that this way, you will get a deeper understanding and will better appreciate the beauty of the underlying ideas (not to mention the self confidence that you gain if you invent these ideas on your own!). To bring your experience closer to IT-applications, we incorporate programming examples, problems, and projects in the specialization.

Enroll now

Share

Help others find Specialization from Coursera by sharing it with your friends and followers:

What's inside

Five courses

Mathematical Thinking in Computer Science

(0 hours)
Mathematical thinking is crucial in computer science. In this course, we will learn induction, recursion, logic, invariants, examples, and optimality. We will use these tools to answer typical programming questions.

Combinatorics and Probability

(0 hours)
Counting is one of the basic mathematically related tasks we encounter on a day to day basis. The main question here is the following: If we need to count something, can we do anything better than just counting all objects one by one?

Introduction to Graph Theory

(0 hours)
We invite you to a fascinating journey into Graph Theory — an area which connects the elegance of painting and the rigor of mathematics. Graph Theory gives us, both an easy way to pictorially represent many major mathematical results, and insights into the deep theories behind them.

Number Theory and Cryptography

(0 hours)
Number theory, once considered useless, now forms the basis of RSA encryption, used extensively in internet security. This course introduces number theory and its applications in cryptography, enabling students to encrypt and decrypt messages and break codes. Prerequisites include basic math, Python programming, and curiosity.

Delivery Problem

(0 hours)
In this online course, we'll implement efficient programs for the travelling salesman problem, a problem needed by delivery companies millions of times per day. The goal is to visit all the given places as quickly as possible. We'll implement several solutions for real-world instances of the problem, relying on proof techniques, combinatorics, probability, and graph theory.

Save this collection

Save Introduction to Discrete Mathematics for Computer Science to your list so you can find it easily later:
Save
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser