- Level Foundation
- Duration 24 hours
- Course by University of California San Diego
-
Offered by
About
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.Modules
Starting to Count
4
Assignment
- Rule of Sum in Programming
- Numbers Divisible by 2 or 3
- Operations with Sets
- Generalized Rule of Sum
6
Readings
- Companion e-book
- Why Counting
- Rule of Sum
- How Not to Use the Rule of Sum
- Convenient Language: Sets
- Generalized Rule of Sum
Recursive Counting
3
Assignment
- Puzzle: Number of Paths
- Rule of Product in Programming
- Applications of the Rule of Product
3
Readings
- Number of Paths
- Rule of Product
- Back to Recursive Counting
Tuples and Permutations
4
Assignment
- Number of passwords
- Tuples
- License Plates
- Counting with Restrictions
4
Readings
- Number of Tuples
- Licence Plates
- Tuples with Restrictions
- Permutations
Combinations
3
Assignment
- Number of Segments and Diagonals
- Forming Sport Teams
- Number of Iterations of Nested For Loops
3
Videos
- Previously on Combinatorics
- Number of Games in a Tournament
- Combinations
2
Readings
- Generating Combinatorial Objects: Code
- Slides
Pascal's Triangle
2
Assignment
- Sum of the First Six Rows of Pascal's Triangle
- Expanding (3a-2b)^k
4
Videos
- Pascal's Triangle
- Symmetries
- Row Sums
- Binomial Theorem
1
Readings
- Slides
Practice Counting
1
Assignment
- Practice Counting
1
Videos
- Practice Counting
1
Readings
- Slides
Combinations with Repetitions
2
Assignment
- Salads
- Combinations with Repetitions
3
Readings
- Review
- Salads
- Combinations with Repetitions
Problems in Combinatorics
6
Assignment
- Distributing Assignments Among People
- Distributing Candies Among Kids
- Numbers with Fixed Sum of Digits
- Numbers with Non-increasing Digits
- Splitting into Working Groups
- Problems in Combinatorics
4
Readings
- Distributing Assignments
- Distributing Candies Among Kids
- Counting Credit Card PINs
- Splitting into Working Groups
What is Probability?
3
Assignment
- Concentration for Galton Board
- Computing Probabilities for Two Dice
- Computing Probabilities: More Examples
5
Videos
- The Paradox of Probability Theory
- Galton Board
- Natural Sciences and Mathematics
- Rolling Dice
- More Probability Spaces
1
Readings
- Slides
Probability: Do's and Don't's
3
Assignment
- Fair Decisions and Imperfect Coins
- Puzzle: Prisoner and King
- Inclusion-Exclusion Formula
4
Videos
- Not Equiprobable Outcomes
- More About Finite Spaces
- Mathematics for Prisoners
- Not All Questions Make Sense
1
Readings
- Slides
Conditional Probability
4
Assignment
- Computing Conditional Probabilities
- Prisoner, King and Conditional Probabilities
- More Conditional Probabilities
- More About Independence
6
Videos
- What Is Conditional Probability?
- How Reliable Is The Test?
- Bayes' Theorem
- Conditional Probability: A Paradox
- Past and Future
- Independence
1
Readings
- Slides
Monty Hall Paradox
1
Assignment
- Monty Hall Gone Crazy
2
Videos
- Monty Hall Paradox
- `Our Position'
1
Readings
- Slides
Random Variables and Expectations
3
Assignment
- Random Variables
- Average
- Expectations
3
Readings
- Random Variables
- Average
- Expectation
Linearity of Expectation
4
Assignment
- Linearity of Expectation
- Bob’s Party
- Birthday Problem
- More Linearity
1
Labs
- Birthday Problem Simulation
2
Readings
- Linearity of Expectation
- Birthday Problem
Expectation is Not All
1
Readings
- Expectation is Not All
Markov’s Inequality
3
Assignment
- Average Income
- Bob’s Party Revisited
- Alice’s tests
2
Readings
- From Expectation to Probability
- Markov’s Inequality
Dice Game Problem
1
Readings
- Dice Game Problem
Project Description
1
Assignment
- Final Project: Dice Game
1
Readings
- Optimal Strategy
Auto Summary
Dive into the fascinating world of Combinatorics and Probability with this foundation-level course designed for IT and Computer Science enthusiasts. Led by expert instructors from Coursera, this online program delves into efficient counting techniques, algorithmic problem-solving, and the basics of probability essential for fields like Statistics and Machine Learning. Ideal for motivated high school students and IT professionals, the course spans 1440 minutes and offers multiple subscription options, including Starter, Professional, and Paid plans. Basic math and Python knowledge are the only prerequisites needed to embark on this intellectually stimulating journey.

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

Alexander S. Kulikov