» ГЛАВНАЯ > К содержанию номера
 » Все публикации автора

Журнал научных публикаций
«Наука через призму времени»

Июнь, 2019 / Международный научный журнал
«Наука через призму времени» №6 (27) 2019

Автор: Черногорова Юлия Викторовна, Студентка магистратуры
Рубрика: Технические науки
Название статьи: Анализ существующих автоматизированных систем поддержки проведения олимпиад

Статья просмотрена: 478 раз
Дата публикации: 20.05.2019

УДК 519.688

АНАЛИЗ СУЩЕСТВУЮЩИХ АВТОМАТИЗИРОВАННЫХ СИСТЕМ ПОДДЕРЖКИ ПРОВЕДЕНИЯ ОЛИМПИАД

Черногорова Юлия Викторовна

студентка магистратуры

Северо-Кавказский федеральный университет, г. Ставрополь

 

Аннотация. В данной работе описываются существующие на данный момент времени системы поддержки и проведения различных олимпиад. Более подробно рассмотрены две наиболее популярные системы «Ejudge» и «Contester». Проведен их сравнительный анализ, выявлены плюсы и минусы.

Ключевые слова: Олимпиада, система поддержки, информационная система, Ejudge, Contester.

 

На сегодняшний день идёт весьма энергичный рост и развитие информационных систем, целью которых выступает организация учебного процесса. Этому способствует активное внедрение информационных технологий в образование, и, как следствие, понимание достоинств и преимуществ их использования не только в роли средств образовательной деятельности, но и в качестве инструмента, позволяющего автоматизировать процесс проведения разного рода работ, в частности, проведения олимпиад по различным предметам. Самым большим плюсом является автоматизация проверки, что в свою очередь позволяет преподавателю экономить время, тестировать большее количество программ и уменьшает вероятность ошибки при проверке. В некоторых случаях автоматизированная система позволяет проверить программный код даже более полно, нежели это может сделать преподаватель. Это объясняется тем, что каждая программа запускается несколько десятков раз на разных тестовых наборах входных данных, составители которых стараются предусмотреть все частные и предельные случаи работы программы. Другим важным аспектом использования информационно-управляющей системы является сбор и накопление информации: данных об учащихся, их решений и заданий. Это может потребоваться при составлении аналитических обзоров, выявлении сложных или плохо сформулированных заданий, ведению статистики прошедших олимпиад.

Следует, однако, отметить, что автоматизированное тестирование никогда не сможет полностью заменить проверку кода человеком, потому что такой подход позволяет оценить формальный факт того, что программа правильно решает поставленную задачу, но он не дает возможности оценить оптимальность кода и его «красоту». Поэтому тестирующая система выступает лишь помощником преподавателя и никогда не сможет стать его полноценной заменой.

На данный момент существует довольно внушительное количество тестирующих систем, которые либо интегрированы в различные онлайн-сервисы, либо используются автономно при соответствующей настройке. Существующие системы автоматического тестирования делятся на два класса: системы проведения интернет-олимпиад и системы проведения очных соревнований. Их существенное отличие заключается в том, что первые работают круглосуточно, практически без поддержки администратора, а вторые используются эпизодически, только во время проведения очного тура и только под наблюдением администратора [1].

Наиболее популярными системами для автоматического тестирования на данный момент в России выступают «Ejudge» и «Contester».

«Ejudge». Система написана на языке C, состоит из нескольких модулей и утилит. Поддерживается почти любым современным дистрибутивов Linux.

Основной интерфейс системы реализован с помощью веб-технологий, имеет большое количество настраиваемых возможностей. Доступ к веб-интерфейсу обеспечивается веб-сервером Apache при специальных настройках. Утилиты командной строки и программы с текстовым интерфейсом позволяют реализовать дополнительные административные возможности.

Утилиты командной строки позволяют получить информацию в формате, удобном для дальнейшей обработки (XML- и CSV-форматы). Административный веб-интерфейс позволяет выполнить все операции по созданию и настройке нового турнира, не прибегая к редактированию конфигурационных файлов.

«Ejudge» поддерживает практически все популярные языки программирования: C, C++, Java, Pascal, Perl, Python и другие, также возможно добавление языков в уже работающую систему [2].

Резюмируя, «Ejudge» со своей поставленной задачей справляется. Стоит отметить, что данная система наиболее часто применятся при проведении олимпиад по программированию. Главными недостатками данной системы являются: сложность установки, поддержки, интеграции, ориентированности только на операционную систему Linux, не совсем логичный и удобный интерфейс.

Система «Ejudge» спроектирована как гибкий и расширяемый продукт, который допускает как комплексное использование, так и заимствование отдельных компонентов. Однако, уже на данном этапе сложность этой системы достигла максимальных значений, обнаруживая все просчёты в проектировании.

