
Освойте программирование
с нуля до профи:
C++ и Unreal Engine
Освойте программирование
с нуля до профи:
C++ и Unreal Engine
Откройте для себя мир программирования! Станьте специалистом по C++ или научитесь разрабатывать игры на Unreal Engine. Наши курсы подойдут как новичкам, так и тем, кто хочет прокачать свои навыки.
Учитесь у профессионалов, работайте над проектами и станьте востребованным разработчиком!
Ближайший старт — 01.03.2025
Всё для успешного старта

Интенсивное обучение за короткий срок
Интенсивное обучение за короткий срок

Практика с первых занятий
Практика с первых занятий

Поддержка опытного наставника
Поддержка опытного наставника
Спикер курса будет на связи ежедневно в Telegram-чате. Вы сможете задать все свои вопросы и получить помощь

Доступ к материалам
Доступ к материалам

Спикер
Александр Федосов — инженер-программист с более чем 10-летним опытом работы в игровой индустрии. Специализируется на разработке игр на Unreal Engine, используя C++ и Blueprints.
В 9 лет он начал работать с Macromedia Flash MX, затем Александр изучал ActionScript 2.0 и спустя годы перешел с Flash на Unity 3D.
«C++ — мой самый сильный язык программирования, но я твердо верю, что освоение основ разработки программного обеспечения делает адаптацию к новым языкам гладкой»
В 2017 Александр получил степень бакалавра в области компьютерных наук. Сейчас управляет собственной компанией SizeOf Games.
Его опыт в разработке игр вдохновил на создание обучающих курсов, где он поделится накопленными знаниями.
Проекты, в реализации которых принимал участие Александр






Кому подойдёт курс?
Базовый
Базовый
Если вы только начинает свой путь в мир программирования и хотите разобраться в основах C++, заложив прочную базу для дальнейшего обучения, то этот курс создан для вас!
Длительность:
Продвинутый
Продвинутый
Если вы уже знакомы с основами языка С++ и хотите углубить свои знания, чтобы решать более сложные задачи, то мы ждем вас на Продвинутом курсе!
Ближайший старт 01.03.2025
Unreal Engine
Unreal Engine
Ближайший старт 15.03.2025
Как проходит обучение

Формат обучения
Формат обучения
Всё обучение проходит онлайн: лекции в записи, вебинары, общение с преподавателем и сокурсниками в закрытом Telegram-чате

Платформа
Платформа
Сдача домашних работ и получение обратной связи по ним от преподавателей происходит на платформе

Живые вебинары
Живые вебинары
Вебинары с разбором частых ошибок проходят 1 раз в неделю и сохраняются на платформе

