MyWackoSite : Publikacii/2010/ISSC/NsutsVoronkov

МОДЕРНИЗАЦИЯ СИСТЕМЫ ТЕСТИРОВАНИЯ ОЛИМПИАД ПО ПРОГРАММИРОВАНИЮ

А. Д. Воронков, А. В. Киров, Е. Н. Конышева
Новосибирский государственный университет

Перед авторами стояла задача модернизации существовавшей ранее в Новосибирском государственном университете системы тестирования олимпиад по программированию. Во-первых, необходимо было объединить нескольких веток системы, разрабатывающихся ранее отдельно (в частности, система для проведения школьных олимпиад и система для проведения олимпиад по правилам ACM, Windows- и Linux-версии этих систем). Во-вторых, раньше для проведения каждого тура олимпиады система инициализировалась заново: создавалась новая база данных и отдельная конфигурация. Следовало объединить несколько олимпиад (и туров) внутри одной копии системы.
В процессе решения поставленных задач была проделана следующая работа. Сведены к минимуму зависимости от внешних утилит, код системы сделан переносимым между платформами MS Windows и Linux. Была добавлена поддержка новых правил проведения олимпиад, правил тестирования решений, составления рейтингов и некоторых других аспектов проведения олимпиад. В результате чего, стало возможным использование системы для проведения не только олимпиад по правилам ACM и по школьным правилам, но и по специфическим правилам. Кроме того, модифицирована модель данных так, что одна копия системы теперь может быть использована для проведения нескольких независимых олимпиад одновременно. Расширен и доработан административный функционал, сюда, в частности, входят управление олимпиадами, пользователями, задачами и тестами. Также в пользовательском интерфейсе начато внедрение технологии AJAX для оптимизации отдельного функционала.
В настоящее  время новая версия системы реализована в объеме, позволяющем решать перечисленные задачи и использовать её на олимпиадах разного уровня, в том числе крупных (например, Всесибирская олимпиада по программированию имени Поттосина). Развитие системы на этом не прекращается, и в ближайших планах повышение стабильности работы системы, разработка распространяемой версии, расширение административной и пользовательской функциональности, оптимизация отдельных компонент.

Научные руководители – канд. физ.-мат. наук Т. Г. Чурина,
канд. физ.-мат. наук Е. Н. Боженкова, Т. В. Нестеренко, Д. В. Иртегов