課程信息
86,544 次近期查看

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++

常見問題

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

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

還有其他問題嗎?請訪問 學生幫助中心