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

Cours en ligne à 100 %

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Calendar

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.
Intermediate Level

Niveau intermédiaire

Clock

Recommandé : 8 hours/week

Approx. 44 heures pour terminer
Comment Dots

Russian

Sous-titres : Russian

Compétences que vous acquerrez

Software TestingUnit TestingAlgorithmsC++
Globe

Cours en ligne à 100 %

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Calendar

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.
Intermediate Level

Niveau intermédiaire

Clock

Recommandé : 8 hours/week

Approx. 44 heures pour terminer
Comment Dots

Russian

Sous-titres : Russian

Programme du cours : ce que vous apprendrez dans ce cours

1

Section
Clock
10 heures pour terminer

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

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

2

Section
Clock
10 heures pour terminer

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

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

3

Section
Clock
6 heures pour terminer

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

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

4

Section
Clock
13 heures pour terminer

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

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

Meilleurs avis

par DOApr 11th 2018

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

par AZDec 25th 2017

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

À propos de Moscow Institute of Physics and Technology

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

À propos de 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....

À propos de la Spécialisation Искусство разработки на современном C++

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

Foire Aux 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.

D'autres questions ? Visitez le Centre d'Aide pour les Etudiants.