Back to Mathematical Thinking in Computer Science

4.4

stars

944 ratings

•

222 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 Ashish D S

•Jul 11, 2018

This is excellent course. Make sure that you have basic knowledge of Python before taking this course.

By Arka M

•Jul 10, 2018

Great and Interesting course. Last week is a the best. Thank you for letting me have this experience

By Swarnava S

•Jun 13, 2019

Awesome course for beginners. It helped me alot to understand the logic and how to solve problems.

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

By Himanshu P M

•May 08, 2020

This course is good for beginner.

rather than being complicated it will change the way you think.

one advice---- you should have knowledge of python basic to complete the assignment of this course

By Jonibek N

•Apr 29, 2020

Course was good, but sometimes i needed additional sources to understand topic better. Maybe, it was because of my english. Anyway it gave me a path what i should look for! Thank you!

By Sanjay A

•Sep 18, 2017

I was waiting for such a great course on discrete Mathematics in coursera.

Thank you UC San Diego

By Dmytro N

•Oct 05, 2017

I like the course. Still some mistakes and bugs, but course is really interesting to pass. Thanks

By Putcha L N R

•Jul 09, 2019

An amazing course really!! The interactive fun assignments make it all the more interesting!! :D

By Eddy P

•Sep 23, 2018

There are many very interesting cases in this course! I will definitely recommend it to others!

By Andrew M

•Oct 26, 2017

A great introductory course and well organized. You can feel that professor loves mathematics.

By Anup K K

•Apr 27, 2020

Just the last Bonus Track problem please give some hints how to approach and solve the problem

By Radmilo M

•Apr 06, 2020

The course is perfect for those which want to learn math on deeper level in computer science.

By Rafael D d L P

•Aug 02, 2018

Great introduction to mathematical thinking and how to apply it to computational problems.

By KUMAR A

•Jan 24, 2020

This was the one-stop that I'll never regret learning things again in a different manner.

By Mahavishnu R

•Sep 07, 2019

Puzzles are great. Seems Instructors put lots of efforts into it. Different approach !

By Dr R L

•Apr 22, 2020

Good content but little problem phase in python programming

By Feyaz B

•May 08, 2020

Covered all the basics, I learnt a lot from this!

By Sowat H R

•Apr 27, 2020

Highly recommended for beginners.

- 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