课程信息
86,757

100% 在线

立即开始,按照自己的计划学习。

可灵活调整截止日期

根据您的日程表重置截止日期。

中级

完成时间大约为51 小时

建议:9 hours/week...

俄语(Russian)

字幕:俄语(Russian)

您将获得的技能

Software TestingUnit TestingAlgorithmsC++

100% 在线

立即开始,按照自己的计划学习。

可灵活调整截止日期

根据您的日程表重置截止日期。

中级

完成时间大约为51 小时

建议:9 hours/week...

俄语(Russian)

字幕:俄语(Russian)

教学大纲 - 您将从这门课程中学到什么

1
完成时间为 10 小时

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

Материалы этой недели знакомят вас с возможностями языка C++, не рассмотренными в курсе «Белый пояс по C++». Сначала рассмотрены различные целочисленные типы языка C++, рассказано, чем они отличаются, а также даны практические рекомендации по их применению. Затем рассматриваются пары и кортежи как способ упростить возврат нескольких значений из функций и создание операторов сравнения для своих классов. Наконец, мы расскажем о шаблонах функций. «Когда будут шаблоны?» был одним из самых частых вопросов, которые нам задавали слушатели «Белого пояса». Тема эта обширная и сложная, поэтому мы начинаем с малого — рассказываем о шаблонах функций: что это такое, для чего они нужны и как их создавать....
11 个视频 (总计 101 分钟), 13 个阅读材料, 9 个测验
11 个视频
Введение в целочисленные типы12分钟
Преобразования целочисленных типов12分钟
Безопасное использование целочисленных типов11分钟
Упрощаем оператор сравнения9分钟
Кортежи и пары10分钟
Возврат нескольких значений из функции10分钟
Введение в шаблоны8分钟
Универсальные функции вывода контейнеров в поток9分钟
Рефакторим код и улучшаем читаемость вывода7分钟
Указание шаблонного параметра-типа5分钟
13 个阅读材料
Как всё устроено и зачем10分钟
План специализации "Искусство разработки на современном C++"10分钟
Где задать вопрос: telegram, forum, slack10分钟
Решение задачи «Суммирование матриц»10分钟
Перечислимые типы и оператор switch15分钟
Решение задачи «Средняя температура — 2»5分钟
Решение задачи «Масса блоков»5分钟
Решение задачи «База регионов»7分钟
Решение задачи «Трекер задач»15分钟
Код из лекции «Рефакторим код и улучшаем читаемость вывода»10分钟
Решение задачи «Всё в квадрат»10分钟
Решение задачи "Ссылка на элемент"10分钟
Конспект по неделе 110分钟
2 个练习
Целочисленные типы15分钟
Шаблоны функций12分钟
2
完成时间为 10 小时

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

Эта неделя посвящена использованию юнит-тестов для тестирования и отладки программ. На примере мы продемонстрируем, как юнит-тесты помогают в поиске и устранении ошибок, а также что нужно делать, чтобы покрыть свой код юнит-тестами. Затем с помощью накопленных на данный момент знаний мы разработаем свой собственный фреймворк для создания юнит-тестов, которым вы сможете пользоваться в своих программах....
12 个视频 (总计 116 分钟), 8 个阅读材料, 8 个测验
12 个视频
Декомпозиция решения задачи «Синонимы»9分钟
Простейший способ создания юнит-тестов на C++6分钟
Отладка решения задачи «Синонимы» с помощью юнит-тестов16分钟
Анализ недостатков фреймворка юнит-тестов9分钟
Улучшаем assert13分钟
Внедряем шаблон AssertEqual во все юнит-тесты11分钟
Изолируем запуск отдельных тестов9分钟
Избавляемся от смешения вывода тестов и основной программы7分钟
Обеспечиваем регулярный запуск юнит-тестов11分钟
Собственный фреймворк юнит-тестов. Итоги4分钟
Общие рекомендации по декомпозиции программы и написанию юнит-тестов11分钟
8 个阅读材料
Решение задачи «Декомпозиция программы»10分钟
Код фреймворка юнит-тестов10分钟
Инструкция по решению следующих заданий по программированию10分钟
Решение задачи «Тесты для функции GetDistinctRootCount»10分钟
Решение для задачи «Тесты для класса Person»10分钟
Решение задачи «Тесты для класса Rational»10分钟
Решение задачи «Тесты для функции IsPalindrom»10分钟
Конспект по неделе 210分钟
3 个练习
Юнит-тестирование6分钟
Разработка фреймворка юнит-тестов8分钟
Тестирование и отладка. Итоги10分钟
3
完成时间为 4 小时

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

