Back to Mathematical Thinking in Computer Science

4.4

stars

1,310 ratings

•

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

By Ali S

•Jun 28, 2020

A good introduction to people who are new to CS and want to get the basics right. The puzzles and quizzes are quite well designed, fun and with just the right amount of challenge most of the time. On the downside, it is a bit hard to follow some of the lecturers due to their communication styles. On the whole, a recommended course

By Mingzhe H

•Sep 26, 2019

There are many funny puzzles in this course.But i think the diffcult so low.assume you don't know how to proof it,you also can use force to find the answer.the knowledge of this course so wide,but not deep.of course the team are very hard,i wish you can continue to push out more course to improve us,Thanks for your efforts.

By PREMDEEP A

•May 29, 2018

This course mostly deals with mathematical puzzles. I had fun solving those puzzles. But what I was really concerned about was the explanation part. Some of the explanations are sometimes really hard to grasp. Apart from that it is a nice course. I hope they will make clear explanations in future.

By Sudheera S

•Aug 29, 2018

I like the new title "Mathematical Thinking in Computer Science" rather than "What is a proof?". Good course for beginners of the subject discrete mathematics. It really does what the title says. It helps improve your mathematical thinking and prepares you for computer science studies.

By UMANG T

•Jul 31, 2020

The course went faster in some places but was excellent otherwise. The methodology of solving puzzles before a lecture is what I loved the most and that is probably the best part of the course. Looking forward to taking up other courses in the Specialization.

By Seif A

•Apr 17, 2020

Some parts are very hard to follow. I found week 6 the most challenging because I have a sort of weak logical thinking base. Also I believe it should have been explained more clearly because programming mathematical statements isn't so easy.

By Jasvin M

•May 21, 2020

Professor Alexander Shen's way of teaching and passion was really fun to see and although there weren't as many particular algorithms and such to directly apply in Computer Science, it was a good starting point to the specialization.

By KARTHIKEYAN G N

•Aug 20, 2018

Good course.

I gave a 4-star instead of 5 just because of the pace of the lessons. felt it could be bit slower and with more examples, specially in sections related to logic(if-then-else, reductio ad absurdum & permutations & cycles).

By Abhinav K

•May 17, 2020

The Interactive Puzzles are the way forward in such kind of Educational Platforms. Having some prior experience in Data structures and Algorithms , I was impressed by the relevance of the material discussed and the context provided.

By Ujjwal P

•Jul 05, 2020

Nice course however in the final weeks a more animated explanation would have made it perfect because a lot of text sometimes makes thing boring.. any way nice to learn new stuff also that 15-puzzle was the best of em' all

By Anton V

•Jul 16, 2020

Some of the logical explanations could have been better. One is sometimes left with the feeling that although the presented results are correct, the logical reasoning behind it is not sufficiently explained.

By Anushka G

•Jul 05, 2020

The course was great i just faced some difficulty in writting python codes( as i am a beginner in pyton) for the last few quizes,i just hoped that may be there could be some videos explaining such codes.

By Praveen K R

•Oct 19, 2018

The course is structured well but we need more explanation for the last week lecture. And more topics inside logic section. The assignment had really helped me in understanding the course.

Thank You

By Kristen P

•Jan 27, 2020

I applaud the instructors for their efforts in explaining the concepts as they could be abstract and hard to explain in words! More examples to illustrate the concepts will be even more helpful!

By Md. H H S B

•Apr 26, 2019

Contents are very good for starting.....

But the Teachers way of explaining is not up to the mark. I need to search in youTube or google for understanding any topic even watching the videos.

By Karan S

•Apr 14, 2020

though i stuck somewhere but mentors was always there to assist you. really found this course interesting and very helpful. solved so much of tricky puzzles, Good course

By Kharissa F S

•Jun 05, 2019

I loved the puzzles! Very interactive and made the course more enjoyable. Would love to see more puzzles as they can help reinforce the ideas explained in the course.

By Mohta R S

•Jun 28, 2020

Great course gives you an algorithmic touch Do this specialization before doing the DSA specialisation

Get comfortable with python syntax before starting this.

By sadaf s

•May 22, 2020

Alexander Chen gave a hard time in last week, but i liked how in his lectures there were numerous cunning pop ups which made it impossible to get distracted

By Andrea M

•Apr 10, 2020

Instructors are very knowledgeable and the lessons are usually helpful, but it's common for the explanations to contain errors or be unclear in some way.

- 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