Соревнования по программированию на платформе Яндекс.Контест: кому нужны и как создавать - Половикова, Ольга Николаевна; Смолякова, Лариса Ленгардовна (Компьютерные инструменты в образовании, 2025)
В данном исследовании акцентируется внимание на необходимости получения студентами IT-направлений подготовки опыта решения практических задач. Активное участие студентов в спортивном программировании вне зависимости от начальных навыков способствует получению такого опыта. Представлен подход создания состязаний с использованием библиотеки testlib на бесплатной российской платформе Яндекс.Контест. Программные модули платформы обеспечивают основные этапы жизненного цикла соревнования от генерации тестов к задачам до подведения итогов. Предоставлена возможность реализовать логику работы своей системы оценивания, учитывая набранные студентами баллы и штрафы. Используя настройки заданий можно ограничивать ресурсы памяти и время выполнения программного кода участников. Специальный модуль также формирует отдельный набор требований к способу решения задач, что является важным условием для проведения соревнований врамках учебного процесса. Создавая банк заданий для соревнования с учётом пройденного материала и изучаемых курсов, можно «вшить» проведения соревнований в учебный процесс, чередуя индивидуальные и командные этапы. Предлагаемый подход апробирован на практике: два раза в семестр студенты младших курсов одного из институтов Алтайского госуниверситета участвуют в состязании, тренируют свои навыки быстрого и безошибочного написания программного кода. Опыт проведения подобных турниров показал готовность студентов и преподавателей осваивать новые формы учебных занятий.
Keywords: соревнование по программированию, автоматизированная проверка кода, чекер, интерактор, постпроцессор, генерация тестов, штрафные очки, баллы за решение, монитор участников, банк заданий, тесты, программный код