Весь код, который мы прежде писали в нашем курсе, всегда находился в одном файле. Естественно, реальные большие проекты не пишутся в одном файле. В материалах этой недели мы рассмотрим, как распределять код программ на C++ на несколько файлов. Мы расскажем, что такое заголовочные файлы и файлы с реализациями, как работает директива #include и как выполняется сборка многофайлового проекта. Кроме того, мы поговорим о проблемах, которые возникают в больших проектах и расскажем, как их решать....
8 个视频 (总计 85 分钟), 6 个阅读材料, 6 个测验
8 个视频
Механизм работы директивы #include13分钟
Обеспечение независимости заголовочных файлов7分钟
Проблема двойного включения13分钟
Понятия объявления и определения15分钟
Механизм сборки проектов, состоящих из нескольких файлов16分钟
Правило одного определения6分钟
Итоги3分钟
6 个阅读材料
Поддержка нашего юнит-тест фреймворка тестирующей системой10分钟
Решение задачи «Реализовать функции, объявленные в заголовочном файле»10分钟
Решение задачи «Реализовать класс, объявленный в заголовочном файле»10分钟
Решение задачи «Написать объявление класса»10分钟
Решение задачи «Декомпозиция программы — 2»10分钟
Конспект по неделе 310分钟
2 个练习
Заголовочные файлы6分钟
Разделение кода по файлам. Итоги12分钟
4
完成时间为 13 小时

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

В курсе "Белый пояс по C++" мы познакомились с некоторыми стандартными алгоритмами: count, count_if и sort. Конечно же, библиотека C++ гораздо богаче и содержит значительно больше стандартных алгоритмов, которые позволяют сделать ваш код короче, понятнее и надёжнее. Чтобы их освоить, сначала нужно узнать, что такое итераторы. С этого мы и начнём четвёртую неделю. Затем рассмотрим стандартные алгоритмы, в которых используются итераторы. Наконец, мы познакомим вас с новыми стандартными контейнерами: деком и очередью....
14 个视频 (总计 103 分钟), 13 个阅读材料, 13 个测验
14 个视频
Концепция полуинтервалов итераторов11分钟
Итераторы множеств и словарей5分钟
Продвинутое итерирование по контейнерам5分钟
Использование итераторов в методах контейнеров4分钟
Использование итераторов в алгоритмах9分钟
Обратные итераторы7分钟
Алгоритмы, возвращающие набор элементов8分钟
Итераторы inserter и back_inserter5分钟
Отличия итераторов векторов и множеств5分钟
Категории итераторов, документация4分钟
Стек, очередь и дек7分钟
Алгоритмы поиска9分钟
Анализ распространённых ошибок7分钟
13 个阅读材料
Решение задачи «Часть вектора»10分钟
Решение задачи «Часть множества»5分钟
Решение задачи «Разбиение на слова»10分钟
Решение задачи «Удаление повторов»10分钟
Решение задачи «Перебор перестановок»10分钟
Решение задачи «Демографические показатели»10分钟
Решение задачи «Сортировка слиянием»10分钟
Сводная таблица по алгоритмам поиска10分钟
Решение задачи «Поиск ближайшего элемента»5分钟
Решение задачи «Имена и фамилии — 4»5分钟
Решение задачи «Группировка строк по префиксу»10分钟
Решение задачи «Построение арифметического выражения»10分钟
Конспект по неделе 410分钟
2 个练习
Использование итераторов в алгоритмах и контейнерах
Алгоритмы поиска20分钟
5
完成时间为 7 小时

