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