Если оплатите расширенный курс «Разработчик C++» с 1 по 31 марта, получите ещё и курс по углублённому SQL

И сможете ещё лучше изучить важный аспект бэкенда на С++ — работу с базами данных

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

Подробнее об акции

Плюсы профессии. И один минус

На C++ можно разработать что угодно
От микрокода для дефибриллятора до больших операционных систем. На этом языке написаны приложения и программы, которыми каждый пользовался хотя бы раз в жизни.
После C++ легче выучить любой другой язык
Он позволяет познакомиться с низкоуровневыми концепциями и помогает понять, как думают компьютеры. Поэтому освоить любой язык программирования после C++ будет гораздо легче.
Подходит для работы на удалёнке
40% выпускников Практикума работают удалённо — вы тоже сможете выбирать формат трудоустройства, когда начнёте искать работу.
C++ — довольно сложный для изучения
Чем больше возможностей у инструмента, тем легче ошибиться и тем больше нужно знать. Поэтому начать программировать на C++ может быть сложнее, чем на другом языке, но мы поможем во всём разобраться.

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

Должность

Разработчик C++, Инженер-программист C++

Инструменты и навыки, которые вы освоите

Мы регулярно обновляем нашу программу вместе с действующими разработчиками и руководителями из индустрии — так вы учитесь только тому, что актуально

Git
STL
Алгоритмы
Дебагинг
Юнит-тестирование
ООП
UML-диаграммы
RAII
CMake
VS Code
Библиотеки
Move-семантика
Архитектура
Паттерны

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

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

Источник данных: Хабр Карьера
53 000 ₽
Junior
120 000 ₽
Middle
280 000 ₽
Senior

Мы учим в условиях, близких к реальным

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

YandexGPT помогает учиться

Когда в теории что-то непонятно, нейросеть объяснит это другими словами. А в конце каждого урока подготовит краткий пересказ о самом главном.

Программа курса «Разработчик C++»

Вы можете выбрать между базовой и расширенной программой: освоить только самое необходимое junior разработчику или получить больше навыков, расширить резюме и быстрее вырасти до уровня middle. Мы регулярно обновляем материалы — вы учите только то, что точно пригодится на практике.
Бесплатный опциональный модуль10 часов
Базовые понятия программирования
Вы узнаете об основах программирования и научитесь писать простые программы на C++
  • Знакомство с С++
  • Переменные и ввод
  • Условные конструкции, цикл for
  • Функции
Этот модуль необязательный для прохождения, но он поможет вам познакомиться с нашим форматом обучения
1 модуль20 часов
Введение в C++
Вы познакомитесь с основными возможностями языка С++ и напишете на нём более 25 программ.

Спринт 0. Основы C++.

• Числа и строки. Операции над ними. Ввод и вывод
• Условие и циклы
• V — значит вектор
• Функции
• Контейнер set
• Глубокое копирование, ссылки и константность
• Контейнер map
• Git
Проект «Поисковый сервер»
Создадите основу для собственной поисковой системы.
2 модуль120 часов
Базовые понятия языка С++ и его стандартной библиотеки
Вы освоите понятия, важные для полноценной разработки на С++:

• итераторы — чтобы работать со всеми стандартными алгоритмами,
• конструкторы — чтобы создавать объекты стало проще,
• шаблоны функций — чтобы писать универсальный код.

А еще научитесь обращаться со сложными программами: разбивать код на несколько файлов и тестировать его.

Спринт 1. Изучаем базовые алгоритмы, структуры и классы данных. Погружаемся в детали и избегаем дублирования кода.

• Простые алгоритмы
• Структуры и классы
• Лямбда-функции

Спринт 2. Подробнее знакомимся с целочисленными типами С++, а также с кортежами и шаблонами функций. Узнаем, насколько самоотверженно C++ экономит ресурсы, и учимся избегать связанных с этим ошибок.

• Работа со средой Visual Studio Code
• Числовые типы
• Пары и кортежи
• Шаблоны функций
• Видимость и инициализация переменных

Спринт 3. Тестируем код и осваиваем мощь и гибкость классов.

• Введение в тестирование
• Инструменты тестирования и отладки
• Жизненный цикл объекта
• Перегрузка операторов
• Обработка ошибок. Исключения

Спринт 4. Разбиваем код на несколько файлов и углубляем знания о стандартных алгоритмах.

