Back to Mathematical Thinking in Computer Science

4.4

stars

983 ratings

•

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

Mar 26, 2019

The teachers are informative and good. They explain the topic in a way that we can easily understand. The slides provide all the information that is needed. The external tools are fun and informative.

Feb 02, 2020

I loved this course! So many interesting things to think about, thoughtfully explained by brilliant instructors. The puzzles really get you thinking. Such genius to put them before the lectures!

Filter by:

By Rafael E

•May 30, 2018

Excellent intro to mathematical proofs!

By Shubham C

•Jun 03, 2020

The Course is basic but really nice.

By AMAN B

•May 19, 2020

They are teaching some nice stuff.

By Danchurova A

•Jun 04, 2018

Nice course for beginners in Math

By Pooja D

•May 22, 2020

Great learning experience 👍

By Omar E A

•Oct 23, 2019

the puzzles are fun to solve

By Devang K

•Jun 04, 2020

Awesome and Interactive!

By manish.engg2001@gmail.com

•Mar 28, 2018

Love the teaching style.

By Carlo I

•Mar 23, 2020

Challenging problems!

By Ajit C B

•Oct 13, 2017

Excellent course!

By Xavier

•Jul 21, 2019

excellent course

By Charles P J

•Apr 06, 2020

Very enjoyable!

By Zhe Y

•Jul 21, 2018

learned a lot

By Yuhua Y

•Oct 09, 2017

nice course

By v v p

•May 31, 2018

wonderfull

By Kallinatha H

•May 24, 2020

very good

By N R S

•May 20, 2020

Excellent

By evans

•Sep 09, 2019

very good

By Miguel A D A

•Oct 03, 2018

Perfect!

By Gaurav R P

•Oct 01, 2017

love it.

By Saptarshi M

•Sep 06, 2018

This course helps you to put your arguments forward to convince self and other people. There are several techniques to do that. Sometimes providing a single example does the trick while providing counter examples become necessary in other situations. Learners of this course will get new insight about known puzzles. How to find examples is an important part of this course. Alex and Michale are pretty good to put the thoughts that they have. Other lecturers sometimes may confuse pupil. Overall a great start to learn discrete mathematics.

By Christopher P

•Feb 21, 2018

Pretty good course, although the topics were sometimes confusing. I think this is to be expected given the nature of the topic, as it's a whole new way of thinking about mathematical problems. I wish the course put some of the techniques used when solving the puzzles into a more explicit or formal context. After some of the puzzles, I was left wondering how to generalize the specific problem-solving technique or insight.

By John A B

•Oct 04, 2019

I followed along pretty well but there where a few parts that the instructors just sort of hand waved the developing the formula's needed to solve the theorems. Also the programming questions where always clear about how they wanted the return object represented. This led to some try and error, falling the question to see what little feed back it would give, making a change to the subroutine and then trying again.

By Amy G

•Apr 01, 2020

I definitely enjoyed this course. The content was presented at an approachable level and the hands-on puzzles were fun lead-ins to the mathematical explanations. Some of the in-video pop-ups and polls seemed silly, though, and there were a couple small errors and content ordering issues (like pigeonhole principle taught repeatedly). Overall, though, I would take this again.

By Bahaa Z

•Jan 29, 2018

the content of the course is put together in a great fashion.the quizzes, puzzles, and programming assignments were all very fun to do and made the lectures make more sense.my main complain is that some instructors made the pacing very confusing. i.e. spend too long explaining simple ideas and jumping fast over important confusing one.

- AI for Everyone
- Introduction to TensorFlow
- Neural Networks and Deep Learning
- Algorithms, Part 1
- Algorithms, Part 2
- Machine Learning
- Machine Learning with Python
- Machine Learning Using Sas Viya
- R Programming
- Intro to Programming with Matlab
- Data Analysis with Python
- AWS Fundamentals: Going Cloud Native
- Google Cloud Platform Fundamentals
- Site Reliability Engineering
- Speak English Professionally
- The Science of Well Being
- Learning How to Learn
- Financial Markets
- Hypothesis Testing in Public Health
- Foundations of Everyday Leadership

- Deep Learning
- Python for Everybody
- Data Science
- Applied Data Science with Python
- Business Foundations
- Architecting with Google Cloud Platform
- Data Engineering on Google Cloud Platform
- Excel to MySQL
- Advanced Machine Learning
- Mathematics for Machine Learning
- Self-Driving Cars
- Blockchain Revolution for the Enterprise
- Business Analytics
- Excel Skills for Business
- Digital Marketing
- Statistical Analysis with R for Public Health
- Fundamentals of Immunology
- Anatomy
- Managing Innovation and Design Thinking
- Foundations of Positive Psychology