Об этом курсе
4.9
Оценки: 139
Рецензии: 23
Этот курс является продолжением курса "Основы разработки на C++: белый пояс". В нём преподаватели продолжают знакомить вас с возможностями языка C++. В курсе рассмотрены: - целочисленные типы языка C++ - пары и кортежи - шаблоны функций - наследование и полиморфизм - итераторы и стандартные алгоритмы - распределение кода по нескольким файлам Кроме того, в курсе рассмотрено использование юнит-тестов для отладки программ и обеспечения надёжности кода, а также продемонстрировано, как, пользуясь знаниями только "Белого" и "Жёлтого" поясов, разработать свой собственный unit test framework. Так же, как и в "Белом поясе", в конце курса вас ждёт финальный проект. В "Белом поясе" надо было самостоятельно реализовать простое хранилище данных с возможностью добавления, удаления и поиска. В "Жёлтом поясе" это хранилище надо будет усовершенствовать, добавив поддержку более сложных запросов. Курс разработан ведущими специалистами Яндекса и преподавателями Школы анализа данных. За их плечами – годы разработки сервисов поиска, рекламы и инфраструктуры. Кроме того в подготовке заданий участвовали сотрудники Яндекса и студенты Школы анализа данных: - Александр Гришин - Алексей Аверченко - Максим Филипов - Даниил Петров - Евгений Шавлюгин - Владислав Виноградов - Алексей Боголюбский - Дмитрий Кузьмичёв - Иван Качалкин - Андрей Полушин - Андрей Корнеев - Константин Меренков...
Globe

Только онлайн-курсы

Начните сейчас и учитесь по собственному графику.
Calendar

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.
Intermediate Level

Промежуточный уровень

Clock

Approx. 44 hours to complete

Предполагаемая нагрузка: 8 hours/week...
Comment Dots

Russian

Субтитры: Russian...

Приобретаемые навыки

Software TestingUnit TestingAlgorithmsC++
Globe

Только онлайн-курсы

Начните сейчас и учитесь по собственному графику.
Calendar

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.
Intermediate Level

Промежуточный уровень

Clock

Approx. 44 hours to complete

Предполагаемая нагрузка: 8 hours/week...
Comment Dots

Russian

Субтитры: Russian...

Программа курса: что вы изучите

Week
1
Clock
10 ч. на завершение

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

Материалы этой недели знакомят вас с возможностями языка C++, не рассмотренными в курсе «Белый пояс по C++». Сначала рассмотрены различные целочисленные типы языка C++, рассказано, чем они отличаются, а также даны практические рекомендации по их применению. Затем рассматриваются пары и кортежи как способ упростить возврат нескольких значений из функций и создание операторов сравнения для своих классов. Наконец, мы расскажем о шаблонах функций. «Когда будут шаблоны?» был одним из самых частых вопросов, которые нам задавали слушатели «Белого пояса». Тема эта обширная и сложная, поэтому мы начинаем с малого — рассказываем о шаблонах функций: что это такое, для чего они нужны и как их создавать....
Reading
10 видео (всего 98 мин.), 13 материалов для самостоятельного изучения, 9 тестов
Video10 видео
Преобразования целочисленных типов12мин
Безопасное использование целочисленных типов11мин
Упрощаем оператор сравнения9мин
Кортежи и пары10мин
Возврат нескольких значений из функции10мин
Введение в шаблоны8мин
Универсальные функции вывода контейнеров в поток9мин
Рефакторим код и улучшаем читаемость вывода7мин
Указание шаблонного параметра-типа5мин
Reading13 материала для самостоятельного изучения
Как всё устроено и зачем10мин
План специализации "Искусство разработки на современном C++"10мин
Где задать вопрос: telegram, forum, slack10мин
Решение задачи «Суммирование матриц»10мин
Перечислимые типы и оператор switch15мин
Решение задачи «Средняя температура — 2»5мин
Решение задачи «Масса блоков»5мин
Решение задачи «База регионов»7мин
Решение задачи «Трекер задач»15мин
Код из лекции «Рефакторим код и улучшаем читаемость вывода»10мин
Решение задачи «Всё в квадрат»10мин
Решение задачи "Ссылка на элемент"10мин
Конспект по неделе 110мин
Quiz2 практического упражнения
Целочисленные типы15мин
Шаблоны функций12мин
Week
2
Clock
10 ч. на завершение

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

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

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

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

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

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

Лучшие рецензии

автор: DOApr 11th 2018

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

автор: AZDec 25th 2017

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

О Moscow Institute of Physics and Technology

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

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

О специализации ''Искусство разработки на современном C++'

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

Часто задаваемые вопросы

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

Остались вопросы? Посетите Центр поддержки учащихся.