À propos de ce cours
21,974 consultations récentes

100 % en ligne

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

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau intermédiaire

Approx. 42 heures pour terminer

Recommandé : 9 hours/week...

Russe

Sous-titres : Russe

Compétences que vous acquerrez

SanitizersC++17Protocol Buffers (PROTOBUF)C++ Standard LibraryUndefined Behavior

100 % en ligne

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

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau intermédiaire

Approx. 42 heures pour terminer

Recommandé : 9 hours/week...

Russe

Sous-titres : Russe

Programme du cours : ce que vous apprendrez dans ce cours

Semaine
1
34 heures pour terminer

Неделя 1. Неопределённое поведение и инструменты поиска проблем

17 vidéos (Total 151 min), 15 lectures, 10 quiz
17 vidéos
Отладочные макроопределения12 min
Санитайзеры12 min
Введение в неопределённое поведение2 min
Онлайн сервисы11 min
Избавление от накладных расходов14 min
Выполнение оптимизаций11 min
Неожиданные последствия неопределённого поведения8 min
Идиоматический С++ и неопределённое поведение8 min
Идиоматический С++ и неопределённое поведение (продолжение)11 min
Инструменты для обнаружения неопределённого поведения11 min
Решение части E9 min
Решение части F14 min
Транспортный справочник, части G–I2 min
Решение части G8 min
Решение части H1 min
Решение части I7 min
15 lectures
Где задать вопрос: telegram, forum10 min
Подробнее про дебажные дефайны15 min
Вердикты санитайзера30 min
Использование санитайзеров в других окружениях10 min
Решение задачи «Запрещённые домены» под санитайзером10 min
Решение задачи «Личный бюджет» под санитайзером10 min
Решение задачи «Транспортный справочник» под санитайзером15 min
Онлайн сервисы - ссылки1 min
Сложение без переполнения5 min
Символайзер к санитайзеру на Wandbox10 min
Решение части E1 h
Решение части F20 min
Решение части G30 min
Решение части H30 min
Решение части I30 min
1 exercice pour s'entraîner
Неопределённое поведение20 min
Semaine
2
16 heures pour terminer

Неделя 2. Сериализация и protobuf

9 vidéos (Total 85 min), 5 lectures, 6 quiz
9 vidéos
Бинарная сериализация11 min
Бинарный и текстовый режим потоков ввода/вывода11 min
Введение в protobuf4 min
Установка protobuf9 min
Синтаксис proto-файлов12 min
Сборка проектов, использующих protobuf13 min
C++ Protobuf API 111 min
C++ Protobuf API 29 min
5 lectures
Решение задачи «JSON Printer»10 min
Решение задачи «Save & Load»10 min
Пример CMakeLists.txt для сборки проекта с protobuf10 min
Решение задачи «Телефонная книга»10 min
Решение задачи «Справочник организаций»10 min
2 exercices pour s'entraîner
Бинарная сериализация20 min
Синтаксис proto320 min
Semaine
3
33 heures pour terminer

Неделя 3. Хранение объектов в памяти и таблица виртуальных методов

17 vidéos (Total 86 min), 8 lectures, 9 quiz
17 vidéos
Выравнивание сложных объектов6 min
Выравнивание при наследовании4 min
Little Endian, Big Endian7 min
Плотная упаковка14 min
Виртуальные методы3 min
Указатель vpointer3 min
Таблица виртуальных методов3 min
Конструкторы и деструкторы5 min
Pure virtual3 min
Введение в разработку трансляторов4 min
Транспортный справочник, части J–M1 min
Транспортный справочник, часть J1 min
Транспортный справочник, часть K3 min
Транспортный справочник, часть L1 min
Транспортный справочник, часть M3 min
Решения частей J–M12 min
8 lectures
Решение задачи «Нуклеотид: сжатие структуры данных»10 min
Интерпретатор языка Mython25 min
Решение задачи «Лексический анализатор языка Mython»10 min
Решение задачи «Интерпретатор языка Mython»1 h
Решение части J30 min
Решение части K30 min
Решение части L30 min
Решение части M30 min
2 exercices pour s'entraîner
Тесты на выравнивание памяти
Тесты на виртуальные функции
Semaine
4
17 heures pour terminer

Неделя 4. Вектор своими руками

14 vidéos (Total 114 min), 8 lectures, 9 quiz
14 vidéos
Placement new7 min
Наивная реализация конструкторов и функции Reserve9 min
Обработка исключений6 min
Уносим сырую память в класс-обёртку8 min
Функции std::uninitialized_*5 min
Оператор присваивания и move-конструктор12 min
Resize, PushBack и PopBack6 min
Гарантии безопасности исключений9 min
Variadic templates8 min
Наивная реализация EmplaceBack5 min
Forwarding references11 min
Транспортный справочник, часть N2 min
Решение части N13 min
8 lectures
Решение задачи SimpleVector из «Красного пояса»10 min
Решение задачи «Optional»10 min
Решение задачи «EqualsToOneOf»10 min
Решение задачи «Применить функтор к списку аргументов»10 min
Решение задачи «Вектор своими руками — 1»10 min
Решение задачи «Вектор своими руками — 2»10 min
Как работают std::move и std::forward10 min
Решение части N30 min
3 exercices pour s'entraîner
Требования к стандартному вектору10 min
Реализация конструкторов и функции Reserve20 min
EmplaceBack20 min

Enseignants

Avatar

Шишков Илья Иванович

кандидат технических наук
Яндекс
Avatar

Alexey Zobnin

Accosiate professor
HSE Faculty of Computer Science

À propos de Institut de physique et de technologie de Moscou

Московский физико-технический институт (Физтех) является одним из ведущих вузов страны и входит в основные рейтинги лучших университетов мира. Институт обладает не только богатой историей – основателями и профессорами института были Нобелевские лауреаты Пётр Капица, Лев Ландау и Николай Семенов – но и большой научно-исследовательской базой. Основой образования в МФТИ является уникальная «система Физтеха», сформулированная Петром Капицей: кропотливый отбор одаренных и склонных к творческой работе абитуриентов; участие в обучении ведущих научных работников; индивидуальный подход к отдельным студентам с целью развития их творческих задатков; воспитание с первых шагов в атмосфере технических исследований и конструктивного творчества с использованием потенциала лучших лабораторий страны. Среди выпускников МФТИ — нобелевские лауреаты Андрей Гейм и Константин Новоселов, основатель компании ABBYY Давид Ян, один из авторов архитектурных принципов построения вычислительных комплексов Борис Бабаян и др....

À 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 du Spécialisation Искусство разработки на современном C++

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

Foire Aux Questions

  • Une fois que vous êtes inscrit(e) pour un Certificat, vous pouvez accéder à toutes les vidéos de cours, et à tous les quiz et exercices de programmation (le cas échéant). Vous pouvez soumettre des devoirs à examiner par vos pairs et en examiner vous-même uniquement après le début de votre session. Si vous préférez explorer le cours sans l'acheter, vous ne serez peut-être pas en mesure d'accéder à certains devoirs.

  • Lorsque vous vous inscrivez au cours, vous bénéficiez d'un accès à tous les cours de la Spécialisation, et vous obtenez un Certificat lorsque vous avez réussi. Votre Certificat électronique est alors ajouté à votre page Accomplissements. À partir de cette page, vous pouvez imprimer votre Certificat ou l'ajouter à votre profil LinkedIn. Si vous souhaitez seulement lire et visualiser le contenu du cours, vous pouvez accéder gratuitement au cours en tant qu'auditeur libre.

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