LINUX.ORG.RU

Встречайте dudge: система для проведения олимпиад по программированию

 


0

3

Стал доступен svn-репозиторий системы для проведения олимпиад по программированию, которая разрабатывается в Самарском государственном техническом университете.

Основные возможности системы:

  • Автоматизированная проверка исходных текстов решения на наборе тестов.
  • Поддержка различных типов соревнований, причем новые типы соревнований могут подключаться в систему после ее установки.
  • Хранение информации о ходе соревнования, базы участников и их рейтинга.
  • Вычисление статистики по соревнованию.
  • Распределенная проверка решений, отправленных участниками, на нескольких проверяющих компьютерах.
  • Проверка решений на Windows- и Linux-системах.
  • Поддержка любых компиляторов путем задания их использования через шаблоны вызова из командной строки.
  • Мультиязычный веб-интерфейс с возможностью переключения языка пользователем.
  • Работа на любой платформе, на которой работает Java.

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

>>> Подробности

★★★★★

Проверено: post-factum ()
Последнее исправление: post-factum (всего исправлений: 1)

Ответ на: комментарий от Virl

Собственно, ближайшей целью разработки (помимо исправления текущих багов) является создание инсталляционного пакета под Windows и rpm/deb пакетов для Linux, которые устанавливали бы как сам Dudge, так и необходимые явовые сервера приложений и постгрес (при необходимости и выборе пользователя, естественно).

Virl
()
Ответ на: комментарий от Virl

А, ну тогда насчёт файлегов понятно :) Будем ждать deb/rpm. Но вот ещё есть вопросы, а как всё это дело работает (с такими прогами не сталкивался), и, например, в школе её можно будет без проблем использовать. Интерфейс?
А так, удачи проекту :) Молодцы :)

Vier_E ★★★
()
Ответ на: комментарий от Virl

> Т.е. конечная цель разработки Dudge - чтобы преподаватель в университете или школе (при небольшой помощи сисадмина или ученика) мог просто поставить парой кликов Dudge на компьютер и проводить соревнования или лабораторные в уже готовом для этого веб-окружении с базой пользователей, его собственной базой задач, удобном веб-интерфейсе - без вникания во внутренности работы системы и всякие group_id и т.п.

Если это так, то было бы очень здорово. Очень хочется посмотреть на бинарную сборку.

dkirienko
()

/fix dude: система для проведения олимпиад по программированию

anonymous
()
Ответ на: комментарий от some-body

А ещё есть NSUts - разработка НГУ (Новосибирск). :)

Уж лучше ejudge :)

nebm51
()
Ответ на: комментарий от dkirienko

Можете связаться с разработчиками (письмо на адрес, указанный на странице регистрации)
Хотя, вроде бы, они паковали свою систему для растпространения, но подробностей я не знаю.

some-body ★★
()
Ответ на: комментарий от Vier_E

> А, ну тогда насчёт файлегов понятно :) Будем ждать deb/rpm.

deb/rpm появится сразу же, как только мы исправим десяток самых важных багов, описанных в багтрекере: http://code.google.com/p/dudge/issues/list

Собственно, в том числе для этого мы и ищем помошников.

Но вот ещё есть вопросы, а как всё это дело работает (с такими прогами не сталкивался)

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

и, например, в школе её можно будет без проблем использовать.

Можно. В итоге у нас будет один экзешник (и линуксовый пакет), который при установке будет ставить систему с веб-сервером и базой данных к ней (оно все маленькое, т.к. система относительно простая).

Интерфейс?

У системы веб-интерфейс. Текущую тестовую версию можно посмотреть на http://dudge.fait.samgtu.ru (проверка решений там пока что отключена)

А так, удачи проекту :) Молодцы :)

Спасибо.

Virl
()
Ответ на: комментарий от nebm51

> LDAP ожидается?

Толстовато, конечно. Но, вы будете смеяться - да, ожидается. Потому что как раз одна из текущих задач - отказаться от велосипедной системы аутентификации и перейти на на стандартную явовскую (у которой есть в том числе и лдаповый backend).

Также ожидается аутентификация по OpenID.

Virl
()
Ответ на: комментарий от Virl

Толстовато, конечно. Но, вы будете смеяться - да, ожидается. Потому что как раз одна из текущих задач - отказаться от велосипедной системы аутентификации и перейти на на стандартную явовскую (у которой есть в том числе и лдаповый backend).

Также ожидается аутентификация по OpenID.

Вопрос был серьезный, жаль что вы везде видите троллинг. Отсутствие поддержки LDAP в ejudge лично мне сильно отравляет жизнь.

nebm51
()
Ответ на: комментарий от nebm51

> Вопрос был серьезный, жаль что вы везде видите троллинг.

Везде - не вижу.

Отсутствие поддержки LDAP в ejudge лично мне сильно отравляет жизнь.

Кстати, что Вас еще не устраивает в ejudge как пользователя?

Virl
()
Ответ на: комментарий от Virl

Кстати, что Вас еще не устраивает в ejudge как пользователя?

В основном не нравится заметная переусложненность при решении простых задач. Крайне замороченный подход к созданию контестов, заданий и тестов для них, местами укуренный интерфейс админки. А вот что нравится, так это его неубиваемость.

nebm51
()
Ответ на: комментарий от nebm51

> В основном не нравится заметная переусложненность при решении простых задач. Крайне замороченный подход к созданию контестов, заданий и тестов для них, местами укуренный интерфейс админки.

Да, это одна из основных причин, по которой мы решили разработать собственную систему. Например, интерфейс администрирования у нас интегрирован в основной веб-интерфейс системы, причем как администратора отдельного соревнования, так и администратора всей системы. Т.е. вся настройка и администрирование системы производится через ее основной веб-интерфейс (просто обычным пользователям не видны соответствующие разделы и кнопки).

Также мы хотим сделать, чтобы все административные задачи максимально использовали возможности AJAX'а - скажем, чтобы для добавления человека в закрытое соревнование преподавателю достаточно было его перетащить из списка найденных людей в список участников соревнования.

Virl
()
Ответ на: комментарий от Virl

> Т.е. вся настройка и администрирование системы производится через ее

основной веб-интерфейс

А как решается проблема с загрузкой файлов с входными данными и с ответами — браузеру ведь нельзя лазить по файловой системе клиента?

anonymous
()
Ответ на: комментарий от anonymous

> А как решается проблема с загрузкой файлов с входными данными и с ответами — браузеру ведь нельзя лазить по файловой системе клиента?

В данный момент тесты загружаются индивидуально через диалоги с тектовыми полями на странице редактирования задач. Когда переделаем их - будут загружаться выбором файлов (браузеру можно лазить, если использовать соответствующий html'ный тег для выбора файла, или флешевый код вроде контактового).

В любом случае, нами уже спроектирована XML'ная схема для задачи олимпиады/лабораторной, а также явовская клиент-сайд утилита, позволяющая полностью сформировать задачу и сохранить ее условие, ограничения, описание и все тесты в виде одного xml-файла, который потом в один клик может быть загружен в систему. Сейчас это все реализовано в виде xml-схемы и недописанной проги, ее использующей (там тикет висит на доделывание этого всего :) ).

Virl
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.