VOOZH about

URL: https://www.coursera.org/learn/combinatorics

⇱ Combinatorics and Probability | Coursera


Combinatorics and Probability

Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Gain insight into a topic and learn the fundamentals.
4.6

872 reviews

Beginner level
No prior experience required
Flexible schedule
2 weeks at 10 hours a week
Learn at your own pace
89%
Most learners liked this course

Gain insight into a topic and learn the fundamentals.
4.6

872 reviews

Beginner level
No prior experience required
Flexible schedule
2 weeks at 10 hours a week
Learn at your own pace
89%
Most learners liked this course

Build your subject-matter expertise

This course is part of the Introduction to Discrete Mathematics for Computer Science Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate

There are 6 modules in this course

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.

In this online 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.

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.

What's included

13 readings11 assignments

13 readingsTotal 143 minutes
  • Companion e-book3 minutes
  • Why Counting10 minutes
  • Rule of Sum10 minutes
  • How Not to Use the Rule of Sum10 minutes
  • Convenient Language: Sets20 minutes
  • Generalized Rule of Sum10 minutes
  • Number of Paths20 minutes
  • Rule of Product10 minutes
  • Back to Recursive Counting10 minutes
  • Number of Tuples10 minutes
  • Licence Plates10 minutes
  • Tuples with Restrictions10 minutes
  • Permutations10 minutes
11 assignmentsTotal 150 minutes
  • Rule of Sum in Programming4 minutes
  • Operations with Sets10 minutes
  • Generalized Rule of Sum18 minutes
  • Rule of Product in Programming10 minutes
  • Applications of the Rule of Product12 minutes
  • Tuples5 minutes
  • License Plates3 minutes
  • Counting with Restrictions20 minutes
  • Numbers Divisible by 2 or 38 minutes
  • Puzzle: Number of Paths30 minutes
  • Number of passwords30 minutes

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!

What's included

8 videos4 readings6 assignments

8 videosTotal 76 minutes
  • Previously on Combinatorics6 minutes
  • Number of Games in a Tournament11 minutes
  • Combinations9 minutes
  • Pascal's Triangle10 minutes
  • Symmetries4 minutes
  • Row Sums11 minutes
  • Binomial Theorem13 minutes
  • Practice Counting13 minutes
4 readingsTotal 40 minutes
  • Generating Combinatorial Objects: Code10 minutes
  • Slides10 minutes
  • Slides10 minutes
  • Slides10 minutes
6 assignmentsTotal 119 minutes
  • Number of Segments and Diagonals20 minutes
  • Forming Sport Teams15 minutes
  • Sum of the First Six Rows of Pascal's Triangle30 minutes
  • Expanding (3a-2b)^k20 minutes
  • Practice Counting30 minutes
  • Number of Iterations of Nested For Loops4 minutes

We have already considered most of the 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.

What's included

7 readings8 assignments

7 readingsTotal 70 minutes
  • Review10 minutes
  • Salads10 minutes
  • Combinations with Repetitions10 minutes
  • Distributing Assignments10 minutes
  • Distributing Candies Among Kids10 minutes
  • Counting Credit Card PINs10 minutes
  • Splitting into Working Groups10 minutes
8 assignmentsTotal 122 minutes
  • Salads10 minutes
  • Combinations with Repetitions10 minutes
  • Problems in Combinatorics45 minutes
  • Distributing Assignments Among People10 minutes
  • Distributing Candies Among Kids15 minutes
  • Numbers with Fixed Sum of Digits15 minutes
  • Numbers with Non-increasing Digits7 minutes
  • Splitting into Working Groups10 minutes

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.

What's included

17 videos4 readings11 assignments

17 videosTotal 126 minutes
  • The Paradox of Probability Theory4 minutes
  • Galton Board6 minutes
  • Natural Sciences and Mathematics6 minutes
  • Rolling Dice8 minutes
  • More Probability Spaces10 minutes
  • Not Equiprobable Outcomes5 minutes
  • More About Finite Spaces6 minutes
  • Mathematics for Prisoners8 minutes
  • Not All Questions Make Sense10 minutes
  • What Is Conditional Probability?7 minutes
  • How Reliable Is The Test?8 minutes
  • Bayes' Theorem9 minutes
  • Conditional Probability: A Paradox7 minutes
  • Past and Future8 minutes
  • Independence8 minutes
  • Monty Hall Paradox8 minutes
  • `Our Position'6 minutes
4 readings
  • Slides0 minutes
  • Slides0 minutes
  • Slides0 minutes
  • Slides0 minutes
11 assignmentsTotal 168 minutes
  • Concentration for Galton Board10 minutes
  • Computing Probabilities for Two Dice12 minutes
  • Computing Probabilities: More Examples12 minutes
  • Fair Decisions and Imperfect Coins20 minutes
  • Puzzle: Prisoner and King30 minutes
  • Inclusion-Exclusion Formula10 minutes
  • Computing Conditional Probabilities16 minutes
  • Prisoner, King and Conditional Probabilities10 minutes
  • More Conditional Probabilities8 minutes
  • More About Independence20 minutes
  • Monty Hall Gone Crazy20 minutes

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.

What's included

8 readings10 assignments1 ungraded lab

8 readingsTotal 80 minutes
  • Random Variables10 minutes
  • Average10 minutes
  • Expectation10 minutes
  • Linearity of Expectation10 minutes
  • Birthday Problem10 minutes
  • Expectation is Not All10 minutes
  • From Expectation to Probability10 minutes
  • Markov’s Inequality10 minutes
10 assignmentsTotal 91 minutes
  • Random Variables8 minutes
  • Average15 minutes
  • Expectations10 minutes
  • Linearity of Expectation15 minutes
  • Bob’s Party5 minutes
  • More Linearity10 minutes
  • Average Income8 minutes
  • Bob’s Party Revisited5 minutes
  • Alice’s tests5 minutes
  • Birthday Problem10 minutes
1 ungraded labTotal 60 minutes
  • Birthday Problem Simulation60 minutes

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.

What's included

2 readings1 assignment

2 readingsTotal 20 minutes
  • Dice Game Problem10 minutes
  • Optimal Strategy10 minutes
1 assignmentTotal 120 minutes
  • Final Project: Dice Game120 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructors

Instructor ratings
4.4 (116 ratings)
University of California San Diego
13 Courses885,700 learners

Explore more from Algorithms

Why people choose Coursera for their career

👁 Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
👁 Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
👁 Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
👁 Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

  • 5 stars

    69.95%

  • 4 stars

    20.06%

  • 3 stars

    6.88%

  • 2 stars

    1.26%

  • 1 star

    1.83%

Showing 3 of 872

JY
·

Reviewed on Mar 1, 2018

Awesome course, good topics. Easy to get help. Some topics weren't that clear at first, but you'll eventually understand.

JC
·

Reviewed on Sep 8, 2020

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

GR
·

Reviewed on Sep 20, 2023

This whole specialization makes me regret not paying more attention in Math class. They teach math through games. One of the best courses I've taken on Coursera!

Frequently asked questions

To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.

When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,