We’ll implement together an efficient program for a problem needed by delivery companies all over the world millions times per day — the travelling salesman problem. The goal in this problem is to visit all the given places as quickly as possible. How to find an optimal solution to this problem quickly? We still don’t have provably efficient algorithms for this difficult computational problem and this is the essence of the P versus NP problem, the most important open question in Computer Science. Still, we’ll implement several efficient solutions for real world instances of the travelling salesman problem. While designing these solutions, we will rely heavily on the material learned in the courses of the specialization: proof techniques, combinatorics, probability, graph theory. We’ll see several examples of using discrete mathematics ideas to get more and more efficient solutions.

# Специализация Introduction to Discrete Mathematics for Computer Science

## Build a Foundation for Your Career in IT. Master the math powering our lives and prepare for your software engineer or security analyst career

## Об этой специализации

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 closer to IT-applications we incorporate programming examples, problems and projects in our courses.

Автор:

Партнеры курса:

##### 5 courses

Следуйте предложенному порядку или выберите свой.

##### Проекты

Поможет на практике применить полученные навыки.

##### Сертификаты

Отметьте новые навыки в резюме и на LinkedIn.

Обзор проектов

Курсы

- Beginner Specialization.
- No prior experience required.

### 1-Й КУРС

## Mathematical Thinking in Computer Science

Upcoming session: Apr 30- Выполнение
- 6 weeks, 2–5 hours/week

- Субтитры
- English

### О курсе

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: indu**You can choose to take this course only.**Подробнее…### 2-Й КУРС

## Combinatorics and Probability

Upcoming session: Apr 30- Выполнение
- 6 weeks, 3-5 hours/week

- Субтитры
- English

### О курсе

Counting is one of the basic mathematically related tasks we encounter on a day to day basis. The main question here is the following. If we need to count something, can we do anything better than just counting all objects one by one? Do we need to cr**You can choose to take this course only.**Подробнее…### 3-Й КУРС

## Introduction to Graph Theory

Upcoming session: Apr 30- Выполнение
- 5 weeks, 3-5 hours/week

- Субтитры
- English

### О курсе

We invite you to a fascinating journey into Graph Theory — an area which connects the elegance of painting and the rigor of mathematics; is simple, but not unsophisticated. Graph Theory gives us, both an easy way to pictorially represent many major mathem**You can choose to take this course only.**Подробнее…### 4-Й КУРС

## Number Theory and Cryptography

Current session: Apr 23- Выполнение
- 4 weeks, 2-5 hours/week

- Субтитры
- English

### О курсе

We all learn numbers from the childhood. Some of us like to count, others hate it, but any person uses numbers everyday to buy things, pay for services, estimated time and necessary resources. People have been wondering about numbers’ properties for tho**You can choose to take this course only.**Подробнее…### 5-Й КУРС

## Delivery Problem

Current session: Apr 23- Выполнение
- 3 weeks of study, 2–5 hours/week

- Субтитры
- English

### О курсе

We’ll implement (in Python) together efficient programs for a problem needed by delivery companies all over the world millions times per day — the travelling salesman problem. The goal in this problem is to visit all the given places as quickly as possible.**You can choose to take this course only.**Подробнее…

## Авторы

#### Vladimir Podolskii

##### Associate Professor

#### Michael Levin

##### Lecturer

#### Alexander S. Kulikov

##### Visiting Professor

## FAQs

More questions? Visit the Learner Help Center.