We may earn an affiliate commission when you visit our partners.
Dominik Scheder

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.

Read more

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.

Enroll now

What's inside

Syllabus

Introduction - Basic Objects in Discrete Mathematics
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.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Explores discrete mathematics, a fundamental cornerstone of computer science, with an emphasis on mathematical maturity
Develops a level of mathematical maturity, enabling learners to understand formal statements and proofs, create rigorous proofs of their own, and unearth fresh insights
Taught by instructors with expertise in discrete mathematics, ensuring learners are instructed by experienced professionals in the field
Covers core topics in discrete mathematics, including sets, functions, relations, graphs, enumerative combinatorics, graph theory, network flows, and matchings
Presents a balanced approach between rigor and accessibility, introducing complex concepts with real-world examples and visuals
Designed for learners with backgrounds in mathematics, preferably with some exposure to abstract mathematics

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Rigorous introduction to core discrete math

According to learners, this course offers a strong theoretical foundation in key areas of discrete mathematics relevant to computer science. Many found the course to be challenging yet rewarding, particularly praising the clear explanations and the focus on building mathematical maturity, including understanding and constructing proofs. While the lectures and problem sets are often cited as rigorous and effective for solidifying understanding, some students noted the difficulty level, suggesting it may require significant time commitment and potentially prior mathematical background.
Note what is included and excluded.
"Covers sets, functions, relations, combinatorics, graphs, flow, and matchings."
"Important to note it doesn't cover logic or modular arithmetic, as stated in the description."
"The syllabus clearly outlines the included topics, which is helpful for managing expectations."
Explanations in videos are easy to follow.
"The instructor explains complex topics in a very clear and understandable way."
"Video lectures were well-structured and helped clarify the written materials."
"I liked how they used examples and figures to illustrate abstract concepts in the lectures."
Covers areas important for computer science.
"The topics covered like graph theory, network flow, and combinatorics are directly applicable to computer science algorithms."
"Found the sections on matchings and flow networks particularly useful for my CS studies."
"Glad they included graph theory; it's everywhere in computing."
Emphasizes understanding and writing proofs.
"I really appreciated the focus on understanding proofs; it's a crucial skill this course helps develop."
"Learning how to construct rigorous proofs was a major takeaway for me."
"Unlike other courses, this one doesn't shy away from formal arguments and proofs, which is great."
Provides a solid base in core topics.
"This course provides an excellent foundation in the fundamental concepts of discrete mathematics essential for computer science."
"I feel much more confident in my understanding of sets, relations, and graph theory after taking this course."
"Really solid overview of the main pillars of discrete math needed for further CS studies."
Course material and assignments are demanding.
"This course is very challenging, definitely requires a strong math background or willingness to put in extra effort."
"The problem sets were particularly difficult and sometimes felt like a big jump from the lecture material."
"Pacing can be quite fast, especially if you are new to proof-based math."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Discrete Mathematics with these activities:
Review basic concepts of set theory
Ensure a solid foundation in set theory, essential for understanding discrete mathematics.
Browse courses on Set Theory
Show steps
  • Revisit notes or textbooks on set theory.
  • Solve practice problems to reinforce core concepts.
Practice with sample enumerative combinatorics problems
Enhance your understanding of enumerative combinatorics concepts and problem-solving techniques.
Show steps
  • Find practice problems on reputable websites or textbooks.
  • Attempt to solve the problems independently.
  • Review your solutions and identify areas for improvement.
Participate in online discussion forums related to discrete mathematics
Engage with peers, share knowledge, and clarify concepts.
Show steps
  • Join online forums or discussion groups focused on discrete mathematics.
  • Actively participate in discussions, asking and answering questions.
  • Review the discussions and reflect on the insights gained.
Six other activities
Expand to see all activities and additional details
Show all nine activities
Explore tutorials on graph algorithms
Gain a deeper understanding of graph algorithms and their applications.
Show steps
  • Identify specific graph algorithms you want to learn.
  • Find high-quality tutorials or online courses on those algorithms.
  • Work through the tutorials, implementing the algorithms yourself.
Walkthrough video tutorials on flow networks and matchings
Gain visual and interactive understanding of these complex topics.
Show steps
  • Find reputable video tutorials on flow networks and matchings.
  • Watch the tutorials, taking notes and pausing to understand concepts.
  • Implement the concepts in simple coding exercises.
Solve challenging problems involving partial orders and lattices
Test and deepen your understanding of partial orderings and lattice structures.
Show steps
  • Identify textbooks or online resources with advanced problems.
  • Attempt to solve the problems independently, focusing on constructing rigorous proofs.
Create a visual representation of a graph theory concept
Enhance your grasp of graph theory by visualizing and explaining key concepts.
Show steps
  • Choose a graph theory concept to illustrate.
  • Decide on a visual representation (e.g., diagram, animation).
  • Create the visual representation and accompany it with clear explanations.
Attend a workshop on mathematical proof techniques
Gain exposure to advanced proof techniques and enhance your mathematical maturity.
Show steps
  • Research and identify suitable workshops.
  • Attend the workshop, actively participating and taking notes.
  • Apply the techniques learned to solve challenging problems.
Volunteer as a tutor for students struggling with discrete mathematics concepts
Reinforce your understanding by explaining concepts to others and providing guidance.
Show steps
  • Contact your instructor or a local tutoring center to offer your services.
  • Prepare lessons and materials to help students grasp complex topics.
  • Regularly meet with students, providing support and answering their questions.

Career center

