About this Course
4.8
16 ratings
3 reviews
Этот курс является продолжением курса "Основы разработки на C++: жёлтый пояс". Основная цель курса — научить писать на С++ эффективный код. Кроме того рассмотрены некоторые возможности С++, которые не попали в предыдущие курсы. В курсе рассмотрены: - макросы - шаблоны классов - принципы оптимизации кода - эффективное использование потоков ввода/вывода - оценки сложности алгоритмов - модель памяти в С++ - эффективное использование линейных контейнеров (vector, deque, list, string) - move-семантика - введение в многопоточное программирование Кроме того, в курсе продемонстрировано, как, пользуясь знаниями только "Белого", "Жёлтого" и "Красного" поясов, разработать свой собственный профайлер. Так же, как и в предыдущих курсах, в конце вас ждёт финальный проект. Было бы странно в курсе от Яндекса не попросить вас создать свою поисковую систему! Именно этим вам и предстоит заняться в финальной задаче. Курс разработан ведущими специалистами Яндекса и преподавателями Школы анализа данных. За их плечами – годы разработки сервисов поиска, рекламы и инфраструктуры. Кроме того в подготовке заданий участвовали 1. Сотрудники Яндекса: - Алексей Аверченко - Даниил Петров - Константин Меренков - Алексей Зобнин 2. Выпускники «Жёлтого пояса по С++»: - Борис Егоров - Ольга Марчевская 3. Сотрудник Института проблем информатики РАН Олег Яковлев В создании урока «Шаблоны классов» принимал участие преподаватель Белого и Жёлтого «поясов» Евгений Парамонов....
Globe

100% online courses

Start instantly and learn at your own schedule.
Calendar

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Clock

Suggested: 13 hours/week

Approx. 40 hours to complete
Comment Dots

Russian

Subtitles: Russian
Globe

100% online courses

Start instantly and learn at your own schedule.
Calendar

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Clock

Suggested: 13 hours/week

Approx. 40 hours to complete
Comment Dots

Russian

Subtitles: Russian

Syllabus - What you will learn from this course

1

Section
Clock
16 hours to complete

Макросы и шаблоны классов

...
Reading
10 videos (Total 103 min), 12 readings, 12 quizzes
Video10 videos
Оператор #8m
Макросы __FILE__ и __LINE__9m
Тёмная сторона макросов12m
Введение в шаблоны классов6m
Интеграция пользовательского класса в цикл for13m
Разница между шаблоном и классом7m
Вывод типов в шаблонах классов 17m
Вывод типов в шаблонах классов 213m
Автоматический вывод типа, возвращаемого функцией11m
Reading12 readings
Как всё устроено и зачем10m
План специализации "Искусство разработки на современном C++"10m
Решение задачи «Максимальный элемент по предикату»10m
Обновлённый test_runner.h10m
Решение задачи «Макрос LOG»10m
Решение задачи «Генератор компараторов»10m
Решение задачи «Макрос UPDATE_FIELD»10m
Решение задачи «Плохой макрос»10m
Решение задачи «Макрос UNIQ_ID»10m
Решение задачи «Таблица»10m
Решение задачи «Дек на основе двух векторов»10m
Решение задачи «Paginator»10m
Quiz3 practice exercises
Макросы16m
Введение в шаблоны классов14m
Автоматический вывод шаблонных типов15m

2

Section
Clock
15 hours to complete

Принципы оптимизации кода, сложность алгоритмов и эффективное использование ввода/вывода

...
Reading
13 videos (Total 126 min), 6 readings, 9 quizzes
Video13 videos
Второе правило оптимизации кода11m
Разработка своего профайлера12m
Совершенствование своего профайлера8m
Буферизация в выходных потоках7m
Производительность потоков вывода3m
Когда стоит использовать endl, а когда — \n7m
Связанность потоков10m
Итоги раздела - Эффективное использование потоков ввода-вывода5m
Введение в сложность алгоритмов10m
Оценка сложности15m
Практические применения17m
Амортизированная сложность9m
Reading6 readings
profile.h10m
Решение задачи «Сортировка студентов»10m
Решение задачи «Изучение нового языка»10m
Решение задачи «Экспрессы»10m
Решение задачи «Электронная книга»10m
Решение задачи «Система бронирования отелей»10m
Quiz4 practice exercises
Сложность алгоритмовm
Сложность решений задачи «Экспрессы»4m
Сложность решений задачи «Электронная книга»m
Сложность решения задачи «Система бронирования отелей»m

3

Section
Clock
7 hours to complete

Модель памяти в C++

...
Reading
11 videos (Total 94 min), 4 readings, 4 quizzes
Video11 videos
Введение в модель памяти: куча7m
Оператор new11m
Оператор delete11m
new и delete для объектов классовых типов3m
Операторы new[] и delete[]9m
Введение в арифметику указателей18m
Добавляем в вектор begin и end5m
Добавляем в вектор begin и end 29m
Константный указатель и указатель на константу4m
Итоги раздела - Модель памяти5m
Reading4 readings
Решение задачи «Пул объектов»10m
Решение задачи «Swap, SortPointers, ReversedCopy»10m
Решение задачи «Пишем свой вектор»10m
Решение задачи «Односвязный список»10m

4

Section
Clock
15 hours to complete

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

...
Reading
12 videos (Total 98 min), 7 readings, 9 quizzes
Video12 videos
Инвалидация ссылок8m
Эффективное использование дека11m
Инвалидация итераторов6m
Контейнер list6m
Преимущества списка9m
Неинвалидация итераторов списка5m
Контейнер array12m
Внутреннее устройство массива4m
Класс string_view8m
Удобное использование string_view5m
Безопасное использование string_view5m
Reading7 readings
Класс StringSet10m
Решение задачи «Спортсмены»10m
Решение задачи «StackVector»10m
Решение задачи Translator15m
Решение задачи AirportCounter10m
Решение задачи «Текстовый редактор»10m
Решение задачи «Статистика web-сервера»10m
Quiz3 practice exercises
Вектор и дек6m
Списки12m
Массивы и string_view8m
4.8

Top Reviews

By AZJul 31st 2018

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

Instructors

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

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

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.