VOOZH about

URL: https://www.coursera.org/learn/what-is-a-proof

⇱ Mathematical Thinking in Computer Science | Coursera


Mathematical Thinking in Computer Science

Gain insight into a topic and learn the fundamentals.
4.4

2,287 reviews

Beginner level
No prior experience required
Flexible schedule
4 weeks at 10 hours a week
Learn at your own pace
88%
Most learners liked this course

Gain insight into a topic and learn the fundamentals.
4.4

2,287 reviews

Beginner level
No prior experience required
Flexible schedule
4 weeks at 10 hours a week
Learn at your own pace
88%
Most learners liked this course

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

There are 6 modules in this course

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 online 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.

Why are some arguments convincing and some others are not? What makes an argument convincing? How can you establish your argument in such a way that there is no room for doubt left? How can mathematical thinking help with this? In this section, we start digging into these questions. Our goal is to learn by examples how to understand proofs, how to discover them on your own, how to explain them, and — last but not least — how to enjoy them: we will see how a small remark or a simple observation can turn a seemingly non-trivial question into an obvious one.

What's included

10 videos6 readings4 assignments

10 videosTotal 43 minutes
  • Promo Video1 minute
  • Proofs?4 minutes
  • Proof by Example2 minutes
  • Impossibility Proof3 minutes
  • Impossibility Proof, II and Conclusion4 minutes
  • One Example is Enough3 minutes
  • Splitting an Octagon1 minute
  • Making Fun in Real Life: Tensegrities (Optional)10 minutes
  • Know Your Rights6 minutes
  • Nobody Can Win All The Time: Nonexisting Examples8 minutes
6 readingsTotal 22 minutes
  • Companion e-book3 minutes
  • Active Learning2 minutes
  • Python Programming Language5 minutes
  • Slides10 minutes
  • Slides1 minute
  • Acknowledgements1 minute
4 assignmentsTotal 120 minutes
  • Puzzle: Tile a Chessboard30 minutes
  • Tiles, dominos, black and white, even and odd30 minutes
  • Puzzle: Two Congruent Parts30 minutes
  • Puzzle: Splitting30 minutes

How 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.

What's included

16 videos6 readings13 assignments

16 videosTotal 90 minutes
  • Magic Squares3 minutes
  • Narrowing the Search7 minutes
  • Multiplicative Magic Squares5 minutes
  • More Puzzles9 minutes
  • Integer Linear Combinations5 minutes
  • Paths In a Graph5 minutes
  • Warm-up5 minutes
  • Subset without x and 100-x4 minutes
  • Rooks on a Chessboard3 minutes
  • Knights on a Chessboard5 minutes
  • Bishops on a Chessboard3 minutes
  • Subset without x and 2x6 minutes
  • N Queens: Brute Force Search11 minutes
  • N Queens: Backtracking: Example7 minutes
  • N Queens: Backtracking: Code8 minutes
  • 16 Diagonals4 minutes
6 readingsTotal 33 minutes
  • Slides1 minute
  • Slides1 minute
  • N Queens: Brute Force Solution Code10 minutes
  • N Queens: Backtracking Solution Code10 minutes
  • 16 Diagonals: Code10 minutes
  • Slides1 minute
13 assignmentsTotal 370 minutes
  • Puzzle: Magic Square 3 times 330 minutes
  • Puzzle: Different People Have Different Coins30 minutes
  • Puzzle: Free Accomodation30 minutes
  • Is there...20 minutes
  • Maximum Number of Two-digit Integers30 minutes
  • Maximum Number of Rooks on a Chessboard30 minutes
  • Maximum Number of Knights on a Chessboard30 minutes
  • Maximum Number of Bishops on a Chessboard30 minutes
  • Subset without x and 2x30 minutes
  • Puzzle: N Queens30 minutes
  • Puzzle: 16 Diagonals30 minutes
  • Puzzle: Maximum Number of Two Digit Integers30 minutes
  • Number of Solutions for the 8 Queens Puzzle20 minutes

We'll discover two powerful methods of defining objects, proving concepts, and implementing programs — recursion and induction. These two methods are heavily used in discrete mathematics and computer science. In particular, you will see them frequently in algorithms — for analysing correctness and running time of algorithms as well as for implementing efficient solutions. For some computational problems (e.g., exploring networks), recursive solutions are the most natural ones. The main idea of recursion and induction is to decompose a given problem into smaller problems of the same type. Being able to see such decompositions is an important skill both in mathematics and in programming. We'll hone this skill by solving various problems together.

What's included

3 videos13 readings9 assignments1 ungraded lab

3 videosTotal 22 minutes
  • Recursion10 minutes
  • Coin Problem5 minutes
  • Hanoi Towers7 minutes
13 readingsTotal 121 minutes
  • Two Cells of Opposite Colors: Hints10 minutes
  • Slides1 minute
  • Why Induction?10 minutes
  • What is Induction?10 minutes
  • Arithmetic Series10 minutes
  • Plane Coloring10 minutes
  • Compound Interest10 minutes
  • Inequality Between Arithmetic and Geometric Mean10 minutes
  • More Induction Examples10 minutes
  • Where to Start Induction?10 minutes
  • Triangular Piece10 minutes
  • Proving Stronger Statements May Be Easier!10 minutes
  • What Can Go Wrong with Induction?10 minutes
9 assignmentsTotal 210 minutes
  • Largest Amount that Cannot Be Paid with 5- and 7-Coins10 minutes
  • Puzzle: Hanoi Towers30 minutes
  • Puzzle: Two Cells of Opposite Colors30 minutes
  • Puzzle: Guess a Number30 minutes
  • Puzzle: Connect Points30 minutes
  • Induction30 minutes
  • Pay Any Large Amount with 5- and 7-Coins (Optional)20 minutes
  • Two Cells of Opposite Colors: Feedback0 minutes
  • Puzzle: Local Maximum (Optional)30 minutes
