University of California San Diego

Combinatorics and Probability

Владимир Подольский
Alexander S. Kulikov

Instructors: Владимир Подольский

45,496 already enrolled

Included with Coursera Plus

Gain insight into a topic and learn the fundamentals.
4.6

(856 reviews)

Beginner level
No prior experience required
Flexible schedule
Approx. 23 hours
Learn at your own pace
89%
Most learners liked this course
Gain insight into a topic and learn the fundamentals.
4.6

(856 reviews)

Beginner level
No prior experience required
Flexible schedule
Approx. 23 hours
Learn at your own pace
89%
Most learners liked this course

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

47 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

Placeholder

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
Placeholder
Placeholder

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV

Share it on social media and in your performance review

Placeholder

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: 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

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

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

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

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

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

Instructors

Instructor ratings
4.4 (114 ratings)
Владимир Подольский
8 Courses223,599 learners
Alexander S. Kulikov
University of California San Diego
13 Courses821,281 learners

Offered by

Recommended if you're interested in Algorithms

Why people choose Coursera for their career

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."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
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."
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

4.6

856 reviews

  • 5 stars

    70.44%

  • 4 stars

    20.09%

  • 3 stars

    6.89%

  • 2 stars

    1.05%

  • 1 star

    1.51%

Showing 3 of 856

PR
5

Reviewed on Aug 2, 2019

SS
5

Reviewed on Jul 16, 2020

UV
4

Reviewed on Jan 22, 2020

New to Algorithms? Start here.

Placeholder

Open new doors with Coursera Plus

Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions