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? Do we need to create a list of all phone numbers to ensure that there are enough phone numbers for everyone? Is there a way to tell that our algorithm will run in a reasonable time before implementing and actually running it? All these questions are addressed by a mathematical field called Combinatorics.

This course is part of the Introduction to Discrete Mathematics for Computer Science Specialization

**34,513**already enrolled

Offered By

## About this Course

### Learner Career Outcomes

## 29%

## 40%

## Skills you will gain

### Learner Career Outcomes

## 29%

## 40%

## Offered by

### University of California San Diego

UC San Diego is an academic powerhouse and economic engine, recognized as one of the top 10 public universities by U.S. News and World Report. Innovation is central to who we are and what we do. Here, students learn that knowledge isn't just acquired in the classroom—life is their laboratory.

### HSE University

HSE University is one of the top research universities in Russia. Established in 1992 to promote new research and teaching in economics and related disciplines, it now offers programs at all levels of university education across an extraordinary range of fields of study including business, sociology, cultural studies, philosophy, political science, international relations, law, Asian studies, media and communicamathematics, engineering, and more.

## Syllabus - What you will learn from this course

**3 hours to complete**

## Basic Counting

Counting is one of the basic mathematically related tasks we encounter on a day to day basis. The main question here is the following: can we count the number of objects without listing all of them? This question arises naturally in various scenarios both in real life and in Computer Science. What is the number of different phone numbers or license plates? What is the number of different combinations one needs to brute force in order to crack a password? Is there a way to tell that an algorithm will run in a reasonable time before implementing and actually running it? All these questions are addressed by a mathematical field called combinatorics. In this module, we consider the basic building blocks of combinatorics. All of them are easy to understand and at the same time are powerful enough to handle various non-trivial questions. To help you to develop an intuition, we consider short Python code snippets for generating the objects to be counted.

**3 hours to complete**

**4 hours to complete**

## Binomial Coefficients

In how many ways one can select a team of five students out of ten students? What is the number of non-negative integers with at most five digits whose digits are decreasing? In how many ways one can get from the bottom left cell to the top right cell of a 5x5 grid, each time going either up or to the right? And why all these three numbers are equal? We'll figure this out in this module!

**4 hours to complete**

**3 hours to complete**

## Advanced Counting

We have already considered most of the most standard settings in Combinatorics, that allow us to address many counting problems. However, successful application of this knowledge on practice requires considerable experience in this kind of problems. In this module we will address the final standard setting in our course, combinations with repetitions, and then we will gain some experience by discussing various problems in Combinatorics.

**3 hours to complete**

**5 hours to complete**

## Probability

The word "probability" is used quite often in the everyday life. However, not always we can speak about probability as some number: for that a mathematical model is needed. What is this mathematical model (probability space)? How to compute probabilities (if the model is given)? How to judge whether the model is adequate? What is conditional probability and Bayes' theorem? How our plausible reasoning can be interpreted in terms of Bayes' theorem? In this module we cover these questions using some simple examples of probability spaces and real life sutiations.

**5 hours to complete**

## Reviews

### TOP REVIEWS FROM COMBINATORICS AND PROBABILITY

Special thanks to Prof. Vladimir Podolskii and Prof. Alexander S. Kulikov for their amazing explanations and diligent visuals of the concepts as well as problem sets. You Rock!

Great course. The final Project unclear had instructions on how to provide input. I spent a lot of time trying to troubleshoot it even though I already have a correct solution

This course provided me with new ways to confront the problems of combinatorics. I am very grateful to the faculty for their content and coursera for giving me financial aid.

It's a perfect introduction to combinatorics and probability, short, fun, and easy to understand. I would like to see more puzzles, those are extremely fun and interesting

## About the Introduction to Discrete Mathematics for Computer Science Specialization

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.

## Frequently Asked Questions

When will I have access to the lectures and assignments?

What will I get if I subscribe to this Specialization?

Is financial aid available?

Will I earn university credit for completing the Course?

More questions? Visit the Learner Help Center.