Курс подойдёт опытным разработчикам, которые хотели бы выйти на новый уровень в программировании. Вы рассмотрите системы сборки и познакомитесь с особенностями современных паттернов в C++. Программа также включает в себя изучение основ machine learning, принципов написания асинхронного и многопоточного кода и организацию объектно-реляционного преобразования для хранения большого объёма данных. В конце обучения вы выполните итоговый проект на выбранную тему, например, реализуете in-memory sql-сервер, хранилище типа key-value или очередь с моделью подписчиков.
Показываем, как будет расти ваш заработок вместе с опытом. И сколько времени потребуется, чтобы окупить вложения в образование
C++/C#-разработчик в academy.cppstudio.com
Data scientist
Программист
Senior Developer С++
Эксперт
Разработчик C++
C++-разработчик в Intel
C++/Qt-разработчик
Backend-developer
Разработчик ПО
Backend-разработчик; Программист C/C++
Онлайн-курс познакомит вас с особенностями разработки программного обеспечения на С++, после чего вы закрепите полученные знания на практике и разработаете итоговый проект.
Познакомитесь с принципами 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 и процессом кластеризации.
Сможете проводить тематическое моделирование и прогнозировать данные на базе решений линейной регрессии.
Подберёте тему итогового проекта, опишете требования к реализации, архитектурные решения и начнёте программировать.
Получите возможность задать вопросы и проконсультироваться по темам, вызывающим затруднения.
Презентуете готовый проект комиссии и продемонстрируете возможности разработанного решения.
Узнаете о том, как построено дальнейшее взаимодействие с преподавателями, а также обсудите карьерные перспективы для выпускников курса.
Просмотр обучающих видеороликов
Делаете все тогда, когда вам это удобно и в подходящем вам темпе
Объяснение возникших вопросов, закрепление пройденного материала и исправление ошибок
Данный проект, показывающий ваши навыки, будет прекрасным дополнением к вашему портфолио
Научитесь выгодно презентовать свои сильные стороны, чтобы получать больше откликов компаний
Познакомитесь с площадками для поиска работы, узнаете, как успешно пройти стажировку, и получите доступ к бирже с вакансиями компаний-партнёров
Вам потребуется пройти вступительное тестирование на знание базового синтаксиса C++, основ computer science, SQL и многопоточного программирования.
Обучение организовано так, что вы можете спокойно совмещать его с работой, учебой и личной жизнью. Именно вы решаете, когда работать с материалами курса - вы занимаетесь тогда, когда удобно вам. Все уроки курса будут всегда в вашем доступе, даже после окончания курса, поэтому вы в любой момент сможете повторить пройденный материал.
Именно вы решаете, когда и сколько заниматься. Обычно студенты тратят на обучение от трех до пяти часов в неделю.
Да, вы всегда сможете задать вопрос преподавателю в личном кабинете. Также вы будете получать от него обратную связь после выполнения домашних заданий.
Да, вы можете купить курс в рассрочку, что позволит вам лучше спланировать свой бюджет.