Back to Mathematical Thinking in Computer Science

4.5

563 ratings

•

115 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.
Do you have technical problems? Write to us: coursera@hse.ru...

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.

Oct 16, 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.

Filter by:

By Victor L

•Dec 14, 2018

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

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 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 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 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 Frederick H K K

•Jan 21, 2019

Some explanation are unclear or confusing.

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 Vijay R

•Dec 20, 2018

What a waste of time.

By Erdem O

•Jan 04, 2018

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

By Parthasaradhi T

•Jan 29, 2019

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

By Kevin K

•Oct 09, 2017

nice course

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 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 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 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 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 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 Rob S

•Jun 15, 2018

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

By Lee C Y

•Mar 06, 2019

course is poorly explained. such a bad course.

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 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 N B

•Nov 08, 2018

Nice course little python programming and very good resources. clear teaching and explanation for theories and it's proofs

By kirill l

•Nov 29, 2018

The course is excellent and most stuff is being taught in a nicely presented way. The main disappointment is 15-puzzle, because it's too difficult to understand without proper material.

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