• Итераторы
• Алгоритмы поиска
• Стек, очередь, дек
• Распределение кода по файлам
Проект «Поисковый сервер»
Сделаете код объектно-ориентированным, напишете фреймворк для юнит-тестов, разделите код на файлы.
3 модуль130 часов
Производительность и оптимизация
Вы научитесь оценивать эффективность высокопроизводительного приложения до и после его разработки. Изучите работу с файлами и регулярными выражениями. Познакомитесь с внутренним устройством контейнеров. Это позволит понять, как настраивать элементы языка на эффективную работу. Чтобы избегать лишних копирований в коде, освоите move-семантику.

Спринт 5. Работаем над скоростью кода и с файлами.
• Профилируем и ускоряем
• Потоковые хитрости
• Просто о сложности. Теория быстродействия
• Работа с файлами

Спринт 6. Учимся управлять памятью.

• Модель памяти в C++
• Односвязный список

Спринт 7. Постигаем внутреннее устройство контейнеров и осваиваем семантику перемещения.

• Эффективные линейные контейнеры
• Семантика перемещения
Проект «Свой препроцессор»
Вы самостоятельно реализуете часть C++, а именно препроцессор, который проходит исходный код до компилятора и обрабатывает директивы.
Проект «Односвязный список»
Вы создадите собственную версию односвязного списка — контейнера, поддерживающего эффективное добавление и удаление элементов.
Проект «Простой вектор»
Вы напишете собственную версию вектора — контейнера, который обеспечивает эффективный доступ к элементам.
4 модуль120 часов
Качество кода
Вы изучите инструменты, которые делают код опрятным и защищают его от человеческих ошибок: пространство имён, константность, RAII. Узнаете, как избавить программу от проблем роста. Освоите динамический полиморфизм.

Спринт 8. Изучаем ассоциацивные контейнеры и пространства имён.

• Ассоциативные контейнеры
• Имена и пространства имён

Спринт 9. Упрощаем код благодаря умным указателям и разбираемся в концепции Undefined Behavior.

• Умные указатели
• Undefined Behavior

Спринт 10. Продолжаем упрощать код с помощью наследования и полиморфизма.

• Наследование и полиморфизм

Спринт 11. Осваиваем практики проектирования программ.

• Константность как элемент проектирования программ
• Идиома RAII

Спринт 12. Достигаем элегантности кода.

• Философия хороших функций
• Передаём данные в функцию
• Получаем данные из функции
• Рефакторинг
Проект «Транспортный справочник»
Напишете программу, позволяющую строить автобусные маршруты в городе.
5 модуль140 часов
Проектирование сложных программ
Вы напишете полноценный вектор, познакомитесь с variadic templates и гарантиями безопасности исключений.

Спринт 13. Пробуем себя в роли разработчиков библиотек и рассматриваем размещение объектов в памяти.

• Vector своими руками
• Хранение объектов в памяти

Спринт 14. Смотрим изнутри, как работает полиморфизм, изучаем популярную систему сборки CMake, учимся пользоваться сторонними библиотеками и пишем свои.

• Таблица виртуальных методов
• Собираем по-новому. CMake
Проект «Контейнер vector»
Разработаете вектор, который автоматически увеличивает свой размер, эффективно работает с памятью и не копирует объекты зря.
Проект «Транспортный справочник»
Разделите транспортный справочник на две программы: одна строит базы данных, другая обрабатывает запросы.
6 модуль40 часов
Проект «Электронная таблица»
Вы закрепите навыки написания понятного и масштабируемого кода: разработаете крупную программу, которую сможете развивать в будущем.

Спринт 15. Дипломный проект
  • Дипломный проект «Электронная таблица»
Дипломный проект «Электронная таблица»
Сначала вы защитите дизайн-проект таблицы с ячейками и формулами, затем напишете код.
7 модуль148 часов (только в расширенном курсе)
С++ для бэкенда
После основной программы вы можете освоить дополнительную специализацию, чтобы использовать C++ для разработки на бэкенде.
За 3 месяца вы:
• Разработаете программное обеспечение под Linux.
• Получите навык нагрузочного тестирования.
• Научитесь работать с Docker и СУБД PostgreSQL.
• Расширите свои знания о библиотеках разработки на С++ и используете в проекте boost::asio и boost::beast.
Проект «Игра в курьера»
Напишете код для бэкенда небольшой игры. В ней игроки-курьеры соревнуются, кто оптимальнее пройдёт по лабиринту улиц и доставит максимальное количество заказов.

Более 10 000 выпускников уже нашли новую работу

Это подтверждено исследованием, которое мы провели вместе с Высшей школой экономики

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

Истории выпускников Практикума, которые уже занимаются любимым делом
4,7
TutorTop
4,5
IRecommend
4,3
Отзовик

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