«Contester» разработан на Delphi и FreePascal. В системе используется сервер баз данных Firebird, компоненты Indy.Sockets и библиотека ZLib. Работает на Windows и Linux. Поддерживает языки: C++, Object Pascal, Java и языки.NET: C#, J# и Visual Basic [5].

На данный момент в основу «Contester» заложены правила ACM-соревнований. Турнирная система содержит HTTP-сервер, тестирующий модуль, и располагается в системном трее. Работа с системой, чтение текстов задач и отправка решений происходит через веб-браузер.

Интерфейс участника олимпиады позволяет выполнять ряд необходимых для него функций, таких как: самостоятельная регистрация, обращение к текстам задач, ознакомление с информационными справками в системе, обсуждение задач, сборников, турниров на встроенном форуме и других.

Интерфейс администратора турнирной системы позволяет: создавать, блокировать и удалять учетные записи участников системы, создавать и удалять задачи, турниры, сборники и разделы, вносить тестовые пары к задачам; компилировать решения, просматривать список решений участников, компилировать решения и просматривать журналы компиляции и проверки каждой попытки; добавлять в систему языки программирования; распределять проверку решений на несколько серверных компьютеров [3].

«Contester» обладает хорошим функционалом, за исключением того, что он ориентирован на поддержку олимпиад по программированию, в связи, с чем не предусматривает методы для проведения и проверки заданий в форме тестов.

Большим плюсом является то, что система имеет установщик и не требует никаких дополнительных знаний, необходимых для ее установки и настройки, чем существенно отличается от «Ejudge».

Недостатком системы является то, что при разработке Delphi усложняет поддержку продукта и ставит под сомнение дальнейшее существование системы.

Таблица 2. Технологические платформы для систем поддержки олимпиад по программированию «Ejudge» и «Contester»

Система

ОС

СУБД

Среда разработки

Дополнительно

Ejudge

Linux

MySQL

C, Java

Apache

Contester

Windows, Linux

Firebird

Delphi, Freepascal

Indy.Sockets, Zlib

На таблице 3 представлены как плюсы, так и минусы рассмотренных систем с точки зрения особенностей, сформулированных в прошлом параграфе:

Таблица 3. Сравнение систем «Ejudge» и «Contester»

Функции

Ejudge

Contester

Несколько способов технической реализации системы

+

+

Ориентированность на различные ОС

-

+

Наличие в системе интерпретатора программного кода

+

+

Поддержка распространенных языков программирования

+

+

Автоматизация проверки вопросов в форме тестов

+

-

Простота в настройке, администрировании и эксплуатации

-

+

Поддержка ресурсов, обеспечивающих работоспособность

+

-

Обновление и поддержка системы

+

+

Свободно распространяемая лицензия

+

-

Интерфейс участника, администратора, системы

+

+

Хранение олимпиадных заданий и данных о пользователях

+

+

Сбор статистики

-

-

Проведя данный анализ, можно сделать следующие выводы:

  • В силу ограниченности возможностей данных систем, закрытости исходного кода, а также ряда других указанных выше причин, ни одна из систем не может полностью обеспечивать все функции, необходимые для поддержки проведения олимпиады по информатике.
  • Таким образом, становится понятным, что требуется спроектировать информационно-управляющую, удобную, надежную, не требующую сложной настройки систему, которая могла бы реализовать все описанные выше особенности. Информационно-управляющая система должна быть основана на применении свободных программных продуктов и использовании новейших технологий.
  • При разработке системы в первую очередь должен быть сделан упор на гибкость, простоту расширения, а также на развитие и интеграцию с другими системами, на максимально повторное использование уже готовых решений – на всё, что смогло бы повысить качество программного продукта и обеспечить возможность его дальнейшего развития.


Список литературы:

  1. Рукшин С. Е. Сравнительные достоинства и недостатки дистанционных и традиционных олимпиад и их влияние на архитектуру автоматизированных систем поддержки дистанционных научных соревнований //Образовательные технологии и общество. – 2010. – Т. 13. – №. 3.
  2. Минак А. Г., Валишев А. И. Разработка инструментального средства автоматической проверки учебных заданий по программированию в системе MOODLE //Материалы XVI Всероссийской научно-практической конференции «Инновационные процессы в высшей школе»–Краснодар: КубГТУ. – 2010. – С. 204-207.
  3. Groves R. M., Singer E., Corning A. Leverage-saliency theory of survey participation: description and an illustration //The Public Opinion Quarterly. – 2000. – Т. 64. – №. 3. – С. 299-308.


Комментарии:

Фамилия Имя Отчество:
Комментарий: