About this Course
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Hours to complete

Approx. 17 hours to complete

Suggested: 8 hours/week...
Available languages

Russian

Subtitles: Russian
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Hours to complete

Approx. 17 hours to complete

Suggested: 8 hours/week...
Available languages

Russian

Subtitles: Russian

Syllabus - What you will learn from this course

Week
1
Hours to complete
19 hours to complete

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

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

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

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

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

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

shared_ptr и RAII

...
Reading
17 videos (Total 122 min), 5 readings, 4 quizzes
Video17 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
Reading5 readings
Виртуальный деструктор и shared_ptr10m
unordered_set<unique_ptr>10m
Решение задачи «Текстуры»10m
Решение задачи «Шаблон UniquePtr»10m
Решение задачи «RAII Booking»10m
Quiz1 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.