Discrete Mathematics
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Ask Coursera
203 reviews
203 reviews
Details to know
See how employees at top companies are mastering in-demand skills
There are 11 modules in this course
Discrete mathematics forms the mathematical foundation of computer and information science. It is also a fascinating subject in itself.
Learners will become familiar with a broad range of mathematical objects like sets, functions, relations, graphs, that are omnipresent in computer science. Perhaps more importantly, they will reach a certain level of mathematical maturity - being able to understand formal statements and their proofs; coming up with rigorous proofs themselves; and coming up with interesting results. This course attempts to be rigorous without being overly formal. This means, for every concept we introduce we will show at least one interesting and non-trivial result and give a full proof. However, we will do so without too much formal notation, employing examples and figures whenever possible. The main topics of this course are (1) sets, functions, relations, (2) enumerative combinatorics, (3) graph theory, (4) network flow and matchings. It does not cover modular arithmetic, algebra, and logic, since these topics have a slightly different flavor and because there are already several courses on Coursera specifically on these topics.
This module gives the learner a first impression of what discrete mathematics is about, and in which ways its "flavor" differs from other fields of mathematics. It introduces basic objects like sets, relations, functions, which form the foundation of discrete mathematics.
What's included
2 videos1 assignment2 peer reviews
2 videos•Total 27 minutes
- Introduction to the course•17 minutes
- Sets, Relations, Functions•10 minutes
1 assignment•Total 90 minutes
- Sets, relations, and functions•90 minutes
2 peer reviews•Total 180 minutes
- Exercises for introduction lesson•90 minutes
- Sets, Relations, Functions•90 minutes
Even without knowing, the learner has seen some orderings in the past. Numbers are ordered by <=. Integers can be partially ordered by the "divisible by" relation. In genealogy, people are ordered by the "A is an ancestor of B" relation. This module formally introduces partial orders and proves some fundamental and non-trivial facts about them.
What's included
2 videos1 assignment1 peer review
2 videos•Total 28 minutes
- Partial orderings: basic notions•13 minutes
- Mirsky's and Dilworth's Theorem•15 minutes
1 assignment•Total 120 minutes
- Partial orders, maximal and minimal elements, chains, antichains•120 minutes
1 peer review•Total 120 minutes
- Partial orders, maximal and minimal elements, chains, antichains•120 minutes
A big part of discrete mathematics is about counting things. A classic example asks how many different words can be obtained by re-ordering the letters in the word Mississippi. Counting problems of this flavor abound in discrete mathematics discrete probability and also in the analysis of algorithms.
What's included
3 videos1 assignment1 peer review
3 videos•Total 35 minutes
- How to Count Functions, Injections, Permutations, and Subsets•12 minutes
- Evaluating Simple Sums•8 minutes
- Pascal's Triangle•15 minutes
1 assignment•Total 120 minutes
- Counting Basic Objects•120 minutes
1 peer review•Total 120 minutes
- Counting Basic Objects•120 minutes
The binomial coefficient (n choose k) counts the number of ways to select k elements from a set of size n. It appears all the time in enumerative combinatorics. A good understanding of (n choose k) is also extremely helpful for analysis of algorithms.
What's included
3 videos1 assignment2 peer reviews
3 videos•Total 55 minutes
- Combinatorial Identities•14 minutes
- Estimating the Binomial Coefficient•22 minutes
- Excursion to Discrete Probability: Computing the Expected Minimum of k Random Elements from {1,...,n}•18 minutes
1 assignment•Total 30 minutes
- An Eagle's View of Pascal's Triangle•30 minutes
2 peer reviews•Total 200 minutes
- Combinatorial Identities•100 minutes
- Digging Into Pascal's Triangle•100 minutes
What's included
1 video1 assignment2 peer reviews
1 video•Total 14 minutes
- Asymptotics and the O( )-Notation•14 minutes
1 assignment•Total 30 minutes
- The Big-O-Notation•30 minutes
2 peer reviews•Total 240 minutes
- Basic Facts•120 minutes
- Classes that often occur in complexity theory•120 minutes
Graphs are arguably the most important object in discrete mathematics. A huge number of problems from computer science and combinatorics can be modelled in the language of graphs. This module introduces the basic notions of graph theory - graphs, cycles, paths, degree, isomorphism.
What's included
3 videos1 assignment2 peer reviews
3 videos•Total 41 minutes
- Basic Notions and Examples•11 minutes
- Graph Isomorphism, Degree, Graph Score•13 minutes
- Graph Score Theorem•16 minutes
1 assignment•Total 30 minutes
- Graphs, isomorphisms, and the sliding tile puzzle•30 minutes
2 peer reviews•Total 210 minutes
- Graphs and Isomorphisms•90 minutes
- The Graph Score Theorem•120 minutes
We continue with graph theory basics. In this module, we introduce trees, an important class of graphs, and several equivalent characterizations of trees. Finally, we present an efficient algorithm for detecting whether two trees are isomorphic.
What's included
3 videos1 assignment2 peer reviews
3 videos•Total 36 minutes
- Graphs and Connectivity•9 minutes
- Cycles and Trees•15 minutes
- An Efficient Algorithm for Isomorphism of Trees•12 minutes
1 assignment•Total 30 minutes
- Cycles and Trees•30 minutes
2 peer reviews•Total 220 minutes
- Cycles and Trees•120 minutes
- Spanning Tree Exchange Graph•100 minutes
Starting with the well-known "Bridges of Königsberg" riddle, we prove the well-known characterization of Eulerian graphs. We discuss Hamiltonian paths and give sufficient criteria for their existence with Dirac's and Ore's theorem.
What's included
2 videos1 assignment1 peer review
2 videos•Total 27 minutes
- Eulerian Cycles•11 minutes
- Hamilton Cycles - Ore's and Dirac's Theorem•16 minutes
1 assignment•Total 60 minutes
- Hamiltonian Cycles and Paths•60 minutes
1 peer review•Total 120 minutes
- Hamiltonian Cycles and Paths•120 minutes
We discuss spanning trees of graphs. In particular we present Kruskal's algorithm for finding the minimum spanning tree of a graph with edge costs. We prove Cayley's formula, stating that the complete graph on n vertices has n^(n-2) spanning trees.
What's included
2 videos1 assignment2 peer reviews
2 videos•Total 29 minutes
- Minimum Spanning Trees•14 minutes
- The Number of Trees on n Vertices•15 minutes
1 assignment•Total 40 minutes
- Spanning Trees•40 minutes
2 peer reviews•Total 220 minutes
- Minimum Spanning Trees•100 minutes
- Counting Trees on n Vertices•120 minutes
This module is about flow networks and has a distinctively algorithmic flavor. We prove the maximum flow minimum cut duality theorem.
What's included
2 videos1 assignment1 peer review
2 videos•Total 29 minutes
- Flow Networks, Flows, Cuts: Basic Notions and Examples•14 minutes
- Flow Networks: The Maxflow - Mincut Theorem•15 minutes
1 assignment•Total 30 minutes
- Network flow•30 minutes
1 peer review•Total 120 minutes
- Network Flows•120 minutes
We prove Hall's Theorem and Kőnig's Theorem, two important results on matchings in bipartite graphs. With the machinery from flow networks, both have quite direct proofs. Finally, partial orderings have their comeback with Dilworth's Theorem, which has a surprising proof using Kőnig's Theorem.
What's included
3 videos1 peer review
3 videos•Total 46 minutes
- Matchings in Bipartite Graphs - Basic Notions and an Algorithm•13 minutes
- Matchings in Bipartite Graphs: Hall's and König's Theorem•17 minutes
- Partial Orders: Dilworth's Theorem on Chains and Antichains•16 minutes
1 peer review•Total 60 minutes
- Matchings in Bipartite Graphs•60 minutes
Instructor
Offered by
Why people choose Coursera for their career
Learner reviews
- 5 stars
41.87%
- 4 stars
12.31%
- 3 stars
6.89%
- 2 stars
9.85%
- 1 star
29.06%
Showing 3 of 203
Reviewed on Oct 13, 2024
This course is really interesting for me with many helpful tools.
Reviewed on Sep 18, 2024
THIS IS VERY USEFUL COURSE FOR THE BEGINNER STUDENT
Reviewed on Aug 8, 2017
Short course!! I use it to review my discrete math knowledge.
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 purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, 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.
More questions
Financial aid available,
¹ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.
