About this Course
35,195 recent views

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 73 hours to complete

Suggested: 8 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. 73 hours to complete

Suggested: 8 hours/week...

Russian

Subtitles: Russian

Syllabus - What you will learn from this course

Week
1
13 hours to complete

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

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

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

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

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

14 videos (Total 128 min), 12 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
12 readings
Решение задачи «Демографические показатели 2.0»10m
Решение задачи «Шаблон LazyValue»10m
Решение задачи «Константность в шаблоне Synchronized»10m
Решение задачи «Константность в шаблоне ConcurrentMap»10m
Решение задачи «operator[] в классе Polynomial»10m
Решение задачи «Пул объектов»10m
set<unique_ptr>10m
Виртуальный деструктор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
5.0
10 ReviewsChevron Right

Top reviews from Основы разработки на С++: коричневый пояс

By MRJun 12th 2019

На курсе очень интересные задачи и полезные навыки. Много кода, иногда нужно прям очень хорошо думать и очень внимательно читать условия. Однозначно рекомендую.

Instructors

Avatar

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

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

Alexey Zobnin

Accosiate professor
HSE Faculty of Computer Science

About Moscow Institute of Physics and Technology

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

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.