Combinatorics and Probability (Coursera)

Combinatorics and Probability (Coursera)

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.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

In this course we discuss most standard combinatorial settings that can help to answer questions of this type. We will especially concentrate on developing the ability to distinguish these settings in real life and algorithmic problems. This will help the learner to actually implement new knowledge. Apart from that we will discuss recursive technique for counting that is important for algorithmic implementations.
One of the main `consumers’ of Combinatorics is Probability Theory. This area is connected with numerous sides of life, on one hand being an important concept in everyday life and on the other hand being an indispensable tool in such modern and important fields as Statistics and Machine Learning. In this course we will concentrate on providing the working knowledge of basics of probability and a good intuition in this area. The practice shows that such an intuition is not easy to develop.
In the end of the course we will create a program that successfully plays a tricky and very counterintuitive dice game.
As prerequisites we assume only basic math (e.g., we expect you to know what is a square or how to add fractions), basic programming in python (functions, loops, recursion), common sense and curiosity. Our intended audience are all people that work or plan to work in IT, starting from motivated high school students.
Course 2 of 5 in the Introduction to Discrete Mathematics for Computer Science Specialization.

Syllabus

WEEK 1
Basic Counting
Suppose we need to count certain objects. Can we do anything better than just list all the objects? Do we need to create a list all phone numbers to check whether there are enough phone numbers for everyone? Is there a way to tell whether 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. In this module we will give an introduction to this field that will help us to answer basic versions of the above questions.

WEEK 2
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 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!

WEEK 3
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.

WEEK 4
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 situations.

WEEK 5
Random Variables
In the previous module we discussed how to compute probabilities of random events. But in many practical situation we are interested not only in positive or negative outcome, but also in some quantitative characteristics of an outcome. Among these cases are number of steps of an algorithms, number of points that one can win in the games involving any kind of randomness, all quantitative characteristics of a random person in some group of people. Basically settings of this kind arise in all situations when (a) any kind of uncertainty is presented (b) we are interested in quantitative characteristics. The mathematical model for this is called random variables. And we will discuss them in this module.

WEEK 6
Project: Dice Games
In this module, we will apply accumulated knowledge to create a project solving a certain dice game. The game is very simple: two players pick a dice each from a given pool of dices with various numbers on their sides. Then each player throws his dice and the one with the greater number on his dice wins. The game looks very simple and it seems that it is very easy to play this game optimally once we know our pool of dices. Yet it turns out that this intuition is overwhelmingly wrong: the game turns out to be very counterintuitive. In this module we will discuss the game in detail and create a program that finds an optimal strategy to play the game on a given pool of dices.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Excel/VBA for Creative Problem Solving, Part 2 (Coursera) Coursera
University of Colorado Boulder

Excel/VBA for Creative Problem Solving, Part 2 (Coursera)

Excel/VBA for Creative Problem Solving, Part 2" builds off of knowledge and skills obtained in "Excel/VBA for Creative Problem Solving, Part 1" and is aimed at learners who are seeking to augment, expand, optimize, and increase the efficiency of their Excel spreadsheet skills by tapping into the powerful programming, automation, and customization capabilities available with Visual Basic for Applications (VBA).

Aug 10th 2026
4 Weeks
Fundamentals of Engineering Exam Review (Coursera) Coursera
Georgia Institute of Technology

Fundamentals of Engineering Exam Review (Coursera)

The purpose of this course is to review the material covered in the Fundamentals of Engineering (FE) exam to enable the student to pass it. It will be presented in modules corresponding to the FE topics, particularly those in Civil and Mechanical Engineering. Each module will review main concepts, illustrate them with examples, and provide extensive practice problems.

Aug 10th 2026
5-12 Weeks
Pre-MBA Statistics (Coursera) Coursera
Indian Institute of Management Ahmedabad (IIMA)

Pre-MBA Statistics (Coursera)

Welcome to the Pre-MBA Statistics course! By the end of this course, you will be able to describe how statistics can be used to summarize, analyze, and interpret data. This course introduces you to some aspects of descriptive and inferential statistics. You will learn to distinguish between various data types and describe the operations that you can execute with each type of data and the right tools to use.

Aug 17th 2026
5-12 Weeks
Python and Statistics for Financial Analysis (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Python and Statistics for Financial Analysis (Coursera)

Python is now becoming the number 1 programming language for data science. Due to python’s simplicity and high readability, it is gaining its importance in the financial industry. The course combines both python coding and statistical concepts and applies into analyzing financial data, such as stock data.

Aug 10th 2026
4 Weeks
Probability and Statistics: To p or not to p? (Coursera) Coursera
University of London

Probability and Statistics: To p or not to p? (Coursera)

We live in an uncertain and complex world, yet we continually have to make decisions in the present with uncertain future outcomes. Indeed, we should be on the look-out for "black swans" - low-probability high-impact events. To study, or not to study? To invest, or not to invest? To marry, or not to marry?

Aug 10th 2026
5-12 Weeks
A Crash Course in Causality: Inferring Causal Effects from Observational Data (Coursera) Coursera
University of Pennsylvania

A Crash Course in Causality: Inferring Causal Effects from Observational Data (Coursera)

We have all heard the phrase “correlation does not equal causation.” What, then, does equal causation? This course aims to answer that question and more! Over a period of 5 weeks, you will learn how causal effects are defined, what assumptions about your data and models are necessary, and how to implement and interpret some popular statistical methods. Learners will have the opportunity to apply these methods to example data in R (free statistical software environment).

Aug 17th 2026
5-12 Weeks
Big Data Analysis with Scala and Spark (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Big Data Analysis with Scala and Spark (Coursera)

Manipulating big data distributed over a cluster using functional concepts is rampant in industry, and is arguably one of the first widespread industrial uses of functional ideas. This is evidenced by the popularity of MapReduce and Hadoop, and most recently Apache Spark, a fast, in-memory distributed collections framework written in Scala. In this course, we'll see how the data parallel paradigm can be extended to the distributed case, using Spark throughout.

Aug 17th 2026
4 Weeks
Introducción a la Minería de Datos (Coursera) Coursera
Pontificia Universidad Católica de Chile

Introducción a la Minería de Datos (Coursera)

En este curso, aprenderás de manera gradual y práctica los conceptos básicos de Minería de Datos, junto a los algoritmos más utilizados hoy en día. Al finalizar el curso, serás capaz de entender la importancia de manejar la información y de explorar por ti mismo distintas bases de datos reales. Este curso es el primer paso para convertirte en un/a profesional con habilidades básicas de un científico de datos o Data Scientist, de manera tal que puedas abrirle la puerta al futuro.

Aug 10th 2026
5-12 Weeks
Practical Time Series Analysis (Coursera) Coursera
The State University of New York

Practical Time Series Analysis (Coursera)

Many of us are "accidental" data analysts. We trained in the sciences, business, or engineering and then found ourselves confronted with data for which we have no formal analytic training. This course is designed for people with some technical competencies who would like more than a "cookbook" approach, but who still need to concentrate on the routine sorts of presentation and analysis that deepen the understanding of our professional topics.

Aug 10th 2026
5-12 Weeks