Продвинутый курс по С++. Работаем со стандартом С++20 и не только

Разработчик++: курс С++20

Создадим собственный проект — многопоточный сетевой микросервис
Даем материал и практику, которые вы не найдете ни в каком другом курсе по С++ на русском языке
Идет набор
Длительность 2 месяца
90 ч. практики
30 ч. теории
Итоговый проект курса представляет собой вариацию тестовых заданий на должность Middle-разработчика С++

Проходить технические собеседования и решать стандартные задачи, которые задают специалистам при трудоустройстве

Работе со стандартом С++20: даем материал и подходы, которые не представлены на курсах в русскоязычном образовательном сегменте

Многопоточному и сетевому программированию, объектно-ориентированному программированию и метапрограммированию шаблонов

Работать с кодом: писать простой и понятный код, тестировать, оптимизировать, читать чужой код, проводить и проходить код-ревью

Выбирать инструменты под задачу: объясним, как устроены эти инструменты

Best practice: разберем, что точно работает, а от каких практик стоит отказаться

Научим решать задачи на современном C++

Разберём

Исключения
Сокеты
Лямбды
Инструменты мультиплексирования
Аллокаторы
Паттерны ООП
Контейнеры алгоритмы
Шаблоны и вариативные шаблоны
Умные указатели
Инструменты обобщенного программирования
Инструменты многопоточности
Инструменты и библиотеки для тестирования и отладки

Что необходимо уметь?

Владеть основной технической терминологией, иметь опыт программирования

Понимать синтаксис C++, его базовые понятия и принципы использования

Решать задачи на C++

Для тех, кто хочет разобраться в С++ и укрепить свои знания в разработке

Курс подойдет для специалистов, которые уже работают с C++, но хотели бы получить больше экспертной информации. Мы идем от простых тем к самым сложным и помогаем нашим студентам стать уверенными middle-специалистами по С++.

Для специалистов, работающих со стандартом С++20

Спикеры курса построили программу с учетом последнего стандарта. Если вы работали С++17, то на курсе вы сможете познакомиться с актуальными возможностями языка и применять их в текущих рабочих задачах.

Нигде в российском образовательном сегменте не представлено такое объемное погружение в работу со стандартом С++20.

Тем, кто переходит в C++ из других языков программирования

Вы сможете расширить свой стек и использовать C++ для решения рабочих задач.

Продукты, написанные на C++, окружают человека: на нем пишут серверные бэкенды, код под встроенные устройства, операционные системы, драйверы устройств, высокопроизводительные серверы, игры.

Для компаний, которые ведут разработку на С++

Эксперты Слёрм обучат ваших коллег best practice и будут сопровождать студентов на первых шагах в разработке. Вы сможете сформировать свой штат специалистов, работающих на С++.

Для кого наш курс

На курсе вы создадите несколько проектов на основе С++

Контейнер с нестандартным алгоритмом поиска/вставки

Аллокатор с управлением памятью и умный указатель со счетчиком ссылок к нему

Собственный пул потоков для выполнения отложенных задач

Итоговый проект представляет собой вариацию тестовых заданий на должность Middle-разработчика С++.

Вы создадите многопоточный сетевой микросервис, самостоятельно разработав и имплементировав его протокол, тесты к нему и правильно организовав репозиторий и механизм сборки.

Вы сможете разместить проект на GitHub лдл и демонстрировать вашу работу во время собеседований.

Работать со стандартом С++20: научимся работать с корутинами, концептами, ренджами

Имплементировать нетривиальные контейнеры и алгоритмы к ним

Выбирать контейнеры и инструменты стандартной библиотеки под задачу

Управлять памятью, использовать умные указатели и аллокаторы

Создавать многопоточные приложения, приложения с высокой производительностью

Разрабатывать сетевые приложения

Применять паттерны ООП при разработке и проектировании приложения, распознавать их в чужом коде

Разрабатывать и читать шаблонный код

Проектировать, отлаживать, профилировать и деплоить собственные приложения

По окончании курса вы сможете

Вся работа проверяется и валидируется специалистами Слёрм. По итогам дадим свидетельство о прохождении курса, а если выполните 80% заданий и защитите проект, то дополнительно получите номерной сертификат.

Сертификат

Сложность синтаксиса

C++ имеет сложный и многогранный синтаксис, особенно в сравнении с другими популярными языками программирования
Необходим технический бэкграунд и глубинное понимание технологии, чтобы не ошибиться с выбором
Неправильное управление памятью может привести к ошибкам и многим часам, которые придется потратить на отладку

С++ предоставляет множество инструментов для разработчика

C++ позволяет программисту управлять ресурсами памяти.

Отсутствие знаний о лучших практиках и современных функциях может ограничить возможности программиста

C++ активно развивается и обновляется

Почему выучить самому C++ — ещё та задачка?

Мы понимаем, почему разработчику может быть сложно начать осваивать С++ самостоятельно. И мы можем помочь вам пройти этот путь: экспертностью спикера, практикой и авторскими материалами, собранными в одном месте

Автор курса

Высоконагруженные системы
  • Опыт профессионального программирования на C++ — 11 лет

  • Ведущий разработчик С++

  • Всю жизнь занимается программированием
Дмитрий Сердюк
Распределенные системы
Децентрализованные сети
Криптография
Блокчейн
NVidia, GPU, стриминг
Обработка видео
Какие навыки и компетенции освоил Дмитрий за годы в профессии, какие инструменты и технологии ему подвластны:
Математические и статистические алгоритмы

А вот проекты из портфолио Дмитрия

Система для транскодинга и low-latency стримминга видео

— Использовала Nvidia GPU и CUDA;
— Написана на C++20 с активным использованием корутин;
— Опередила самый быстрый из доступных на рынке SaaS-продуктов на ~30%

Библиотека для вычисления вероятностей исходов спортивных событий

— Благодаря модификациям исходной статистической модели и использованию авторских алгоритмов приближенного вычисления применяемых в статистике математических функций (таких как функция Бесселя), получено ускорение в ~40 тысяч раз относительно исходного прототипа (без существенных потерь в точности)

Алгоритмы для децентрализованной распределенной сети, а именно

— Алгоритмы валидации вычислений с использованием эллиптической криптографии и методов zero-knowledge proof;
— BFT-алгоритмы консенсуса;
— Сетевой уровень (mesh-сеть с обходом NATа) и протоколы к нему.
120
часов
5
онлайн-встреч
1 установочная
9
3 AMA-сессии
1 финальная встреча
часов в неделю
2-3 часа изучение теории
2 недели на сдачу домашней работы
90 часов практики
30 часов теории
7 часов практики

Программа

Как будет проходить обучение?

На каждый тематический блок у вас будет практическое задание

Это будет тест либо задача, для которых будет настроена тестовая среда со всем необходимым окружением.

Все вопросы вы можете задать в чате студентов

Отвечать будут как кураторы потока, так и спикеры курса. Подробнее обо всех технических моментах вы сможете узнать на АМА-сессии: это онлайн-встреча с экспертом по С++

На каждое выполненное задание вам будет приходить ревью — подробная обратная связь ревьюера

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

Кросс-ревью между студентами

Вы будете проверять задания друг друга и давать по ним обратную связь: так и происходит в реальной разработке.
Рассрочка
только для физических лиц
Условия рассрочки:
Процесс оформления:

Начать учиться

Видеоуроки, доступ 2 года
Стенды для практики
Чат с наставником
АМА-сессии
Сертификация
22 500 ₽/мес
В рассрочку от 4 месяцев
90 000 ₽
Единовременно
90 000 ₽
90 000 ₽
Мы свяжемся с вами, ответим на все вопросы и отправим счёт
Мы пришлем вам ссылку для оплаты
Корпоративное обучение
Если ваша задача — обучить больше 30 сотрудников, мы готовы предложить вашей компании корпоративный формат обучения или адаптировать обучение под вас.

Пример корпоративного обучения по Kubernetes для сотрудников Тинькофф банка →