About this Course
5.0
24 ratings
5 reviews

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 64 hours to complete

Suggested: 10 hours/week...

Russian

Subtitles: Russian

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 64 hours to complete

Suggested: 10 hours/week...

Russian

Subtitles: Russian

Syllabus - What you will learn from this course

Week
1
13 hours to complete

Эффективное использование ассоциативных контейнеров

...
12 videos (Total 75 min), 10 readings, 9 quizzes
12 videos
Размен отсортированности на производительность5m
Введение в хеш-функции8m
Внутреннее устройство unordered_map3m
Внутреннее устройство map4m
Итераторы в map/set. Почему лучше использовать собственные методы для поиска.7m
Итераторы в unordered_map. Инвалидация итераторов в ассоциативных контейнерах3m
Использование пользовательских типов в ассоциативных контейнерах10m
Зависимость производительности от хеш-функции7m
Рекомендации по выбору хеш-функции6m
extract и merge10m
Итоги. Рекомендации по выбору.1m
10 readings
Как всё устроено и зачем10m
Библиотеки, разработанные на предыдущих курсах10m
Где задать вопрос: telegram, forum2m
Решение задачи «Контейнер с приоритетами»10m
Функция Head10m
Решение задачи «Хеш-таблица»10m
Решение задачи set::iterator10m
Решение задачи «Интеграция структуры Point в unordered_set»10m
Интеграция структуры Person в unordered_set10m
Решение задачи «Вторичный индекс в базе данных»10m
3 practice exercises
1. Внутреннее устройство ассоциативных контейнеров.15m
2. Итераторы.10m
3. Заключительный тест.10m
Week
2
13 hours to complete

Пространства имён и указатель this

...
15 videos (Total 94 min), 7 readings, 9 quizzes
15 videos
Постановка проблемы, пересечение имён двух разных библиотек3m
Знакомства с пространствами имён6m
Особенности синтаксиса пространств имён7m
Using-декларация4m
Директива using namespace3m
Глобальное пространство имён4m
using namespace в заголовочных файлах7m
Пространство имён std8m
Структурирование кода с использованием пространств имён15m
Рекомендации по использованию пространств имён4m
Присваивание объекта самому себе5m
Знакомство с this4m
Ссылка на себя7m
this как неявный параметр методов класса4m
7 readings
Решение задачи «Загрузка расходов из формата XML»10m
Решение задачи «Загрузка расходов из формата JSON»10m
Решение задачи «Библиотека работы с INI-файлами»10m
Решение задачи «Рефакторинг чужого кода»10m
Решение задачи «Реструктуризация кода»10m
Решение задачи «Двойная диспетчеризация»10m
Решение задачи «Сервер комментариев»10m
2 practice exercises
Синтаксис работы с пространствами имён15m
Итоговый тест по пространствам имён
Week
3
18 hours to complete

Константность и unique_ptr

...
14 videos (Total 128 min), 11 readings, 10 quizzes
14 videos
const защищает от случайного изменения7m
Использование const для поддержания инвариантов в классах и объектах8m
Идиома immediately invoked lambda expression (IILE)11m
Константные объекты в многопоточных программах4m
Логическая константность и mutable6m
Ещё раз о константности в многопоточной среде8m
Рекомендации по использованию const7m
Умные указатели - введение2m
Обнаружение утечки памяти в ObjectPool10m
Откуда берётся утечка памяти?12m
Умный указатель unique_ptr13m
unique_ptr для исправления утечки13m
Разбор задачи "Дерево выражения"9m
11 readings
Решение задачи «Демографические показатели 2.0»10m
Решение задачи «Шаблон LazyValue»10m
Решение задачи «Константность в шаблоне Synchronized»10m
Решение задачи «Константность в шаблоне ConcurrentMap»10m
Решение задачи «operator[] в классе Polynomial»10m
Решение задачи «Пул объектов»10m
set<unique_ptr>10m
Виртуальный деструктор10m
Решение задачи «Зоопарк»10m
Решение задачи «Конвейер»10m
Решение задачи «Дерево выражений»10m
1 practice exercise
Тест на константность
Week
4
11 hours to complete

shared_ptr и RAII

...
17 videos (Total 122 min), 6 readings, 5 quizzes
17 videos
shared_ptr в дереве выражения8m
Внутреннее устройство умных указателей9m
Владение, часть 16m
Владение, часть 29m
Присваивание умных указателей8m
shared_ptr и многопоточность15m
Умный указатель weak_ptr6m
Пользовательский deleter5m
Знакомство с редактором vim и консольным компилятором1m
Жизненный цикл объекта8m
Идея RAII2m
RAII-обёртка над файлом6m
Копирование и перемещение RAII-обёрток4m
RAII вокруг нас7m
Разбор задачи - 17m
Разбор задачи - 29m
6 readings
Виртуальный деструктор и shared_ptr10m
unordered_set<unique_ptr>10m
Решение задачи «Текстуры»10m
Решение задачи Cache10m
Решение задачи «Шаблон UniquePtr»10m
Решение задачи «RAII Booking»10m
1 practice exercise
Идиома RAII: тест10m

Instructors

Avatar

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

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

Alexey Zobnin

Accosiate professor
HSE Faculty of Computer Science

About Moscow Institute of Physics and Technology

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

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

About the Искусство разработки на современном C++ Specialization

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

Frequently Asked 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.

More questions? Visit the Learner Help Center.