Практика
Практика
Домашнее задание выдается, в среднем, 2 раза в неделю, а его выполнение занимает 1-2 часа
Программы курсов
Основы работы с Git
- Системы контроля версий: назначение и преимущества
- Основные операции: коммиты, откат, история изменений
- Сравнение GitHub и GitLab
- Работа с TortoiseGit
- Ветки: создание, слияние, разрешение конфликтов
- Командная работа в Git
Среда разработки
- Установка и настройка Visual Studio
- Создание первой программы
- Компиляция и запуск программ
Основы языка С++
- Области применения языка
- Преимущества C++
- Структура программы
- Объявление и инициализация переменных
- Типы данных
- Константы
- Ввод и вывод данных с консоли
- Операторы: арифметические, логические, сравнения
- Операторы ветвления: if, else if, else
- Логические выражения в условиях
- Вложенные условия
- Операторы div и mod
Циклы и массивы
- Основы циклов
- Примеры использования каждого цикла
- Операторы break и continue
- Объявление и инициализация массивов
- Обход массива с помощью цикла
- Поиск в массиве
- Создание и работа с двумерными массивами
- Заполнение и вывод на экран
- Транспонирование матрицы
- Вывод матрицы в спиральном порядке
Функции и строки
- Определение и вызов функций
- Возврат значений
- Передача параметров по значению и по ссылке
- Работа со строками в C++
- Основные методы: length, substr, find
- Ввод и вывод строк
Работа с файлами
- Открытие и чтение файлов
- Запись в файлы
- Обработка ошибок при работе с файлами
Указатели и память
- Понятие указателей и их назначение.
- Основные операции с указателями.
- Арифметика указателей
- Управление динамической памятью с помощью new и delete
- Взаимосвязь указателей и массивов.
- Создание и использование динамических массивов
Введение в ООП
- Классы и объекты: создание и использование
- Конструкторы и деструкторы: инициализация и очистка
- Инкапсуляция: управление доступом к данным
- Наследование: расширение функционала классов
- Полиморфизм: переопределение методов
Итоговая практика
Итоговый проект — это возможность применить все знания, полученные на курсе. Вы создадите игру в виде консольного приложения, используя принципы объектно-ориентированного программирования и архитектурный шаблон MVC.
Проект позволит вам не только закрепить теоретический материал, но и попрактиковаться в разработке структурированного, понятного и масштабируемого кода. Это ваш первый шаг к созданию реальных программ!
Архитектура и работа вычислительных систем
- Память компьютера
- Процессор
- Кэш процессора
Основы программирования
- Системы счисления
- Сложность алгоритмов
Работа с памятью на низком уровне
- Представление целых чисел в памяти (втч отрицательных)
- Представление чисел с плавающей точкой в памяти
- Работа с битами
- Области памяти программы
- Стек
- Что такое распределители памяти и для чего могут понадобиться пользовательские распределители памяти (memory allocators)
- Принципы работы физической и виртуальной памяти, отображение памяти, как доступная память операционной системы распределяется процессу
- Имплементация простого распределителя памяти
- Выравнивание памяти
- Арифметика чисел с фиксированной запятой
Классы и наследование
- Отличия struct и class. Отличия enum и enum class
- C++ cast operators, их различия и как они работают
- Виртуальные функции и виртуальные деструкторы. Полиморфизм
- Таблица виртуальных функций
- Конструкторы копирования и перемещения
- Pure virtual function call
Умные указатели, сборщик мусора
- Базовые принципы подсчета ссылок
- Умные указатели (unique, shared, weak)
- Циклические ссылки
- Имплементация собственного shared pointer
- Сборка мусора. Граф зависимостей. Алгоритм сборщика мусора
Лямбды
- Области применения лямбд и синтаксис
- Как устроены лямбды. Потенциальные опасности использования отложенных лямбд и способы их предотвращения
Оптимизация производительности (процессор, память)
- Ручное измерение с помощью часов и циклов процессора
- Профайлеры. Intel VTune, AMD μProf
- Производительность распределителей памяти общего назначения против распределителей памяти специального назначения
По завершении курса:
По завершении курса у вас будет не только фундаментальное, но и расширенное понимание программирования на C++. Вы освоите принципы работы с памятью, оптимизации кода, что позволит вам уверенно решать сложные задачи в реальных проектах.
Во время обучения вы разработаете свой собственный класс для работы с числами с фиксированной точкой. А также вы напишете свой собственный аллокатор памяти, что позволит понять, как эффективно управлять ресурсами и повысить производительность приложений. Работа с памятью — одна из ключевых задач C++ разработчика, и вы будете готовы решать её уверенно и эффективно.
Создание собственного умного указателя укрепит ваши знания в области работы с умными указателями и управления временем жизни объектов. Это не только повысит качество вашего кода, но и сделает его более безопасным и эффективным.
Мы также уделим особое внимание оптимизации программ. Вы научитесь анализировать производительность кода, находить и устранять узкие места, что является важным навыком для создания быстрых и надёжных приложений.
После этого курса у вас будет портфолио из собственных проектов, а главное — знания и навыки, необходимые для работы в реальных командах. Вы будете готовы к поиску работы в роли C++ разработчика, а ваши проекты станут отличным дополнением к резюме.
Введение
- Работа в лаунчере
- Установка Unreal Engine 5 из лаунчера
- Запуск UE5 из лаунчера
- Создание Blueprint проекта на UE5 из лаунчера
- Установка необходимых компонентов из Visual Studio Installer
- Скачивание и установка Rider
- Установка Unreal Engine 5 из Git
- Конфигурации сборки Unreal Engine. Сборка движка.
- Создание C++ проекта по шаблону Third Person на UE5
- Особенности работы с git в Unreal Engine 5
Основы работы в движке
- Плагины из Fab
- Обзор Unreal Engine 5
- Руководство по стилю проекта
- Создание игровых карт
- Viewport
- Работа с контентом
- Работа со Static Mesh
- Создание своих Actors
- Коллизия
- Физика
- Системы координат (глобальные и локальные координаты). Единицы измерения пространства и веса объектов
- Упаковка проекта
Дизайн уровней
- Создание и настройка ландшафта
- Foliage
- Прототипирование
- Работа с освещением
- Volumetric Cloud
- PostProcess
- World Partition
- Level Streaming
Аудио
- Sound Cue
- SoundClass и SoundMix
Материалы
Частицы
Gameplay Framework
- Actor и Components
- GameInstance
- GameModeBase и GameMode
- GameState и GameStateBase
- PlayerController, AIController
- Pawn и Character
- PlayerState
- HUD
- UWorld
- Level
Основы программирования на Blueprints в Unreal Engine 5
- Концепция визуального скриптинга
- Создание и использование Blueprints
- Основные элементы Event Graph
- Работа с функциями и макросами
- Математические операции
- Управление игровыми объектами
- Перечисления
- Структуры
- DataTable и DataAsset
- Массивы
- Set и Map
- Таймеры
- Timeline
- Трассировка
- Отладка Blueprints (logs, break point)
Основы программирования на C++ в Unreal Engine 5
- Определение всех базовых типов Gameplay Framework в C++
- Создание наследников классов
- Абстрактные классы и чисто виртуальные функции
- Контейнеры (TArray, TMap, TSet, TStack, TQueue…)
- Оптимизация использования TArray
- Строки (FString, FName, FText, TCHAR (wchar_t ). Макрос TEXT(“”) )
- Construction Script
- Делегаты
- Настройка управления (Legacy Input, Enhanced Input)
- Настройка Character Movement
- Основанные на C++ структурах DataTable и DataAsset
- Отладка. Логи в UE5
Анимация
- Skeletal Mesh
- Animation Sequence
- Blend Space
- Blend Space 2D
- Animation Blueprint
- State Machine
- Animation Montage (Root Motion)
- Aim Offset
- Notify
- Root Motion
- IKRig и IKRetargeter
- ControlRig
- Симуляция одежды
AI
- Теория AI в UE5
- AICharacter и AIController. Методы назначения AI контроллера AI персонажу
- Навигация. NavMesh Bounds Volume. NavMesh Agents. NavMesh Area. Gameplay Debugger
- AI Spawners
- AI Perception. AI Perception Events. Gameplay Debugger
- Behaviour three и BlackBoard. Отладка Behaviour three
- Преследование игрока
- EQS. EQS Gameplay Debugger
- GenericTeamID
Виджеты
- Основы
- Редактор виджетов
- Виджеты доступные в движке
- PreConstruct и IsDesignTime
- Виджет игрового таймера
- Виджет здоровья персонажа
- Динамическое добавление виджетов на экран
- Widget Reflector
В завершении курса
По завершении курса у вас будет готовый проект шутера от третьего лица, который вы создадите с нуля, применяя все знания, полученные на протяжении обучения. Этот проект станет вашей визитной карточкой и отлично дополнит портфолио, чтобы показать свои навыки будущим работодателям.
Вы научитесь разрабатывать уровни с детализированным дизайном, настраивать освещение, звуковые эффекты и визуальные эффекты частиц. Мы вместе создадим игровую логику: от управления персонажами до сложных механик, таких как стрельба, взаимодействие с объектами и поведение AI.
Вы научитесь настраивать анимации персонажа и связывать их с логикой. Вы освоите такие инструменты, как Animation Blueprint, Blend Space и State Machine, чтобы придать движениям реалистичность. А еще создадите удобный интерфейс — полоски здоровья, игровые таймеры и другие виджеты, которые сделают ваш проект завершенным.
После этого курса у вас будет не только готовая игра, но и глубокое понимание работы с Unreal Engine 5. Вы будете уверенно разрабатывать игры, настраивать механики и работать с профессиональными инструментами — это станет вашим первым шагом в карьеру в игровой индустрии.
Тарифы
Стандартный
- 9 модулей
- Старт в любое время
-
Проверка всех домашних заданий -
Вебинар 1 раз в неделю с разбором домашних заданий и ответами на вопросы -
Закрытый чат участников с обратной связью от спикера курса -
Сертификат о прохождении курса
Расширенный
- 9 модулей
- Проверка всех домашних заданий
- Вебинар 1 раз в неделю с разбором домашних заданий и ответами на вопросы
- Закрытый чат участников с обратной связью от спикера курса
- Сертификат о прохождении курса
Стандартный
- 9 модулей
- Старт в любое время
-
Проверка всех домашних заданий -
Вебинар 1 раз в неделю с разбором домашних заданий и ответами на вопросы -
Закрытый чат участников с обратной связью от спикера курса -
Сертификат о прохождении курса
20 000 ₽
Расширенный
- 9 модулей
- Проверка всех домашних заданий
- Вебинар 1 раз в неделю с разбором домашних заданий и ответами на вопросы
- Закрытый чат участников с обратной связью от спикера курса
- Сертификат о прохождении курса
60 000 ₽
Стандартный
- 9 модулей
- Старт в любое время
-
Проверка всех домашних заданий -
Вебинар 1 раз в неделю с разбором домашних заданий и ответами на вопросы -
Закрытый чат участников с обратной связью от спикера курса -
Сертификат о прохождении курса
25 000 ₽
Расширенный
- 9 модулей
- Проверка всех домашних заданий
- Вебинар 1 раз в неделю с разбором домашних заданий и ответами на вопросы
- Закрытый чат участников с обратной связью от спикера курса
- Сертификат о прохождении курса
75 000 ₽
Отзывы наших учеников