Наследование и полиморфизм

Объектно-ориентированное программирование стоит на трёх китах: инкапсуляция, наследование и полиморфизм. О том, какими средствами достигается инкапсуляция в C++, мы узнали в "Белом поясе по C++". Эта неделя расскажет вам о двух оставшихся "китах": наследовании и полиморфизме. Мы не только покажем, как именно в C++ унаследовать один класс от другого и создать набор полиморфных объектов, но и применим полученные знания на практике - создадим программу-калькулятор, которая поддерживает работу с переменными....
11 个视频 (总计 111 分钟), 6 个阅读材料, 5 个测验
11 个视频
Доступ к полям классов. Знакомство со списками инициализации10分钟
Порядок конструирования экземпляров классов12分钟
Унификация работы с классо-специфичным кодом. Постановка проблемы9分钟
Решение проблемы с помощью виртуальных методов8分钟
Свойства виртуальных методов. Абстрактные классы5分钟
Виртуальные методы и передача объектов по ссылке2分钟
Хранение объектов разных типов в контейнере с помощью shared_ptr11分钟
Задача разбора арифметического выражения. Описание решения18分钟
Решение задачи для частного примера4分钟
Описание и обзор общего решения задачи6分钟
6 个阅读材料
Решение задачи «Наследование своими руками»10分钟
Код парсера к лекции10分钟
Решение задачи «Отправка уведомлений»10分钟
Решение задачи «Набор фигур»10分钟
Как правильно проверять код2分钟
Конспект по неделе 510分钟
1 个练习
Наследование8分钟
6
完成时间为 9 小时

Курсовой проект

Настало время закрепить все полученные на курсе знания, применив их в финальном проекте. Задача этой недели является развитием финального проекта курса "Белый пояс по C++". Вам точно так же надо будет разработать базу данных, которая хранит набор событий и поддерживает различные операции с ним....
1 个视频 (总计 1 分钟), 3 个阅读材料, 1 个测验
3 个阅读材料
Решение курсового проекта30分钟
Продолжение курса10分钟
Станьте ментором курса!2分钟
4.9
36 个审阅Chevron Right

33%

完成这些课程后已开始新的职业生涯

33%

通过此课程获得实实在在的工作福利

热门审阅

创建者 VKMar 5th 2018

Интересно и познавательно. Отличное продолжение "Белого пояса". Но задания, которые оцениваются сокурсниками, стоит размещать в начале курса.

创建者 SSJul 2nd 2018

Отличный курс! Очень нравится подход с большим количеством практических заданий по каждой теме. Спасибо авторам за проделанную работу!

关于 莫斯科物理科学与技术学院

Московский физико-технический институт (неофициально известный как МФТИ или Физтех) является одним из самых престижных в мире учебных и научно-исследовательских институтов. Он готовит высококвалифицированных специалистов в области теоретической и прикладной физики, прикладной математики, информатики, биотехнологии и смежных дисциплин. Физтех был основан в 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++

常见问题

  • 注册以便获得证书后,您将有权访问所有视频、测验和编程作业(如果适用)。只有在您的班次开课之后,才可以提交和审阅同学互评作业。如果您选择在不购买的情况下浏览课程,可能无法访问某些作业。

  • 您注册课程后,将有权访问专项课程中的所有课程,并且会在完成课程后获得证书。您的电子课程证书将添加到您的成就页中,您可以通过该页打印您的课程证书或将其添加到您的领英档案中。如果您只想阅读和查看课程内容,可以免费旁听课程。

还有其他问题吗?请访问 学生帮助中心