About this Course

64,747 recent views

Shareable Certificate

Earn a Certificate upon completion

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 134 hours to complete

Russian

Subtitles: Russian

Skills you will gain

C++17Binary Search TreeC++ Standard LibraryHash TableCode Refactoring

Shareable Certificate

Earn a Certificate upon completion

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 134 hours to complete

Russian

Subtitles: Russian

Offered by

Moscow Institute of Physics and Technology logo

Moscow Institute of Physics and Technology

Yandex logo

Yandex

E-Learning Development Fund logo

E-Learning Development Fund

Syllabus - What you will learn from this course

Content RatingThumbs Up90%(3,615 ratings)Info
Week
1

Week 1

13 hours to complete

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

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

Week 2

14 hours to complete

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

14 hours to complete
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

Week 3

19 hours to complete

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

19 hours to complete
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

Week 4

12 hours to complete

shared_ptr и RAII

12 hours to complete
17 videos (Total 122 min), 8 readings, 6 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
8 readings
Виртуальный деструктор и shared_ptr10m
Циклические ссылки10m
unordered_set<unique_ptr>10m
Решение задачи «Текстуры»10m
Решение задачи Cache10m
Решение задачи «Шаблон UniquePtr»10m
Решение задачи «RAII Booking»10m
Конспект10m
2 practice exercises
Циклические ссылки10m
Идиома RAII: тест10m

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.

  • If you subscribed, you get a 7-day free trial during which you can cancel at no penalty. After that, we don’t give refunds, but you can cancel your subscription at any time. See our full refund policy.

  • Yes, Coursera provides financial aid to learners who cannot afford the fee. Apply for it by clicking on the Financial Aid link beneath the "Enroll" button on the left. You'll be prompted to complete an application and will be notified if you are approved. You'll need to complete this step for each course in the Specialization, including the Capstone Project. Learn more.

  • This Course doesn't carry university credit, but some universities may choose to accept Course Certificates for credit. Check with your institution to learn more. Online Degrees and Mastertrack™ Certificates on Coursera provide the opportunity to earn university credit.

More questions? Visit the Learner Help Center.