This course is part of the Introduction to Discrete Mathematics for Computer Science Specialization

Offered By

University of California San Diego

National Research University Higher School of Economics

Introduction to Discrete Mathematics for Computer Science Specialization

University of California San Diego

About this Course

4.5

310 ratings

•

69 reviews

Mathematical thinking is crucial in all areas of computer science: algorithms, bioinformatics, computer graphics, data science, machine learning, etc. In this course, we will learn the most important tools used in discrete mathematics: induction, recursion, logic, invariants, examples, optimality. We will use these tools to answer typical programming questions like: How can we be certain a solution exists? Am I sure my program computes the optimal answer? Do each of these objects meet the given requirements?
In the course, we use a try-this-before-we-explain-everything approach: you will be solving many interactive (and mobile friendly) puzzles that were carefully designed to allow you to invent many of the important ideas and concepts yourself.
Prerequisites:
1. We assume only basic math (e.g., we expect you to know what is a square or how to add fractions), common sense and curiosity.
2. Basic programming knowledge is necessary as some quizzes require programming in Python.

Start instantly and learn at your own schedule.

Reset deadlines in accordance to your schedule.

Suggested: 6 weeks, 2–5 hours/week...

Subtitles: English...

Mathematical InductionProof TheoryDiscrete MathematicsMathematical Logic

Start instantly and learn at your own schedule.

Reset deadlines in accordance to your schedule.

Suggested: 6 weeks, 2–5 hours/week...

Subtitles: English...

Week

1Why some arguments are convincing and some are not? What makes an argument convincing? How to establish your argument in such a way that there is no possible room for doubt left? How mathematical thinking can help with this? In this week we will start digging into these questions. We will see how a small remark or a simple observation can turn a seemingly non-trivial question into an obvious one. Through various examples we will observe a parallel between constructing a rigorous argument and mathematical reasoning....

10 videos (Total 43 min), 4 readings, 4 quizzes

Proofs?3m

Proof by Example1m

Impossibility Proof2m

Impossibility Proof, II and Conclusion3m

One Example is Enough3m

Splitting an Octagon1m

Making Fun in Real Life: Tensegrities10m

Know Your Rights5m

Nobody Can Win All The Time: Nonexisting Examples8m

Slides10m

Python10m

Slides1m

Acknowledgements1m

Tiles, dominos, black and white, even and odd6m

Week

2How can we be certain that an object with certain requirements exist? One way to show this, is to go through all objects and check whether at least one of them meets the requirements. However, in many cases, the search space is enormous. A computer may help, but some reasoning that narrows the search space is important both for computer search and for "bare hands" work. In this module, we will learn various techniques for showing that an object exists and that an object is optimal among all other objects. As usual, we'll practice solving many interactive puzzles. We'll show also some computer programs that help us to construct an example....

16 videos (Total 90 min), 5 readings, 12 quizzes

Narrowing the Search6m

Multiplicative Magic Squares5m

More Puzzles9m

Integer Linear Combinations5m

Paths In a Graph4m

N Queens: Brute Force Search (Optional)10m

N Queens: Backtracking: Example (Optional)7m

N Queens: Backtracking: Code (Optional)7m

16 Diagonals (Optional)3m

Warm-up5m

Subset without x and 100-x4m

Rooks on a Chessboard2m

Knights on a Chessboard5m

Bishops on a Chessboard2m

Subset without x and 2x6m

Slides1m

N Queens: Brute Force Solution Code (Optional)10m

N Queens: Backtracking Solution Code (Optional)10m

Slides (Optional)1m

Slides1m

Is there...20m

Number of Solutions for the 8 Queens Puzzle (Optional)20m

Maximum Number of Two-digit Integers2m

Week

