Back to Mathematical Thinking in Computer Science

4.4

stars

977 ratings

•

227 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 Shivansh K

•Mar 04, 2020

This course really changed the way I approached problems while solving programming problems, especially the concept of induction which I found very clearly explained. It was really a great and fun experience.

By Keenan B

•Dec 16, 2019

A lot of good information. A little difficult to understand the lectures sometimes, but the subtitles help, as does reading the slides. I really enjoyed this course. The tools were useful too. Great quality.

By harish h

•Feb 21, 2020

This course is helpful for those who tend to start coding in an efficient way as the base for many algorithms in discrete mathematics. Please have a basic of Python to finish the course as per deadlines

By Junaid A

•Jan 12, 2019

I am really enjoying this course as I take quiz and assignment and manage to solve and make my own analysis and thinking about it in no time.

Overall this course is providing me a different way to think.

By Lee C Y

•Mar 06, 2019

course is poorly explained. such a bad course.

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 Erdem O

•Jan 04, 2018

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

By Rob S

•Jun 15, 2018

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

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 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 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 Juan L O V

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

By Aditya K P

•Dec 07, 2017

The excellent approaching of supplanting intuition with puzzles to help reason, before starting the lectures makes proof making one of the most fun parts in this course.

By Aditya P

•Jun 23, 2019

Awesome course.....helping me too much as I don't want to leave learning maths .It's my favourite subject.Thanks a lot to all of them who are providing these to us.

By Md H R

•Mar 31, 2020

BRILLIANT. BRILLIANT.

I had never thought Math could be taught like this.

Thank you teachers. Now looking forward to the second course of this specialisation.

By Chris L

•May 25, 2018

It's good, wish it didn't rely so heavily on python for the coding assignments, but now is as good a time as any to get comfortable with it I guess.

By Christine S

•Apr 14, 2020

Fantastic course! So much fun. I want Mr. Shen to teach every course I take! The python bits needed more explanation and direction in my opinion.

By Avinash K C

•Jul 13, 2019

Excellent Course! The explanation of basic mathematical concepts was very helpful in understanding Software Engineering principles.

By Animesh S

•Apr 04, 2020

A really fun experience. I would recommend this course to all beginners in the field of computer science and data science.

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

•Apr 30, 2019

Absloutely Fantastic. I highly recommend it to anyone who wants to learn data structures and algorithms thoroughly.

By Saikat M

•Jan 02, 2018

Enjoyable and interesting...also easy to follow for people like me who have been out of college long time back.

By Ernest D

•Jan 05, 2019

this is a very nice course ,its has broaden my whole knowledge about maths

thanks to the creator of this course

By HAILEMICHAEL Y M

•Oct 12, 2019

The course is very good at equipping the basic math concepts for computer science. I highly recommend it!