На этом курсе начинают с основ. Сначала выясняют, зачем нужны языки программирования высокого уровня и где именно C++ используют в разработке игр. Затем устанавливают среду разработки и запускают первую программу.
Далее изучают переменные и типы данных в C++. Ученики создают переменные различных типов, работают с константами, учатся вводить и выводить данные в консоль. Также разбирают преобразование типов и основные операторы - арифметические, операторы присваивания и сравнения.
Здесь учат создавать условные операторы, логические выражения и использовать тернарный оператор. Отдельный блок посвящен циклам - их типам, вложенным циклам и способам управления их выполнением. Также знакомятся с системой контроля версий Git и ее применением в геймдеве.
Студенты учатся создавать функции с параметрами, работают с глобальными переменными и перегрузкой функций. Разбирают работу с массивами - одно- и двумерными, их модификацию и обход. Важный блок про ссылки и указатели - как их передавать в функции и зачем это нужно.
Этот модуль посвящен алгоритмам работы с массивами - поиску и сортировке. Студенты изучают сложность алгоритмов, базовые методы сортировки и практически реализуют их на воркшопе.
Сначала разбирают динамическую память - выделение и очистку, различия между стеком и кучей. Затем переходят к структурам и основам ООП - созданию классов, модификаторов доступа, наследования и полиморфизма. Закрепляют материал на практике, строя мини-игру в консоли.
Здесь изучают функциональные объекты, лямбды и шаблонное метапрограммирование. Студенты учатся создавать шаблонные функции и классы, работать с библиотекой стандартных функций STL, включая различные структуры данных и алгоритмы.
Этот блок посвящен непосредственно разработке игр. Знакомятся с библиотекой SFML, основами линейной алгебры для геймдева, графами и их применением в играх. Изучают многопоточное программирование и паттерны проектирования, специфические для разработки игр.
Завершающая часть курса - создание собственной игры. Студенты работают с интерфейсом, реализуют смену состояний игры, используют современные инструменты разработки. Последний модуль посвящен презентации готового проекта.
Курс охватывает язык программирования C++ с акцентом на разработку игр. Студенты создают собственный проект для портфолио, получают практические навыки и сертификат о завершении. Ментор помогает на протяжении всего обучения.