Подойдёт ли мне эта профессия?
Для тех, кто ещё нетвёрдо уверен в своём намерении, мы спроектировали бесплатную часть, которая поможет получить ответ на этот вопрос. Если вы убедитесь, что разработка не для вас, это тоже положительный результат.
Подробнее о профессии разработчика C++ вы можете узнать из нашей статьи.
Можно ли обучиться профессии за 9 месяцев?
Думаем, что да, если вы будете уделять занятиям не менее 15 часов в неделю, выполнять домашние задания и общаться с наставником. Тогда за 9 месяцев месяцев вы сможете освоить навыки разработки на C++, соберёте портфолио проектов и начнёте свой путь в профессию.
Кто будет меня учить?
Программа составлена опытными преподавателями, методологами и действующими специалистами не только Яндекса и Школы анализа данных, но и других лидеров технологической и образовательной индустрии.
Как и когда я буду учиться?
Обучение строится из трёх составляющих: теория с закреплением в тренажёре, домашнее задание для самостоятельной практики и работа с наставником над кодом. В тренажёре вы учитесь в любое удобное время, а выполнение домашнего задания привязано к двухнедельному циклу.
Что делать, если я не справлюсь с нагрузкой?
В программе предусмотрены каникулы, во время которых можно отдохнуть или повторить сложные темы.

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

Ежемесячные платежи работают так: вы вносите первую оплату, и в этот момент привязывается карта. С этой карты автоматически будут списываться следующие платежи каждые 30 календарных дней. Например, оплатили 25 марта — следующий платёж пройдёт 24 апреля. Обучение будет стоить меньше, если оплатить весь курс сразу.

Через компанию: юридические лица — резиденты РФ также могут оплатить обучение в Практикуме. Оставить заявку на оплату от юрлица можно на странице для корпоративных клиентов.
Можно ли оплатить курс за счёт работодателя?
Да, работодатель может оплатить учёбу полностью или разделить оплату с вами: например, поделить сумму 50/50 или 75/25.

Такая оплата пройдёт по счёту или двустороннему договору, а ИП могут оплатить с бизнес-счёта. Если работодатель купит обучение сразу 10 и больше сотрудникам, сделаем скидку 10%.

Чтобы получить счёт на оплату через компанию, оставьте заявку или напишите нам в чат поддержки.
Смогу ли я найти работу после обучения?
Сможете, но просто не будет. Рынок требует, чтобы вы умели делать что-то на практике, а не просто обладали набором знаний — мы научим вас применять эти знания, и вы сможете собрать портфолио из реальных проектов. Ещё в процессе обучения вы напишете резюме и мотивационное письмо, пройдёте несколько интервью, поучитесь неформальному поиску работы и нетворкингу. В конечном итоге шансов устроиться на работу в хорошую компанию будет настолько больше, насколько больше тех самых реальных проектов в вашем портфолио.
Получу ли я какой-то документ после курса?
Если у вас есть среднее профессиональное или высшее образование, после курса вы получите диплом о профессиональной переподготовке.

Если нет, выдадим сертификат о прохождении курса и справку об обучении в электронном виде.
Подходит ли программа новичкам?
Мы ожидаем, что вы уже знакомы с разработкой: писали на другом языке или у вас было программирование в вузе. Если у вас совсем нет опыта, но очень хочется — попробуйте пройти бесплатную часть.
Вы помогаете с трудоустройством?
Да. Студенты могут по желанию пройти месячный курс о трудоустройстве. На нём команда Практикума помогает будущим выпускникам оформить портфолио, проводит тренировочные собеседования и затем разбирает их, а ещё учит писать сопроводительные письма. Мы сотрудничаем с несколькими компаниями и регулярно предлагаем студентам партнёрские вакансии. Но важно помнить, что мы помогаем, а не ищем работу за вас.
Что такое налоговый вычет на обучение и как его получить?
Налоговый вычет может оформить тот, кто работает по трудовому договору и является налоговым резидентом Российской Федерации, то есть 183 дня в году находится на территории страны.

Для этого нужно подать заявление на налоговый вычет через личный кабинет на сайте nalog.ru (в него можно войти через аккаунт на Госуслугах).

К заявлению нужно приложить:
•‎ Справку 2-НДФЛ от работодателя.
•‎ Договор на обучение, в вашем случае это оферта Практикума.
•‎ Лицензию на образовательную деятельность. Вот наша.
•‎ Чек об оплате обучения. Мы отправляем его на электронную почту. Если не найдёте чек у себя в почте, напишите в чат службы поддержки — вышлем копию.
•‎ Справку о получении образовательных услуг — её тоже нужно запросить в чате поддержки.

Подробнее о налоговом вычете — на сайте Федеральной налоговой службы.

Давайте поможем

Напишите, как вас зовут и по какому номеру можно связываться — позвоним и расскажем всё про курсы