Особенно порадовали домашние задания: они были интересными и помогали применить теорию на практике. Ещё большим бонусом стало то, что на курсе уделили внимание работе с Git и теперь я использую его в своих проектах.
В итоге я не только освежил старые знания, но и приобрёл массу нового!
Игорь Соколов

Особенно понравились вебинары с разбором домашних заданий — это дало возможность глубже понять материал. Благодаря курсу я значительно прокачал свои навыки и уже применяю их на практике
Сева Кучерявенко

Каждую тему объясняли доступно, а на мои вопросы всегда быстро отвечали в чате. Постепенно я начал вникать, как работает программирование и был в шоке, что в конце сдал на отлично итоговый проект!
Курс настолько меня вдохновил, что теперь я уверен — хочу продолжать. Уже записался на расширенный курс и с нетерпением жду его начала!
Денис Садовенко

Очень понравилось, что на каждое домашнее задание я получал развернутую обратную связь и рекомендации, которые помогали не просто исправить ошибки, но и понять, как их избежать в будущем.
Чат с сокурсниками стал настоящим сообществом, где можно было обсудить любые вопросы и обменяться опытом.
И самое крутое, что после окончания курса я успешно прошёл собеседование и нашёл свою первую работу программистом С++!
Александр Соловьёв
Частые вопросы
Какие знания нужны для начала курса?
Специальных знаний не требуется. Курс подходит для новичков и рассчитан на изучение C++ с нуля
Насколько сложно изучать C++?
Курс разработан для эффективного освоения языка, сочетая теорию с практикой. Опытный преподаватель всегда готов помочь справиться с трудностями и ответить на вопросы
Будет ли поддержка во время обучения?
Спикер курса будет на связи ежедневно в Telegram-чате. Вы сможете задать вопросы, получить советы, комментарии к домашним заданиям и полезные рекомендации
Сколько времени займет обучение? Можно ли совмещать с работой?
Обучение требует 3–5 часов в неделю, включая выполнение домашних заданий. Вы можете изучать материалы в удобное для вас время, что позволяет легко совмещать учебу с другими делами
Какие минимальные требования к компьютеру для изучения C++?
Для обучения подойдет компьютер средней мощности:
- Процессор: 4 ядра, от 2,5 ГГц.
- ОЗУ: от 4 ГБ.
- Видеокарта: Intel HD Graphics 4000, Nvidia 330m, ATI Radeon HD 4850 или лучше.
- SSD: желательно, но не обязательно