About this Course
4.9
181 ratings
24 reviews
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Hours to complete

Approx. 50 hours to complete

Suggested: 9 hours/week...
Available languages

Russian

Subtitles: Russian

Skills you will gain

Software TestingUnit TestingAlgorithmsC++
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Hours to complete

Approx. 50 hours to complete

Suggested: 9 hours/week...
Available languages

Russian

Subtitles: Russian

Syllabus - What you will learn from this course

Week
1
Hours to complete
10 hours to complete

Целочисленные типы, кортежи, шаблонные функции

Материалы этой недели знакомят вас с возможностями языка C++, не рассмотренными в курсе «Белый пояс по C++». Сначала рассмотрены различные целочисленные типы языка C++, рассказано, чем они отличаются, а также даны практические рекомендации по их применению. Затем рассматриваются пары и кортежи как способ упростить возврат нескольких значений из функций и создание операторов сравнения для своих классов. Наконец, мы расскажем о шаблонах функций. «Когда будут шаблоны?» был одним из самых частых вопросов, которые нам задавали слушатели «Белого пояса». Тема эта обширная и сложная, поэтому мы начинаем с малого — рассказываем о шаблонах функций: что это такое, для чего они нужны и как их создавать....
Reading
11 videos (Total 101 min), 13 readings, 9 quizzes
Video11 videos
Введение в целочисленные типы12m
Преобразования целочисленных типов12m
Безопасное использование целочисленных типов11m
Упрощаем оператор сравнения9m
Кортежи и пары10m
Возврат нескольких значений из функции10m
Введение в шаблоны8m
Универсальные функции вывода контейнеров в поток9m
Рефакторим код и улучшаем читаемость вывода7m
Указание шаблонного параметра-типа5m
Reading13 readings
Как всё устроено и зачем10m
План специализации "Искусство разработки на современном C++"10m
Где задать вопрос: telegram, forum, slack10m
Решение задачи «Суммирование матриц»10m
Перечислимые типы и оператор switch15m
Решение задачи «Средняя температура — 2»5m
Решение задачи «Масса блоков»5m
Решение задачи «База регионов»7m
Решение задачи «Трекер задач»15m
Код из лекции «Рефакторим код и улучшаем читаемость вывода»10m
Решение задачи «Всё в квадрат»10m
Решение задачи "Ссылка на элемент"10m
Конспект по неделе 110m
Quiz2 practice exercises
Целочисленные типы15m
Шаблоны функций12m
Week
2
Hours to complete
10 hours to complete

Тестирование и отладка

Эта неделя посвящена использованию юнит-тестов для тестирования и отладки программ. На примере мы продемонстрируем, как юнит-тесты помогают в поиске и устранении ошибок, а также что нужно делать, чтобы покрыть свой код юнит-тестами. Затем с помощью накопленных на данный момент знаний мы разработаем свой собственный фреймворк для создания юнит-тестов, которым вы сможете пользоваться в своих программах....
Reading
12 videos (Total 116 min), 8 readings, 8 quizzes
Video12 videos
Декомпозиция решения задачи «Синонимы»9m
Простейший способ создания юнит-тестов на C++6m
Отладка решения задачи «Синонимы» с помощью юнит-тестов16m
Анализ недостатков фреймворка юнит-тестов9m
Улучшаем assert13m
Внедряем шаблон AssertEqual во все юнит-тесты11m
Изолируем запуск отдельных тестов9m
Избавляемся от смешения вывода тестов и основной программы7m
Обеспечиваем регулярный запуск юнит-тестов11m
Собственный фреймворк юнит-тестов. Итоги4m
Общие рекомендации по декомпозиции программы и написанию юнит-тестов11m
Reading8 readings
Решение задачи «Декомпозиция программы»10m
Код фреймворка юнит-тестов10m
Инструкция по решению следующих заданий по программированию10m
Решение задачи «Тесты для функции GetDistinctRootCount»10m
Решение для задачи «Тесты для класса Person»10m
Решение задачи «Тесты для класса Rational»10m
Решение задачи «Тесты для функции IsPalindrom»10m
Конспект по неделе 210m
Quiz3 practice exercises
Юнит-тестирование6m
Разработка фреймворка юнит-тестов8m
Тестирование и отладка. Итоги10m
Week
3
Hours to complete
6 hours to complete

Распределение кода по файлам

