Курс подойдёт опытным разработчикам, которые хотели бы выйти на новый уровень в программировании. Вы рассмотрите системы сборки и познакомитесь с особенностями современных паттернов в C++. Программа также включает в себя изучение основ machine learning, принципов написания асинхронного и многопоточного кода и организацию объектно-реляционного преобразования для хранения большого объёма данных. В конце обучения вы выполните итоговый проект на выбранную тему, например, реализуете in-memory sql-сервер, хранилище типа key-value или очередь с моделью подписчиков.

Русский
4,6

Чему вы научитесь

Программировать на С++
Взаимодействовать с сетью
Писать многопоточный и асинхронный код
Применять стандарты C++11 / C++14 / C++17;
Настраивать хранение и обработку больших объемов данных

Как быстро окупится обучение

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

На должности Junior C++-разработчик затраты на пройденный курс окупятся
3 Месяца
60 000 ₽ / Мес
C++-разработчик
60 000 ₽ — 600 000 ₽
60 000 ₽ / Мес
Junior
Опыт до 1 года
Middle
Опыт 1–3 года
Senior
Опыт от 3 лет

Преподаватели

Программа курса

Онлайн-курс познакомит вас с особенностями разработки программного обеспечения на С++, после чего вы закрепите полученные знания на практике и разработаете итоговый проект.

7
Модулей

Познакомитесь с принципами CI/CD, настроите стенд для выполнения ДЗ, а также рассмотрите возможности автоматизации сборки.

Изучите online-инструменты С++, поработаете со спецификаторами, замыканиями и кортежами, а также в качестве практики отфильтруете IP-адреса.

Узнаете, зачем использовать rvalue и lvalue ссылки, обсудите особенности простых структур данных в Си.

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

Поймёте, как управлять ресурсами, а также получите представление об области видимости и времени жизни shared_ptr и unique_ptr.

Оцените важность стратегий аллокации памяти и научитесь самстоятельно писать контейнер и реализовывать Std::allocator.

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

Узнаете, в каких случаях используются constexpr lambda и fold expression, а также изучите атрибуты и параметры автошаблонов 

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

Познакомитесь с нововведениями стандарта С++20 и поймёте, как применять их в реальной практике программирования.

Научитесь читать UML-диаграммы, а также узнаете, для чего нужно использовать такие принципы, как SoC, DRY, YAGNI, KISS, TDA, LoD, SOLID.

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

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

Разберёте структурные паттерны: адаптер, мост, компоновщик, декоратор, фасад, приспособленец и заместитель.

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

Примените на практике паттерны: наблюдатель, состояние, стратегия, шаблонный метод и посетитель.

Обработаете последовательность команд с помощью настройки поведения ассоциативных контейнеров.

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

Перечислите принципы размещения элементов в двоичном дереве, выполните балансировку и удаление компонентов.

Разберётесь в философии проекта, познакомитесь с документацией по нему, а также научитесь выбирать и применять библиотеки.

Реализуете паттерны проектирования фабрика, слот-сигнал и легковес, а также детально проработаете принципы использования библиотек Boost::fusion.

Научитесь создавать хэш-функции для разных объектов и добавлять данные в хэш-таблицы методом цепочек.

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

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

Изучите отличия асинхронности от многопоточности и параллельности, начнёте решать задачи по обработке команд с помощью освоенных паттернов.

Познакомитесь с подходом lock-free, поймёте, что такое атомарность и неблокирующие структуры данных.

Реализуете в коде атомарные операции при помощи (std::atomic), а также узнаете о принципах упорядочения памяти.

Освежите знания о TCP/IP, сокетах, сериализации и OSI/ISO, а также узнаете, для чего использовать сеть в приложениях на С++.

Подберёте подходящие библиотеки и инструменты для работы с сетью, рассмотрите практики работы с неблокирующей передачей данных.

Научитесь использовать хранилища данных, освежите знание языка SQL и реляционной алгебры, а также разберёте пример кода SQLite.

Познакомитесь с понятием NoSQL, научитесь решать проблемы доступности и масштабируемости для документоориентированных и графовых БД.

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

Научитесь применять объектно-реляционное преобразование в своих проектах, освоите паттерны DAO и Repository.

Научитесь решать задачи машинного обучения, познакомитесь с документацией Dlib и процессом кластеризации.

Сможете проводить тематическое моделирование и прогнозировать данные на базе решений линейной регрессии.

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

Получите возможность задать вопросы и проконсультироваться по темам, вызывающим затруднения.

Презентуете готовый проект комиссии и продемонстрируете возможности разработанного решения.

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

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

Изучение темы

Просмотр обучающих видеороликов

Выполнение практических заданий

Делаете все тогда, когда вам это удобно и в подходящем вам темпе

Работа с куратором

Объяснение возникших вопросов, закрепление пройденного материала и исправление ошибок

Создание итогового проекта

Данный проект, показывающий ваши навыки, будет прекрасным дополнением к вашему портфолио

Помощь с трудоустройством

Создадите портфолио

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

Подготовитесь к собеседованию

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

Научитесь работать на себя

Узнаете, где искать первых заказчиков, как выстраивать с ними коммуникацию и защитить свои права

Оформите резюме и сопроводительное письмо

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

Узнаете, как найти работу

Познакомитесь с площадками для поиска работы, узнаете, как успешно пройти стажировку, и получите доступ к бирже с вакансиями компаний-партнёров

Спецификация

Университет
Формат обучения
Длительность
5 Месяцев
Кому подойдёт
Направление
Инструменты
Уровень
Middle
Помощь в трудоустройстве
Да
Зарплаты Junior — Senior
60 000 ₽   —   600 000 ₽
Финальная цена
125 000 ₽

Часто задаваемые вопросы

Вам потребуется пройти вступительное тестирование на знание базового синтаксиса C++, основ computer science, SQL и многопоточного программирования.

Обучение организовано так, что вы можете спокойно совмещать его с работой, учебой и личной жизнью. Именно вы решаете, когда работать с материалами курса - вы занимаетесь тогда, когда удобно вам. Все уроки курса будут всегда в вашем доступе, даже после окончания курса, поэтому вы в любой момент сможете повторить пройденный материал.

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

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

Да, вы можете купить курс в рассрочку, что позволит вам лучше спланировать свой бюджет.

Другие популярные курсы

Профессия: Product Manager

ProductStar
Бизнес и управление
5
129 600 ₽
288 000 ₽

Директор по маркетингу

Skillbox
Маркетинг
4,1
97 750 ₽
195 500 ₽

Blender.Design — курс по 3D-моделированию

Skillbox
Дизайн
4,9
51 278 ₽
73 254 ₽

UX/UI-дизайнер Plus

Bang Bang Education
Дизайн
4,9
181 500 ₽
330 000 ₽
Otus
Программирование
5 Месяцев
C++ Developer: углубленный уровень разработки на C++
125 000 ₽
Наверх