Погрузитесь в современный С++: диапазоны, концепты, execution, корутины
Освоите инструменты многопоточности и асинхронности, а также парадигму структурированного параллелизма
Выполните 9 практических работ, а опытный разработчик проведёт ревью вашего кода
Попрактикуетесь в возможностях последних стандартов С++: 20, 23 и 26
Научитесь яснее выражать намерения в коде, чтобы легче поддерживать его
Получите удостоверение о повышении квалификации
С 1 июля часть курсов подорожает, а пока можно купить их по прежней цене
А ещё при покупке в июне получите 5 книг от МИФ и 5 курсов — по принципам SOLID, философии DevOps, жизненному циклу ПО, сложным переговорам и коммуникациям в IT-команде
Курс будет полезен разработчикам С++, которые хотят углубить свои знания и расти в должности
Junior разработчикам с уверенными базовыми навыками в C++
Углубите знания, освоите идиомы, лучшие практики языка, современные стандарты и асинхронность, научитесь работать с потоками и использовать инструменты для оптимизации памяти, поиска ошибок и выявления неопределённого поведения
Middle разработчикам С++
Расширите знания о современных стандартах языка, выясните, как эффективно работать с диапазонами, чтобы моделировать коллекции данных, научитесь применять идиомы и конструкции структурированного параллелизма
Для тех, кто хочет освоить C++ с нуля, есть отдельный курс
Вы разберётесь в стандартной библиотеке С++ и начнёте работать с Git, IDE и компиляторами, а также разработаете несколько онлайн‑сервисов
Знаете основные конструкции языка, такие как специализация шаблона, перегрузка функции и другие
Используете стандартную библиотеку С++: контейнеры и алгоритмы
Знакомы с базовыми структурами данных и алгоритмами
Понимаете принципы многопоточности и асинхронности
Разбираетесь в практиках блочного тестирования, инструментах gmock/gtest и Boost.Test
Чему научитесь
Применять лучшие практики и идиомы языка, а также яснее выражать намерения в коде
Использовать диапазоны, чтобы эффективно работать с коллекциями данных в С++
Разбираться в библиотечных и языковых возможностях последних стандартов: 20, 23 и 26
Пользоваться инструментами асинхронности: сопрограммами и структурированным параллелизмом
Работать с продвинутыми API многопоточности в С++
Писать надёжный и безопасный код на C++ без уязвимостей
Усилите свои хардскилы с помощью ИИ
В модуле по нейросетям вы научитесь:
Писать точные промпты и получать предсказуемые результаты
Использовать подходы zero‑shot и few‑shot
Выбирать AI‑инструменты для разных сценариев
Планировать проекты и декомпозировать задачи с помощью ИИ
Понимать ограничения моделей и риски при работе с нейросетями
Проверять ответы ИИ и уменьшать число галлюцинаций
А ещё в это направление можно углубиться в онлайн‑магистратуре
Диплом ИТМО, учёба с использованием платформы Практикума — можно совмещать с работой. Добавите в портфолио 10+ кейсов и получите все плюсы очного обучения: льготы и отсрочку от армии.
В бесплатной части познакомитесь с платформой и проверите свои знания
Знакомство с курсом
Платформа
Время на прохождение курса
Тестирование
Как устроен курс
Поймёте, как его проходить и сколько это занимает времени, узнаете, кто будет вам помогать осваивать материал
Входной тест
Ответите на несколько вопросов и решите, подходит ли вам эта программа
Пройдёте входной тест и поймёте, подходит ли вам курс
1
1 практическая работа・2 недели
Управление памятью и ресурсами
RAII
Scopegard
Семантика перемещения
Умные указатели
STL
boost::intrusive_ptr
std::out_ptr
std::inout_ptr
Основы управления ресурсами
Рассмотрите ручное управление памятью и проблемы использования new/delete. Познакомитесь с семантикой перемещения, обменом состояниями и идиомами RAII, ScopeGuard.
Разделяемое владение
Разберёте совместное владение ресурсом, опасности и ограничения использования std::shared_ptr. Изучите семантику перемещения в стандартной библиотеке, а также взаимодействие с API-библиотекой.
Разработаете и протестируете библиотеку на основе OpenSSL, а также приложение, которое выполняет основные криптографические операции
2
1 практическая работа · 1 воркшоп・2 недели
Шаблоны
Лямбды и мультилямбды
CRTP
Концепты
deducing this
SFINAE
constexpr
consteval
Вариативный шаблон
Свёрточные выражения
Пакет параметров шаблона
Шаблоны
Изучите шаблоны класса и функции, научитесь формулировать требования к типам с помощью концептов
Программы времени компиляции
Познакомитесь с написанием программ времени компиляции и изучите ключевые слова constexpr и consteval
Воркшоп
Познакомитесь с техникой внедрения зависимостей и научитесь их внедрять классическим способом при помощи вариабельного шаблона переменной
Реализуете типобезопасные функции разбора отформатированной строки. Выберете, как реализовать функции времени компиляции или времени выполнения
3
1 практическая работа・2 недели
Алгоритмы + структуры данных = программы
Итераторы
Лямбды
Последовательные контейнеры
Ассоциативные контейнеры
Алгоритмы стандартной библиотеки
STL
algorithm
numeric
vector
deque
span
flat_map
Алгоритмы стандартной библиотеки
Познакомитесь с алгоритмами стандартной библиотеки, изучите случаи и практики их применения
Структуры данных стандартной библиотеки
Изучите последовательные и ассоциативные контейнеры, представленные в стандартной библиотеке
Реализуете программу, чтобы управлять библиотекой. Используете возможности эффективного хранения данных и гетерогенного поиска. Создадите несколько алгоритмов для работы с библиотекой
4
1 практическая работа · 1 воркшоп・2 недели
Диапазоны
ranges
views
Отображения
Проекции
Адаптеры
Комбинирование отображений
Диапазонные формы алгоритмов
Диапазоны
Познакомитесь с диапазонами, отображениями и алгоритмами над ними, изучите возможности диапазонов, сможете записывать алгоритмы в виде комбинации отображений
Воркшоп
Реализуете собственный доменный адаптер, разберёте опасности применения диапазонов и увидите, каким выразительным становится код с их помощью
Реализуете геометрический алгоритм с помощью комбинирования отображений, использования диапазонов и проекций
5
1 практическая работа・2 недели
Словарные типы
optional
Монадические операции optional
variant
visit
any
expected
STL
Словарные типы: optional, variant, any
Изучите словарные типы как дополнительные инструменты моделирования, поймёте области применимости и познакомитесь с другими способами обработки ошибок
Словарные типы: expected
Познакомитесь со способом обработки ошибок без использования исключений
Реализуете библиотеку для работы с двумерной геометрией. Смоделируете разные типы кривых при помощи variant, будете использовать optional в алгоритмах, а expected для обработки ошибок
1 неделя
Каникулы
Неделя перерыва, чтобы отвлечься от учёбы или доделать практические задания
6
1 практическая работа · 1 воркшоп・3 недели
Многопоточность и параллелизм
Политика выполнения
jthread
stop_token
mutex
latch
barrier
counting_semaphore
STL
Примитивы синхронизации
Познакомитесь с библиотекой синхронизационных примитивов и изучите случаи использования
Параллелизм
Освоите стандартные политики выполнения алгоритмов
Воркшоп
Познакомитесь с полным диапазоном примитивов синхронизации C++: от базового мьютекса до современных latch, barrier и countint semaphore для защиты доступа к общему ресурсу
Разработаете классы для реализации очереди. Настроите системы передачи сообщений между потоками
7
1 практическая работа・2 недели
Асинхронность, сопрограммы
async
promise
future
Корутины
co_await
co_return
generator
Асинхронность
Познакомитесь с инструментами асинхронного выполнения и изучите std::async, std::future, std::promise
Сопрограммы
Освоите сопрограммы как инструмент написания асинхронного кода
Реализуете библиотеку, чтобы загружать файлы по сети в 2 режимах: последовательном и параллельном. Для этого используете сопрограммы и другие инструменты асинхронного программирования
8
1 практическая работа・1 неделя
Сборка программ, инструменты поиска ошибок
Компиляция
Компоновка
Архивация
Порядок построения программы
Санитайзеры
ThreadSanitizer
MemorySanitizer
Поиск утечек памяти
make
Сборка программ на С++
Познакомитесь со всеми этапами построения программы: от файла с исходным кодом до исполняемого
Инструменты
Узнаете, какие инструменты можно использовать для помощи в анализе ошибок, познакомитесь с инструментами статического и динамического анализа
Найдёте ошибки в предложенных программах с помощью санитайзеров. Реализуете пользовательский плагин, чтобы автоматизировать специальный рефакторинг предложенного кода
9
Только в расширенном тарифе · 1 практическая работа · 1 воркшоп・3 недели
Структурированный параллелизм
structured concurrency
senders
receivers
cancellation
operation state
scheduler
Потребитель сендера
Адаптер сендера
Фабрики сендеров
Структурированный параллелизм
Познакомитесь с предлагаемым в C++26 способом создавать многопоточные и асинхронные программы, изучите понятия structured concurrency в C++ на примере библиотеки libunifex.
Воркшоп
Разберёте, как многопоточный код в традиционном стиле можно изменить с помощью выразительных абстракций библиотеки std::exectuion. Увидите на примерах, как структурированный параллелизм помогает переосмысливать асинхронные программы и управлять их ресурсами.
Разработаете программу обратной трассировки луча с помощью сендеров и ресиверов
Поймёте, почему нейросети ошибаются при генерации кода и как этого избежать. Научитесь проводить ревью ИИ‑решений: находить несуществующие функции и логические ошибки.
Выбор инструментов
Сравните облачные и локальные модели, IDE‑плагины и AI‑чаты. Научитесь подбирать ИИ‑инструменты под конкретные задачи, исходя из их стоимости и функциональности.
Основы промптинга
Разберёте структуру запроса: контекст, задачу, формат. Освоите zero‑shot, few‑shot, chain‑of‑thought, чтобы получать точные и предсказуемые ответы.
Планирование и декомпозиция
Узнаете, как разбивать объёмные задачи на подзадачи, а также планировать рабочие и личные проекты с помощью ИИ.
Освоите промпт‑инжиниринг, научитесь выбирать оптимальные ИИ‑решения и выявлять галлюцинации
С наставником
Воркшопы для разбора сложных тем, сессии Q&A
Получите удостоверение о повышении квалификации
Это официальный документ установленного образца, который принимают работодатели. Образовательная лицензия № Л035‑01298‑77/00185314 от 24 марта 2015 года.
Как устроена учёба
Никаких давно снятых видео и длинных лекций
Вы проходите теорию и закрепляете её на практике в интерактивном учебнике. Можно заниматься во сколько и где удобно, главное — укладываться в дедлайны по проектам.
По расписанию только воркшопы с наставниками, остальное — в своём темпе
Опытные разработчики разбирают сложные кейсы и отвечают на ваши вопросы на живых воркшопах. Если не успеваете, можно смотреть в записи.
Учёба в Практикуме похожа на реальную работу
Проектные работы курса отражают настоящие вызовы, с которыми сталкиваются мидл-специалисты в своей работе. Вы выполните 9 практических работ и доработаете их после обратной связи от практикующего эксперта курса.
Практикум ИИ помогает учиться
Когда в теории что‑то непонятно, нейросеть ответит на вопросы или объяснит материал другими словами. А в конце каждого урока подготовит краткий пересказ о самом главном.
2 формата обучения на выбор
С дедлайнами. Модули открываются по расписанию — их важно проходить за определённое время. Проекты тоже нужно сдавать точно в срок.
В своём темпе. Темы и задания открываются по мере прохождения. Можно завершить курс быстрее или продлить обучение на месяц.
Будете заниматься сами, но не в одиночестве — вас поддержит заботливая команда Практикума
Наши эксперты давно работают с С++
Они составили программу, опираясь на свой опыт, поэтому вы будете проходить только то, что на самом деле пригодится в работе.
Михаил Афанасьев
Автор курса. Руководитель группы в Яндекс Рекламе. Строит систему потоковой обработки данных рекламной сети. Более 10 лет разрабатывает высоконагруженные системы.
Денис Герасимов
Автор курса. Более 14 лет разрабатывает на C++ как контрактный разработчик, включая проекты из области вычислительной фотолитографии и электроимпедансной томографии.
Владимир Тройняков
Автор курса. Старший разработчик в Т-Банке в команде детектирования фрод-операций. Имеет многолетний опыт интеграции ML-решений в высоконагруженный С++ код.
Иван Лосев
Автор курса. Старший разработчик в Pixida GmbH с опытом 7+ лет в промышленной разработке в крупных многонациональных командах. Специализируется на разработке комплексных (E2E) решений для кодирования и декодирования видео с использованием аппаратно-ускоряемых кодеков AVC, HEVC и AV1.
Купить курс — дело серьёзное, поэтому помогаем сэкономить
Оплата курса целиком с выгодой до 20%
Когда решитесь на покупку, увидите итоговую стоимость — она зависит от способа оплаты: целиком или по частям.
Возврат денег
Если передумаете в первую неделю, нужно будет оплатить только время с начала вашего потока. Если позже — время с начала потока и организацию обучения. Подробнее — в 7 пункте оферты.
Знакомы с основными конструкциями языка: специализацией шаблона, перегрузкой функции и другими.
Знакомы с базовыми структурами данных и алгоритмами.
Понимаете принципы многопоточности и асинхронности.
Знакомы с практиками блочного тестирования (unit testing), инструментами gmock/gtest и Boost.Test.
Также важно, чтобы у вас была возможность уделять учёбе 10–15 часов в неделю на протяжении 4,5 месяца.
Кто будет меня учить?
Все наставники — практикующие специалисты: сотрудники Яндекса и других крупных компаний. Программу составляют опытные преподаватели и методисты, а ещё действующие специалисты Яндекса, Школы анализа данных и других лидеров технологической и образовательной индустрий.
Что делать, если я не справлюсь с нагрузкой?
В программе предусмотрены каникулы, во время которых можно отдохнуть или повторить сложные темы.
Если вам нужно больше времени на выполнение проекта, напишите куратору. Он подскажет, как согласовать новый дедлайн.
Обучение в своём темпе — это как?
Этот курс можно пройти в одном из двух форматов:
• С дедлайнами. Обучение идёт спринтами, модули открываются по расписанию, а задания нужно выполнять точно в срок.
• В своём темпе. Темы и задания открываются по мере их прохождения. Можно регулировать свою нагрузку и проходить курс быстрее или медленнее. Подробнее об обучении в своём темпе.
Обучение в своём темпе подойдёт тем, кому сложно подстроить свой график под расписание курса. Но важно помнить, что такой формат требует самоконтроля и высокой мотивации. С дедлайнами будет проще поддерживать темп занятий и пройти курс до конца.
Если не понравится, я могу вернуть деньги?
Если курс ещё не начался, вернём всю сумму. Если ваш поток уже стартовал, можно сделать частичный возврат — подробности в 7 пункте оферты.
Получу ли я какой-то документ после курса?
Да, для этого нужно закончить курс и успешно выполнить итоговый проект.
Тогда вы получите удостоверение о повышении квалификации, если у вас есть среднее профессиональное или высшее образование. Если нет, отправим вам сертификат о прохождении курса в электронном виде.
А если не получится пройти курс целиком и выполнить итоговый проект, по запросу выдадим вам электронную справку об обучении — с перечнем модулей, которые вы освоили.
Вы поможете сменить или найти работу?
На этом курсе не предусмотрена помощь с трудоустройством, поскольку он для действующих специалистов, у которых уже есть навыки поиска работы.
Но если у вас появится вопрос о карьерном развитии, обратитесь в нашу службу поддержки — постараемся ответить.
Как можно оплатить?
Банковской картой: внести всю сумму сразу или платить ежемесячно.
Ежемесячные платежи работают так: вы вносите первую оплату, и в этот момент привязывается карта. С этой карты автоматически будут списываться следующие платежи каждые 30 календарных дней. Например, оплатили 25 марта — следующий платёж пройдёт 24 апреля. Обучение будет стоить меньше, если оплатить весь курс сразу.
Через компанию, если она налоговый резидент РФ. Условия для юридических лиц и ИП отличаются — чтобы узнать подробнее, оставьте заявку или уточните у вашего менеджера.
Что такое налоговый вычет на обучение и как его получить?
Налоговый вычет может получить тот, кто работает по трудовому договору и является налоговым резидентом Российской Федерации, то есть 183 дня в году находится на территории страны.