3We'll discover two powerful methods of defining objects, proving concepts, and implementing programs — recursion and induction. These two methods are heavily used, in particular, in algorithms — for analysing correctness and running time of algorithms as well as for implementing efficient solutions. You will see that induction is as simple as falling dominos, but allows to make convincing arguments for arbitrarily large and complex problems by decomposing them and moving step by step. You will learn how famous Gauss unexpectedly solved his teacher's problem intended to keep him busy the whole lesson in just two minutes, and in the end you will be able to prove his formula using induction. You will be able to generalize scary arithmetic exercises and then solve them easily using induction....

13 videos (Total 111 min), 2 readings, 7 quizzes

Coin Problem4m

Hanoi Towers7m

Introduction, Lines and Triangles Problem10m

Lines and Triangles: Proof by Induction5m

Connecting Points12m

Odd Points: Proof by Induction5m

Sums of Numbers8m

Bernoulli's Inequality8m

Coins Problem9m

Cutting a Triangle8m

Flawed Induction Proofs9m

Alternating Sum9m

Slides1m

Slides10m

Largest Amount that Cannot Be Paid with 5- and 7-Coins10m

Pay Any Large Amount with 5- and 7-Coins20m

Number of Moves to Solve the Hanoi Towers Puzzle30m

Induction18m

Week

4We have already invoked mathematical logic when we discussed how to make convincing arguments by giving examples. This week we will turn mathematical logic full on. We will discuss its basic operations and rules. We will see how logic can play a crucial and indispensable role in creating convincing arguments. We will discuss how to construct a negation to the statement, and you will see how to win an argument by showing your opponent is wrong with just one example called counterexample!. We will see tricky and seemingly counterintuitive, but yet (an unintentional pun) logical aspects of mathematical logic. We will see one of the oldest approaches to making convincing arguments: Reductio ad Absurdum....

10 videos (Total 53 min), 2 readings, 9 quizzes

Examples6m

Counterexamples4m

Basic Logic Constructs10m

If-Then Generalization, Quantification8m

Reductio ad Absurdum4m

Balls in Boxes4m

Numbers in Tables5m

Pigeonhole Principle2m

An (-1,0,1) Antimagic Square2m

Handshakes3m

Slides10m

Slides1m

Examples, Counterexamples and Logic14m

Numbers in Boxes5m

How to Pick Socks5m

Pigeonhole Principle10m

4.5

69 Reviewsstarted a new career after completing these courses

got a tangible career benefit from this course

By JV•Oct 16th 2017

I really liked this course, it's a good introduction to mathematical thinking, with plenty of examples and exercises, I also liked the use of other external graphical tools as exercises.

By DG•Jun 30th 2018

Love the quality of thought that goes into each lesson. The professors speak with acute clarity and really demonstrate and empathy for the student to truly understand the topics!

UC San Diego is an academic powerhouse and economic engine, recognized as one of the top 10 public universities by U.S. News and World Report. Innovation is central to who we are and what we do. Here, students learn that knowledge isn't just acquired in the classroom—life is their laboratory....

National Research University - Higher School of Economics (HSE) is one of the top research universities in Russia. Established in 1992 to promote new research and teaching in economics and related disciplines, it now offers programs at all levels of university education across an extraordinary range of fields of study including business, sociology, cultural studies, philosophy, political science, international relations, law, Asian studies, media and communications, IT, mathematics, engineering, and more.
Learn more on www.hse.ru...

Discrete Math is needed to see mathematical structures in the object you work with, and understand their properties. This ability is important for software engineers, data scientists, security and financial analysts (it is not a coincidence that math puzzles are often used for interviews). We cover the basic notions and results (combinatorics, graphs, probability, number theory) that are universally needed. To deliver techniques and ideas in discrete mathematics to the learner we extensively use interactive puzzles specially created for this specialization. To bring the learners experience closer to IT-applications we incorporate programming examples, problems and projects in our courses....

When will I have access to the lectures and assignments?

Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

What will I get if I subscribe to this Specialization?

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. If you only want to read and view the course content, you can audit the course for free.

What is the refund policy?

Is financial aid available?

More questions? Visit the Learner Help Center.

Coursera provides universal access to the world’s best education,
partnering with top universities and organizations to offer courses online.