Back to Mathematical Thinking in Computer Science

4.4

stars

738 ratings

•

154 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 Victor L

•Dec 14, 2018

no clarity and continuity in expressing the ideas too difficult to follow

By Ricardo C G

•Mar 08, 2018

The teacher Alexander Chen doesn't explain anything well. It's horrible to understand him and what he wants.

By Luc N

•Dec 14, 2018

I am just into week 1 but the explanations given are unclear and confusing. The didactic is poor. I am right now wondering whether I should continue learning this or not

By Lukas A

•Jan 05, 2018

The course is full of interesting puzzles, making it a fun course to complete. However, there is very little explanation as to why you are solving these puzzles and what you are supposed to learn from them. The course might be meant as a complement to following a university course, and might help better understand concepts learned in class. But as a standalone course it feels lacking.

By Lee C Y

•Mar 06, 2019

course is poorly explained. such a bad course.

By Erdem O

•Jan 04, 2018

The content is great but the presentation/clarification is awful!!!

By Sam

•Dec 14, 2018

I was very disappointed in the first week in this course. It expects you to know the material and think like a mathematician to take the very first lessons.

By Mathieu G

•Nov 29, 2017

Assignments on external tool that doesn't seem to work. Have to un-enroll.

By Vijay R

•Dec 20, 2018

What a waste of time.

By Stephen L

•Mar 07, 2018

Decent material but a lot of the assignments were vague.

I also didn't realize that we'd specifically be using Python, wish that were more clear day one. I was under the impression it was more for people that generally knew how to program, not that we'd have to use Python to submit assignments - my Python skills are rusty.

By Vladimir K

•Feb 05, 2018

While the material itself is important and very useful in general, the course, unfortunately, doesn't have enough practical material to help students to internalise it.

By Konstantin K

•Nov 22, 2017

Quite chaotic and disarranged course (in both complexity and structure) although contains interesting topics. Possibly because of its introductory goal.

By Frederick H K K

•Jan 21, 2019

Some explanation are unclear or confusing.

By Md. Z M

•Apr 26, 2019

The course is taught by 3 instructors. This makes the experience strikingly unbalanced. The style of course delivery and explanation is very poor with one of the instructors, the one who took Week 1 and 6. The rest of the weeks were OK. The other two instructors were clear with their arguments. This course has a very different approach (do-it-yourself-before-expalnation-by-instructors), although it was mentioned clearly on the Course Info page. If you can make out yourself what strategy to apply for the interactive puzzles, then you are doing good. Otherwise, the puzzles will just be trial-and-error games for you. The instructors were kind enough to answer on the Discussion Forum, but do not expect much activity from your fellow learners as there might be very few people taking this course with you.

By Rob S

•Jun 15, 2018

Mostly felt like a series of parlour tricks with little insight into underlying mathematical principles

By Dave G

•Jun 30, 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!

By Parthasaradhi T

•Jan 29, 2019

Good course to gain knowledge of mathematics, Worth for everyone not only computer science

By Jesse W

•May 02, 2019

This course mostly consists of a set of loosely related under the umbrella of discrete mathematics. A lot of the exercises take the form of puzzles where you either have to solve the puzzle or determine whether a solution is impossible. The puzzles are fun and make for good brain exercise; however, I'm not sure if all of this has made me a better programmer. It's worth noting that most Computer Science degrees will require some form of discrete math coursework, so if you're considering CS and are worried about the math requirements, this Specialization would be good to try out.

By Anton M

•Apr 04, 2019

Great course with variety of different mathematical puzzles.

Two things can be improved:

1) It's not always obvious which global subject is discussed during the week and what is a connection with puzzles, some kind of review video at start of each week will be helpful.

2) Sometimes explanations not clear at all. I did watched some videos 2-3 times before completely understand what is going on. It will be great to have a rigours proof of theorems as supplementary reading material.

By Farid H

•Dec 22, 2018

The last one was a little bit hard, still couldn't write the code for the 15 puzzle game. Did it just by intuitive trial error

By Timothy L

•Mar 22, 2018

Broken English and an inflated $79 to take practice tests, but the professor is knowledgeable and makes proofs fun.

By Amritya V D

•Feb 12, 2019

very very fun way to understand simple things

By Mike P

•Jan 31, 2019

I liked the course, and I enjoyed the math for sure. BUT, I think there were some sections that could have been explained more thoroughly and perhaps some videos that could have been shot again to be more clear. But whatever, I am very grateful to be able to learn this here :)

By Daniel S

•Jan 20, 2019

Some of the explanations of concepts was just not clear and there were many verbal errors and some really odd editing in many of the videos. Overall the quality of this course is so so.

By jonathan c

•Apr 19, 2019

I stuck with this course for 4 weeks however i share the opinion of a few people on here...the course is very poorly explained.

The course requires basic maths and basic python however i feel it is asking a little more than that especially when it comes to programming the mathematical concepts the presenter discusses. Very little programming guidance is provided and no explanation is provided on the solution.

I feel there is better courses out there...and the course requirements are a little misleading

- 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