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