Специальная цена
Рассрочка
C++ Developer. Professional
25 декабря
Professional
5 месяцев
Онлайн
Ср/Пт 20:00 Мск
Для кого этот курс?
- Для разработчиков C++ Junior или Middle, желающих улучшить свои навыки
- Разработчики Java/Python, стремящиеся расширить инструменты для более эффективной разработки программ
Необходимые знания:
- Синтаксис языка программирования стандарта C++03: переменные, функции, указатели, классы, структуры, union, переопределение операторов, наследование, исключения, понимание шаблонов в языке C++
- Основы computer science: простые алгоритмы и их оценки сложности, структуры данных и их применение, принципы работы с памятью - стек, heap
- Основы SQL – некоторые уроки посвящены изучению работы с базами данных
- Основы многопоточного программирования: понятие deadlock не должно ставить Вас в deadlock
Что вам даст этот курс?
Апгрейд навыков под потребности топовых IT-компаний и решение актуальных вызовов.
После обучения вы:
- Структурируете и расширите ваши знания о С++: Получите понимание современных проблем языка и специфики его применения; Освоите паттерны проектирования и принципы написания многопоточного кода; Узнаете, как взаимодействовать с сетью, хранить и обрабатывать большие объемы данных; Однозначно научитесь правильно писать код на С++.
- Изучите особенности применения новых стандартов С++ 20 и 23.
- Выполните 14 практических работ с поддержкой наших экспертов, каждая из которых даст сильную базу для использования С++ в различных областях. В том числе итоговую работу, которую можно будет включить в портфолио для работодателя.
Какие преимущества С++?
- Производительность, контроль за памятью и кроссплатформенность без лишних абстракций типа jvm.
- Расширение инструментария: С++ можно комбинировать с Java и Python при разработке одной программы.
- Используется в широком спектре отраслей.
Процесс обучения
Дополнительные навыки
Нюансы программирования на С++, которые отличают разработчика уровня Middle от Junior
Спектр возможностей для работы
От разработки игр до научных исследований и ПО для финансового сектора
Проект для портфолио
Серьезный проект в портфолио, с которым вам будет легко произвести впечатление на собеседованиях
Партнеры
Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности.
- Получите помощь с оформлением резюме, портфолио и сопроводительного письма
- Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
C++ Developer
Работодатели курса
Формат обучения
Интерактивные вебинары
2 занятия по 2 ак.часа в неделю
Доступ к записям и материалам остается навсегда
Обратная связь
Развернутый фидбэк по домашним заданиям от преподавателей
Активное комьюнити
Общайтесь с преподавателями голосом на вебинарах и в закрытой Telegram группе
Программа
Современный C++
CI/CD. C++11. C++14. C++17. Управление памятью. Шаблонная магия
Тема 1: Система сборки: build, test and deploy // ДЗ
Тема 2: Особенности C++11. auto, lambda, tuple // ДЗ
Тема 3: Особенности C++11. Move, variadic templates
Тема 4: Сравнение C++11/C++14 с С++ 03
Тема 5: Реализация умных указателей
Тема 6: Идея аллокаторов // ДЗ
Тема 7: Шаблонная магия // ДЗ
Тема 8: Обзор C++17. Constexpr lambda. Fold expression. Attributes. Type deduction
Тема 9: Обзор C++17. If constexpr. Structured bindings. Statements with initializer. std::filesystem
Тема 10: Обзор С++20. Ranges, модули, концепты, format
Тема 11: Обзор С++20/23. Корутины, expected, generator, stacktrace
Архитектура
Принципы проектирования ПО, GRASP, шаблоны GoF, STL, Boost
Тема 1: Принципы проектирования ПО // ДЗ
Тема 2: GRASP
Тема 3: Шаблоны GoF. Порождающие
Тема 4: Шаблоны GoF. Структурные // ДЗ
Тема 5: Шаблоны GoF. Поведенческие. Command, Interpreter, Iterator, Mediator, Memento, Chain of responsibilily
Тема 6: Шаблоны GoF. Поведенческие. Observer, State, Strategy, Template method, Visitor
Тема 7: STL. Контейнеры // ДЗ
Тема 8: STL. Алгоритмы
Тема 9: Бонус. Красно-чёрные деревья
Тема 10: Boost. Разное
Тема 11: Boost. Паттерны проектирования // ДЗ
Тема 12: Бонус. Хэш-функции и хэш-таблицы
Параллельные вычисления
Использование многопоточности, паттерны многопоточных приложений, асинхронный подход к решению задач, LockFree техника, особенности атомарных операций в C++.
Тема 1: Многопоточность
Тема 2: Шаблоны 5
Тема 3: Асинхронное программирование // ДЗ
Тема 4: Lockfree DS
Тема 5: Атомарные типы данных
Сеть
Основные принципы сетевого взаимодействия, использование библиотеки Boost.Asio
Тема 1: Выбор темы и организация проектной работы
Тема 2: Сетевое взаимодействие // ДЗ
Тема 3: Асинхронный ввод/вывод
Хранилища
Различные системы хранения данных - РСУБД и NoSQL системы, схема mapreduce для обработки большого количества данных, ORM системы для автоматизации.
Тема 1: РСУБД // ДЗ
Тема 2: Key Value
Тема 3: Много данных // ДЗ
Тема 4: ORM
ML
Задачи, которые решаются с помощью алгоритмов машинного обучения.
Тема 1: Инференс ML моделей в C++
Тема 2: Интеграция с ML библиотеками // ДЗ
Проектная работа
Заключительная часть курса о программировании на С++ посвящена проектной работе. Мало что доставляет столько же удовольствия, как самостоятельно реализованный проект на выбранную самостоятельно тему на основе знаний, полученных на курсе. В процессе написания (и даже в процессе выбора темы) можно получить консультации преподавателей. При удачном стечении обстоятельств (в основном, при наличии должного усердия со стороны студента) проект станет достойным примером кода, который можно будет показывать потенциальным работодателям в качестве портфолио. Таким образом обучение программированию завершится большой практической работой, и вы будете гордиться тем, что сделали своими руками.
Тема 1: Консультация по проектам и домашним заданиям
Тема 2: Защита проектных работ
Тема 3: Подведение итогов курса
Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит
Выпускной проект
Последний месяц обучения программированию посвящен выполнению выпускного проекта. Он поможет закрепить прикладным образом полученные на курсе знания и станет своеобразным портфолио. Вы можете выбрать свою тему или одну из предложенных преподавателем.
Пример выпускного проекта с видео-защитой можно посмотреть на нашем канале.
Преподаватели
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Ближайшие мероприятия
Открытый вебинар — это настоящее занятие в режиме онлайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Погрузитесь в мир WebAssembly и узнайте, как использовать мощь C++ для создания быстрых веб-приложений. На практическом вебинаре мы рассмотрим, как технология WebAssembly позволяет запускать C++ код в браузере почти с нативной производительностью, и создадим работающий веб-сервер, комбинируя эти технологии.
Вы узнаете:
Основы WebAssembly и его взаимодействие с JavaScript
Как компилировать C++ код в WebAssembly используя Emscripten
Техники оптимизации производительности WebAssembly модулей
Методы интеграции C++ кода с веб-интерфейсом
Особенности работы с памятью и управление ресурсами в WebAssembly
Кому будет полезно:
C++ разработчикам, желающим расширить свои возможности в веб-разработке
Веб-разработчикам, стремящимся к созданию высокопроизводительных приложений
Разработчикам, работающим над вычислительно-сложными веб-проектами
Специалистам, интересующимся кроссплатформенной разработкой
По итогам вебинара вы:
Создадите свой первый WebAssembly модуль на C++
Научитесь разрабатывать гибридные веб-приложения
Освоите основные инструменты экосистемы WebAssembly
Получите практические навыки отладки и оптимизации WASM-приложений
Сможете оценивать целесообразность применения WebAssembly в проектах
На этом практическом вебинаре вы познакомитесь с высокопроизводительным C++ фреймворком userver, который позволяет быстро создавать надёжные микросервисы и веб-серверы. Мы рассмотрим архитектуру фреймворка, его ключевые компоненты и вместе напишем работающий сервер с нуля.
Вы узнаете:
Архитектурные особенности и преимущества фреймворка userver
Как настроить окружение и создать базовый проект
Лучшие практики работы с асинхронностью в userver
Практические приемы конфигурирования и мониторинга сервисов
Способы интеграции с базами данных и другими сервисами
Кому полезно:
C++ разработчикам, желающим освоить современный инструмент для создания микросервисов
Backend-инженерам, интересующимся высокопроизводительными решениями
Team Lead'ам, оценивающим технологический стек для новых проектов
Специалистам, работающим над масштабируемыми системами
По итогам вебинара вы:
Получите практический опыт работы с userver
Сможете самостоятельно создавать базовые микросервисы
Поймёте, как применить фреймворк в своих проектах
Узнаете о типовых архитектурных решениях и их реализации
Прошедшие
мероприятия
Возможность пройти вступительное тестирование повторно появится только через 3 дня
Результаты тестирования будут отправлены вам на email, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Корпоративное обучение для ваших сотрудников
- Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
- Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
- OTUS проверяет знания студентов перед стартом обучения и после его завершения
- Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
- Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
- OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год
Отзывы
Сертификат о прохождении курса
OTUS осуществляет лицензированную образовательную деятельность. В конце обучения вы получите сертификат OTUS о прохождении курса
После обучения вы:
- заберете с собой материалы по всем занятиям
- научитесь прикладному применению стандартов C++, включая 20 и 23
- освоите асинхронное и многопоточное программирование
- получите глубокое представление о шаблонной магии и паттернах проектирования
C++ Developer. Professional
Стоимость в рассрочку со скидкой
Стоимость указана для оплаты физическими лицами
вычета до 13% стоимости обучения. Пройдите тестирование и менеджер вас проконсультирует
+7 499 938-92-02 бесплатно