Весь код, который мы прежде писали в нашем курсе, всегда находился в одном файле. Естественно, реальные большие проекты не пишутся в одном файле. В материалах этой недели мы рассмотрим, как распределять код программ на C++ на несколько файлов. Мы расскажем, что такое заголовочные файлы и файлы с реализациями, как работает директива #include и как выполняется сборка многофайлового проекта. Кроме того, мы поговорим о проблемах, которые возникают в больших проектах и расскажем, как их решать....
Reading
8 videos (Total 85 min), 6 readings, 6 quizzes
Video8 videos
Механизм работы директивы #include13m
Обеспечение независимости заголовочных файлов7m
Проблема двойного включения13m
Понятия объявления и определения15m
Механизм сборки проектов, состоящих из нескольких файлов16m
Правило одного определения6m
Итоги3m
Reading6 readings
Поддержка нашего юнит-тест фреймворка тестирующей системой10m
Решение задачи «Реализовать функции, объявленные в заголовочном файле»10m
Решение задачи «Реализовать класс, объявленный в заголовочном файле»10m
Решение задачи «Написать объявление класса»10m
Решение задачи «Декомпозиция программы — 2»10m
Конспект по неделе 310m
Quiz2 practice exercises
Заголовочные файлы6m
Разделение кода по файлам. Итоги12m
Week
4
Hours to complete
13 hours to complete

Итераторы, алгоритмы и контейнеры

В курсе "Белый пояс по C++" мы познакомились с некоторыми стандартными алгоритмами: count, count_if и sort. Конечно же, библиотека C++ гораздо богаче и содержит значительно больше стандартных алгоритмов, которые позволяют сделать ваш код короче, понятнее и надёжнее. Чтобы их освоить, сначала нужно узнать, что такое итераторы. С этого мы и начнём четвёртую неделю. Затем рассмотрим стандартные алгоритмы, в которых используются итераторы. Наконец, мы познакомим вас с новыми стандартными контейнерами: деком и очередью....
Reading
14 videos (Total 103 min), 13 readings, 13 quizzes
Video14 videos
Концепция полуинтервалов итераторов11m
Итераторы множеств и словарей5m
Продвинутое итерирование по контейнерам5m
Использование итераторов в методах контейнеров4m
Использование итераторов в алгоритмах9m
Обратные итераторы7m
Алгоритмы, возвращающие набор элементов8m
Итераторы inserter и back_inserter5m
Отличия итераторов векторов и множеств5m
Категории итераторов, документация4m
Стек, очередь и дек7m
Алгоритмы поиска9m
Анализ распространённых ошибок7m
Reading13 readings
Решение задачи «Часть вектора»10m
Решение задачи «Часть множества»5m
Решение задачи «Разбиение на слова»10m
Решение задачи «Удаление повторов»10m
Решение задачи «Перебор перестановок»10m
Решение задачи «Демографические показатели»10m
Решение задачи «Сортировка слиянием»10m
Сводная таблица по алгоритмам поиска10m
Решение задачи «Поиск ближайшего элемента»5m
Решение задачи «Имена и фамилии — 4»5m
Решение задачи «Группировка строк по префиксу»10m
Решение задачи «Построение арифметического выражения»10m
Конспект по неделе 410m
Quiz2 practice exercises
Использование итераторов в алгоритмах и контейнерахm
Алгоритмы поиска20m
4.9
24 ReviewsChevron Right

Top Reviews

By DOApr 11th 2018

Финальная задача - ад, недели три писал, хотя все остальные номера достаточно быстро давались :)

By AZDec 25th 2017

Course creators keep their bar set high as at the White Belt.

About Moscow Institute of Physics and Technology

Московский физико-технический институт (неофициально известный как МФТИ или Физтех) является одним из самых престижных в мире учебных и научно-исследовательских институтов. Он готовит высококвалифицированных специалистов в области теоретической и прикладной физики, прикладной математики, информатики, биотехнологии и смежных дисциплин. Физтех был основан в 1951 году Нобелевской премии лауреатами Петром Капицей, Николаем Семеновым, Львом Ландау и Сергеем Христиановичем. Основой образования в МФТИ является уникальная «система Физтеха»: кропотливое воспитание и отбор самых талантливых абитуриентов, фундаментальное образование высшего класса и раннее вовлечение студентов в реальную научно-исследовательскую работу. Среди выпускников МФТИ есть Нобелевские лауреаты, основатели всемирно известных компаний, известные космонавты, изобретатели, инженеры....

About Yandex

Yandex is a technology company that builds intelligent products and services powered by machine learning. Our goal is to help consumers and businesses better navigate the online and offline world....

About the Искусство разработки на современном C++ Specialization

В специализации преподаватели делятся своим многолетним опытом создания больших проектов на языке C++. Они не пересказывают учебник, а учат решать задачи, с которыми на практике сталкиваются большинство разработчиков. Лекции, подаваемые в лёгкой и доступной форме, подкрепляются большим количество задач по программированию. Закончив эту специализацию, вы сможете не только рассуждать о C++, сравнивая его с другими языками, но и получите реальный навык программирования....
Искусство разработки на современном C++

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.