Mathematical Thinking in Computer Science

Discrete Math is needed to see mathematical structures in the object you work with, and understand their properties. This ability is important for software engineers, data scientists, security and financial analysts (it is not a coincidence that math puzzles are often used for interviews). We cover the basic notions and results (combinatorics, graphs, probability, number theory) that are universally needed. To deliver techniques and ideas in discrete mathematics to the learner we extensively use interactive puzzles specially created for this specialization. To bring the learners experience clo

Created by: Alexander S. Kulikov

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 84 / 100

icon
Course Description

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

icon
Instructor Details

placeholder

Alexander S. Kulikov is a research fellow at St. Petersburg Department of Steklov Mathematical Institute of the Russian Academy of Sciences and a visiting professor at University of California, San Diego. His scientific interests include algorithms for NP-hard problems and circuit complexity. In St. Petersburg, he runs Computer Science Club and Computer Science Center.

icon
More courses by Alexander S. Kulikov

Algorithms on Graphs

Free

Genome Assembly Programming Challenge

Free

icon
More artificial intelligence courses

Convolutional Neural Networks

Free

AI For Everyone

Free

A Crash Course in Data Science

Free

Sequence Models

Free

Open Source tools for Data Science

Free

icon
Reviews

4.2

121 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Juan J M A on 24-Dec-17

I enjoyed the course. I would like more depth or more clear explanations from A Shen.

By MANOJKUMAR on 24-Mar-18

Simple explanations made math more easy to handle. Thanks to the prof's for timely responses in Forums.

By Vivek S on 24-Oct-17

Good course.Great puzzles.A big thank you to the instructors.Thank you once again.

By Samer A H on 28-Jul-18

An excelent course, I hope that someday in my country the mathematic wil be taught in this way with puzzle and those thing really made the course interesting. this course really gave me good approaches to proof a lot of problem

By Marie C G on 18-Sep-18

The course is well structured, and made interesting with interactive puzzles.

By janaki b on 21-Jul-18

learned a lot

By Stephanie H on 19-Jul-18

Excellent concepts! Had fun and was challenged decently throughout the whole course.

By Piotr M M on 22-Aug-18

I loved practically every minute of the course - I learned a lot, and I enjoyed it! The puzzles were fun to solve and greatly helped my understanding of the topics discussed. I highly recommend this course to anyone and am looking forward to the next courses in the specialisation!

By Venuprabhu L on 2-Aug-18

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

By Shanta S on 26-Nov-17

Was a nice course, gave a very good overview of logical proofs.

By Oleg L on 2-Jan-18

Awesome course. You'll need some basic python for it.

By RAN W on 30-May-18

Excellent intro to mathematical proofs!