Learners who complete Discrete Mathematics will develop knowledge and skills that may be useful to these careers:
Computer Scientist
Computer Scientists use their knowledge of discrete mathematics to develop new algorithms and data structures. This course teaches the mathematical foundations of computer science, which are essential for understanding how computers work. Additionally, the course's focus on proofs and rigor will develop your analytical skills, which are essential for success in computer science.
Software Engineer
Software Engineers use their knowledge of discrete mathematics to design and develop software applications. This course teaches the mathematical foundations of computer science, which are essential for understanding how software works. Additionally, the course's focus on proofs and rigor will develop your problem-solving skills, which are essential for success in software engineering.
Operations Research Analyst
Operations Research Analysts use their knowledge of discrete mathematics to solve problems in a variety of industries, including manufacturing, logistics, and healthcare. This course teaches the mathematical foundations of computer science, which are essential for understanding how to model and solve real-world problems. Additionally, the course's focus on proofs and rigor will develop your problem-solving skills, which are essential for success in operations research.
Statistician
Statisticians use their knowledge of discrete mathematics to collect, analyze, and interpret data. This course teaches the mathematical foundations of computer science, which are essential for understanding how to collect and analyze data. Additionally, the course's focus on proofs and rigor will develop your analytical skills, which are essential for success in statistics.
Data Analyst
Data Analysts use their knowledge of discrete mathematics to turn raw data into structured data, which can then be analyzed to extract insights. This course teaches the mathematical foundations of computer science, which are essential for working with data. Additionally, the course's focus on proofs and rigor will develop your critical thinking skills, which are essential for success in data analysis.
Quantitative Analyst
Quantitative Analysts use their knowledge of discrete mathematics to develop and analyze financial models. This course teaches the mathematical foundations of computer science, which are essential for understanding how to model and analyze financial data. Additionally, the course's focus on proofs and rigor will develop your analytical skills, which are essential for success in quantitative analysis.
Risk Manager
Risk Managers use their knowledge of discrete mathematics to assess and manage risk. This course teaches the mathematical foundations of computer science, which are essential for understanding how to model and assess risk. Additionally, the course's focus on proofs and rigor will develop your analytical skills, which are essential for success in risk management.
Business Analyst
Business Analysts use their knowledge of discrete mathematics to analyze and solve business problems. This course teaches the mathematical foundations of computer science, which are essential for understanding how to model and solve business problems. Additionally, the course's focus on proofs and rigor will develop your analytical skills, which are essential for success in business analysis.
Management Consultant
Management Consultants use their knowledge of discrete mathematics to analyze and solve business problems. This course teaches the mathematical foundations of computer science, which are essential for understanding how to model and solve business problems. Additionally, the course's focus on proofs and rigor will develop your analytical skills, which are essential for success in management consulting.
Product Manager
Product Managers use their knowledge of discrete mathematics to develop and manage products. This course teaches the mathematical foundations of computer science, which are essential for understanding how to develop and manage products. Additionally, the course's focus on proofs and rigor will develop your problem-solving skills, which are essential for success in product management.
Data Scientist
Data Scientists use their knowledge of mathematics, including discrete mathematics, to turn raw data into structured data, which can then be analyzed to extract insights. This course teaches the mathematical foundations of computer science, which are essential for working with data. Additionally, the course's focus on proofs and rigor will develop your critical thinking skills, which are essential for success in data science.
Financial Analyst
Financial Analysts use their knowledge of discrete mathematics to develop and analyze financial models. This course teaches the mathematical foundations of computer science, which are essential for understanding how to model and analyze financial data. Additionally, the course's focus on proofs and rigor will develop your analytical skills, which are essential for success in financial analysis.
Actuary
Actuaries use their knowledge of discrete mathematics to assess and manage risk. This course teaches the mathematical foundations of computer science, which are essential for understanding how to model and assess risk. Additionally, the course's focus on proofs and rigor will develop your analytical skills, which are essential for success in actuarial science.
Technical Writer
Technical Writers use their knowledge of discrete mathematics to write clear and concise technical documentation. This course teaches the mathematical foundations of computer science, which are essential for understanding how to write technical documentation. Additionally, the course's focus on proofs and rigor will develop your communication skills, which are essential for success in technical writing.
User Experience Designer
User Experience Designers use their knowledge of discrete mathematics to design and evaluate user interfaces. This course teaches the mathematical foundations of computer science, which are essential for understanding how to design and evaluate user interfaces. Additionally, the course's focus on proofs and rigor will develop your problem-solving skills, which are essential for success in user experience design.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Discrete Mathematics.
Provides a comprehensive overview of discrete mathematics, covering topics such as sets, functions, relations, graphs, and counting principles. It classic textbook that is commonly used in introductory discrete mathematics courses.
Classic reference on discrete mathematics that covers a wide range of topics, including combinatorics, graph theory, and number theory. It valuable resource for anyone who wants to learn more about the foundations of computer science.
Comprehensive textbook on graph theory that covers a wide range of topics, including basic graph theory, trees, connectivity, and matching. It good resource for anyone who wants to learn more about graph theory.
Provides a gentle introduction to combinatorics, covering topics such as counting principles, permutations and combinations, and generating functions. It good resource for anyone who wants to learn more about the basics of combinatorics.
Classic textbook on algorithms that covers a wide range of topics, including sorting, searching, graph algorithms, and network flow. It valuable resource for anyone who wants to learn more about the design and analysis of algorithms.
Provides a gentle introduction to mathematical proofs, covering topics such as logic, set theory, and proof techniques. It good resource for anyone who wants to learn more about the foundations of mathematics.
Provides a comprehensive overview of graph theory, covering topics such as basic graph theory, trees, connectivity, and matching. It good resource for anyone who wants to learn more about the basics of graph theory.
Provides a comprehensive overview of combinatorics and graph theory, covering topics such as counting principles, permutations and combinations, and graph theory. It good resource for anyone who wants to learn more about the basics of combinatorics and graph theory.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser