Кто такой разработчик C++

Какой может быть ваша карьера

Должность

Навыки

Git
STL
Алгоритмы
Дебагинг
Юнит-тестирование
ООП
UML-диаграммы
Санитайзеры
Сериализация
CMake
ANTLR
Интерпретаторы
Protobuf

Средняя зарплата

Можете начинать с junior-позиции, а дальше только вперёд — будете шагать по карьерной лестнице и расти в цене

Источник данных: Хабр Карьера
52 000 ₽
Junior разработчик C++
116 000 ₽
Middle разработчик C++
190 000 ₽ +
Senior разработчик C++

Тысячи студентов смогли освоить новую профессию — и вы сможете

Истории выпускников Практикума, которые уже занимаются любимым делом

Как мы учим

Здесь трудно, но интересно. Учёба занимает 9 месяцев, в течение которых предусмотрены каникулы. Много теории, ещё больше практики, люди и методология — всё направлено на то, чтобы вы освоили профессию разработчика С++.

Поможем найти работу после учёбы — для этого у нас есть карьерный центр

И сделаем это в три этапа

Будете учить только то, что точно пригодится в работе

С++ — сложный язык для сложных систем: беспилотных автомобилей и робототехники, веб-браузеров, микроконтроллеров, серверов и видеоигр. Курс непростой, но освоить его могут даже новички, если уделять обучению достаточно времени и усилий.
Опциональный модуль10 часов
Базовые понятия программирования
Вы узнаете об основах программирования и научитесь писать простые программы на C++
  • Знакомство с С++
  • Переменные и ввод
  • Условные конструкции, цикл for
  • Функции
1 модуль (бесплатный)30 часов
Основы C++
Вы познакомитесь с основными возможностями языка С++ и напишете на нём более 25 программ
  • Числа и строки. Операции над ними. Ввод и вывод
  • Условия и циклы
  • V значит вектор
  • Функции
  • Контейнер set
  • Глубокое копирование, ссылки и константность
  • Контейнер map
Проект «Поисковый сервер»
Создадите основу для собственной поисковой системы.
2 модуль120 часов
Основные компоненты C++
Вы освоите понятия, важные для полноценной разработки на C++:
  • итераторы — чтобы работать со всеми стандартными алгоритмами,
  • конструкторы — чтобы создавать объекты стало проще,
  • шаблоны функций — чтобы писать универсальный код.
А ещё научитесь обращаться со сложными программами: разбивать код на несколько файлов и тестировать его.
Спринт 1. Изучаем Git, базовые алгоритмы, структуры и классы данных. Погружаемся в детали и избегаем дублирования кода.
  • Git
  • Простые алгоритмы
  • Структуры и классы
  • Лямбда-функции
  • Итоговый проект
  • Работа со средой Eclipse
  • Числовые типы
  • Пары и кортежи
  • Шаблоны функций
  • Видимость и инициализация переменных
  • Итоговый проект
Спринт 2. Тестируем код.
  • Введение в тестирование
  • Фреймворк для юнит-тестов
  • Компиляция и отладка в консоли
  • Итоговый проект
Спринт 3. Осваиваем мощь и гибкость классов.
  • Жизненный цикл объекта
  • Перегрузка операторов
  • Обработка ошибок. Исключения
  • Итоговый проект
Спринт 4. Разбиваем код на несколько файлов и углубляем знания о стандартных алгоритмах.
  • Итераторы
  • Алгоритмы поиска
  • Стек, очередь, дек
  • Распределение кода по файлам
  • Итоговый проект
Проект «Поисковый сервер»
Сделаете код объектно-ориентированным, напишете фреймворк для юнит-тестов, разделите код на файлы.
3 модуль120 часов
Эффективность кода
Вы научитесь оценивать эффективность высокопроизводительного приложения до и после его разработки. Познакомитесь с внутренним устройством контейнеров — это позволит понять, как настраивать элементы языка на эффективную работу. Чтобы избегать лишних копирований в коде, освоите move-семантику. А чтобы выжимать максимум из всех ядер процессора, начнёте писать многопоточные программы.
Спринт 5. Работаем над скоростью кода.
  • Профилируем и ускоряем
  • Потоковые хитрости
  • Просто о сложности. Теория быстродействия
  • Итоговый проект
Спринт 6. Учимся управлять памятью.
  • Модель памяти в C++
  • Односвязный список
  • Итоговый проект
Спринт 7. Постигаем внутреннее устройство контейнеров и осваиваем семантику перемещения.
  • Санитайзеры и другие инструменты поиска ошибок
  • Эффективные линейные контейнеры
  • Семантика перемещения
  • Итоговый проект
Спринт 8. Создаём многопоточные программы.
  • Параллельные алгоритмы
  • Асинхронные вычисления
  • Состояние гонки и защита от него
  • Итоговый проект
Проект «Поисковый сервер»
Научите свою поисковую систему обрабатывать дубликаты и ускорите поиск, запустив несколько потоков обработки.
Проект «Собственный контейнер вектор»
Напишете первую версию своего контейнера, который почти не уступает стандартному.
4 модуль120 часов
Элегантность и масштабируемость
Вы изучите инструменты, которые защищают код от человеческих ошибок и делают его опрятным: пространства имён, константность, RAII. Узнаете, как избавить программу от проблем роста. Освоите динамический полиморфизм.
Спринт 9. Изучаем ассоциативные контейнеры и пространства имён.
  • Ассоциативные контейнеры
  • Имена и пространства имён
  • Итоговый проект
Спринт 10. Упрощаем код благодаря наследованию, полиморфизму и умным указателям.
  • Умные указатели
  • Наследование и полиморфизм
  • Итоговый проект
Спринт 11. Осваиваем практики проектирования программ и работаем с файлами.
  • Константность как элемент проектирования программ
  • Работа с файлами
  • Идиома RAII
  • Итоговый проект
Спринт 12. Достигаем элегантности кода.
  • Философия хороших функций
  • Передаём данные в функцию
  • Получаем данные из функции
  • Рефакторинг
  • Итоговый проект
Проект «Транспортный справочник»
Напишете программу, позволяющую строить автобусные маршруты в городе.
5 модуль120 часов
Разработка библиотек и больших проектов
Вы изучите основы сериализации объектов и библиотеку protobuf. Они помогут вашим программам обмениваться данными, а плотная упаковка сэкономит память. Разберётесь в концепции undefined behaviour. Напишете полноценный вектор, познакомитесь с variadic templates и гарантиями безопасности исключений.
Спринт 13. Пробуем себя в роли разработчиков библиотек.
  • Undefined Behavior
  • Vector своими руками
  • Итоговый проект
Спринт 14. Рассматриваем размещение объектов в памяти.
  • Хранение объектов в памяти
  • Таблица виртуальных методов
  • Собираем по-новому. CMake
  • Сериализация и protobuf
  • Итоговый проект
Проект «Контейнер vector»
Разработаете вектор, который автоматически увеличивает свой размер, эффективно работает с памятью и не копирует объекты зря.
Проект «Транспортный справочник»
Разделите транспортный справочник на две программы: одна строит базы данных, другая обрабатывает запросы.
6 модуль40 часов
Дипломный проект
Вы закрепите навыки написания понятного и масштабируемого кода: разработаете крупную программу, которую сможете развивать в будущем.
Спринт 15.
  • Разработка интерпретатора языка Mython
  • Итоговый проект
Спринт 16.
  • Дипломный проект «Электронная таблица»
Проект «Интерпретатор»
Напишете интерпретатор для Python-подобного языка Mython.
Дипломный проект «Электронная таблица»
Сначала вы защитите дизайн-проект таблицы с ячейками и формулами, затем напишете код.
Опциональный модуль
Специализация C++: бэкенд
На дополнительном платном курсе «Специализация C++ для бэкенда» вы научитесь разрабатывать программное обеспечение под Linux, запускать свои проекты в Docker и мониторить системные ресурсы. Также вы сможете написать проект бэкенда для небольшой игры, где игроки-курьеры соревнуются, кто быстрее пройдёт по лабиринту улиц и доставит максимальное количество заказов.
Вы разберётесь в том, что такое сетевые протоколы и как правильно выбрать подходящий. Расширите свои знания о библиотеках для разработки на C++, использовав в проекте boost::asio и boost::beast, и освоите принципы работы с базой данных Postgress.

Начать можно бесплатно

Мы открыли вводную часть, чтобы вы попробовали поучиться и убедились, что формат вам подходит

Этот курс может оплатить ваш работодатель

Если С++ необходим вам на текущем месте работы, поговорите с руководителем о частичной или полной оплате курса

Что ещё важно

Академический отпуск
Если жизненные обстоятельства осложнились или темп учёбы нужно снизить, вы можете уйти в академический отпуск
В любой момент вернём деньги
Вы можете вернуть деньги за оставшуюся часть программы: для этого не нужно ничего доказывать и называть причину

Отвечаем на вопросы

Короткий ответ — да, причём в любой момент. Правда, если вы уже прошли какую-то часть курса, её придётся оплатить, но остальное вернём. Более подробно рассказываем про это в седьмом пункте оферты.
Банковской картой: отдать всю сумму сразу, или платить помесячно. Второй вариант работает так — сразу оплачиваете первый платёж, в этот же момент привязывается карта, с которой автоматически спишутся следующие платежи каждые 30 дней. Оплатили 25 марта, следующий платёж 24 апреля. Обучение будет стоить меньше, если оплатить всю сумму сразу.

Через компанию: юридические лица-резиденты РФ могут производить оплату с помощью перевода с корпоративной банковской карты или с расчетного счета. Почитать подробности и оформить заявку можно на странице Корпоративным клиентам.