1 ungraded labTotal 15 minutes
  • Bernoulli's Inequality15 minutes

Mathematical logic plays a crucial and indispensable role in creating convincing arguments. We use the rules and language of mathematical logic while writing code, while reasoning and making decisions, and while using computer programs. This week we’ll learn the basics of mathematical logic, and we'll practice tricky and seemingly counterintuitive, but yet logical aspects of mathematical logic. This will help us to write readable and precise code, and to formulate our thoughts rigorously and concisely.

What's included

10 readings10 assignments

10 readingsTotal 100 minutes
  • Intro10 minutes
  • Examples and Counterexamples10 minutes
  • Logic10 minutes
  • Summary10 minutes
  • Reductio ad Absurdum10 minutes
  • Balls in Boxes10 minutes
  • Numbers in Tables10 minutes
  • Pigeonhole Principle10 minutes
  • An (-1,0,1) Antimagic Square10 minutes
  • Handshakes10 minutes
10 assignmentsTotal 203 minutes
  • Puzzle: Always Prime?30 minutes
  • Examples, Counterexamples and Logic30 minutes
  • Puzzle: Balls in Boxes30 minutes
  • Puzzle: Numbers in Boxes30 minutes
  • Puzzle: Numbers on the Chessboard30 minutes
  • Numbers in Boxes5 minutes
  • How to Pick Socks5 minutes
  • Pigeonhole Principle10 minutes
  • Puzzle: An (-1,0,1) Antimagic Square30 minutes
  • Girls, Boys, and Two Languages3 minutes

"There are things that never change". Apart from being just a philosophical statement, this phrase turns out to be an important idea in discrete mathematics and computer science. A property that is preserved during a process is called an invariant. Invariants are used heavily in analyzing the behavior of algorithms, programs, and other processes. Being able to find the right invariant is an important skill that we will develop together in this module.

What's included

11 readings16 assignments

11 readingsTotal 115 minutes
  • Double Counting10 minutes
  • `Homework Assignment' Problem10 minutes
  • Coffee with Milk10 minutes
  • More Coffee10 minutes
  • Debugging Problem10 minutes
  • Termination10 minutes
  • Arthur’s Books15 minutes
  • Even and Odd Numbers10 minutes
  • Summing up Digits10 minutes
  • Switching Signs10 minutes
  • Advanced Signs Switching10 minutes
16 assignmentsTotal 266 minutes
  • Puzzle: Sums of Rows and Columns30 minutes
  • 'Homework Assignment' Problem8 minutes
  • 'Homework Assignment' Problem 28 minutes
  • Chess Tournaments5 minutes
  • Debugging Problem10 minutes
  • Merging Bank Accounts30 minutes
  • Puzzle: Arthur's Books30 minutes
  • Puzzle: Piece on a Chessboard30 minutes
  • Operations on Even and Odd Numbers30 minutes
  • Puzzle: Summing Up Digits30 minutes
  • Puzzle: Switching Signs30 minutes
  • Recolouring Chessboard5 minutes
  • Girls and Boys5 minutes
  • Coffee with Milk5 minutes
  • More Coffee5 minutes
  • Football Fans5 minutes

In this module, we consider a well-known 15-puzzle where one needs to restore order among 15 square pieces in a square box. It turns out that the behavior of this puzzle is determined by mathematics: it is solvable if and only if the corresponding permutation is even. To understand what it means and why it is true, we will learn the basic properties of even and odd permutations — an important notion in algebra and discrete mathematics. Together, we will implement a number of simple methods for working with permutations. You will then use them as building blocks to implement a program that solves any configuration of this game in the blink of an eye!

What's included

8 videos4 readings5 assignments

8 videosTotal 45 minutes
  • The Rules of 15-Puzzle3 minutes
  • Permutations9 minutes
  • Proof: The Difficult Part9 minutes
  • Mission Impossible2 minutes
  • Classify a Permutation as Even/Odd5 minutes
  • Bonus Track: Fast Classification2 minutes
  • Project: The Task2 minutes
  • Quiz Hint: Why Every Even Permutation Is Solvable13 minutes
4 readingsTotal 40 minutes
  • Reading10 minutes
  • Slides10 minutes
  • Even permutations10 minutes
  • Bonus Track: Finding The Sequence of Moves10 minutes
5 assignmentsTotal 690 minutes
  • Puzzle: 1530 minutes
  • Transpositions and Permutations30 minutes
  • Neighbor transpositions30 minutes
  • Is a permutation even?120 minutes
  • Bonus Track: Algorithm for 15-Puzzle480 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructors

Instructor ratings
4.3 (469 ratings)
University of California San Diego
13 Courses885,622 learners
University of California San Diego
8 Courses838,112 learners

Explore more from Algorithms

Why people choose Coursera for their career

👁 Image

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."
👁 Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
👁 Image

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."
👁 Image

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

  • 5 stars

    64.24%

  • 4 stars

    23.33%

  • 3 stars

    7.03%

  • 2 stars

    2.09%

  • 1 star

    3.27%

Showing 3 of 2287

JO
·

Reviewed on Oct 15, 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.

MI
·

Reviewed on Sep 15, 2020

Positive: Great material, full of concepts, the teaching is simple and interactive, quizzes are amazing.Negative: Too much python programming (need to be aware of python basics)

DG
·

Reviewed on Jun 29, 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!

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

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.

Financial aid available,