openOli on "Ali məktəb tələbələri arasında informatika üzrə ümumrespublika olimpiadası"

Привет всем! Как здесь уже писал Farik, вчера (10 апреля) должен был пройти первый тур Республиканской олимпиады среди учащихся вузов. И в этом посте я хочу рассказать, об этой олимпиаде, про первый тур и про один из своих проектов. Пост получился большим, но я надеюсь у вас хватит терпения.

Что за олимпиада?



Сначала расскажу в двух словах про саму олимпиаду. «Ali məktəb tələbələri arasında informatika üzrə ümumrespublika olimpiadası» проводится ежегодно начиная с 2007 года, при поддержке Фонда Гейдара Алиева, Министерства Образования, Министерства Связи и ИТ и Института Кибернетики. Последние два года первый тур проходит в Университете Кавказ, так что им тоже спасибо. Ну и конечно же никакой олимпиады в Азербайджане, (возможно даже самой информатики) никогда не было бы без Рамина Назимовича. За компьютерам и за процессом проверки задач следим мы (прик. мат. БГУ). Вот так вот, с обьединенными усилиями проходит это, одно из важнейших для развития ИТ в стране мероприятие (О том, почему олимпиада так важна как-нибудь в другом посте напишу).

Правила. 3 человека в команде. 1 компьютер на команду. 5 часов. 8 олимпиадных задач.
Можно посылать неограниченное количество решений, защитывается лучшее из них. У каждой задачи 10 тестов. Каждый тест это 1 бал. Побеждает тот, у кого больше балов.

aztelekom.org/olimpiada/

Я и эта олимпиада

В 2007, тогда я еще школьником был, мы с другом были внеконкурсными участниками (из-за того, что мы не были еще студентами). Несмотря на это мы заняли внеконкурсное второе место и министр связи нам подарил принтеры Canon. Первое место взял университет Qafqaz.

В 2008 я был занят поступлением в университет, так что думал я тогда только про циклоалканы… Первое место взял университет Qafqaz.

В 2009 я уже будучи студентом БГУ, я уже был полноправным участником олимпиады. На этот раз победила наша команда.
cs.bsu.edu.az/az/news/olimpiada_qaliblri_

А в 2010, тоесть в этом году, а вот тут уже начинается то зачем я вообще пишу этот пост. В эот раз я был «по ту сторону», тоесть занимался техническим обеспечением. Но дело даже не в этом. Дело в одном из моих проектов:

openOli — open source automatic online judgment system for holding olympiads in informatics

openOli — это автоматическая система проверки для проведения олимпиад по информатике с открытым исходным кодом.

Коротко о том, что такое автоматическая система проверки. Это клиент-серверное приложение. Клиент (участник олимпиады) отправляет исходный код решения задачи. Сервер берет этот код, компилирует его, получает программу (говоря виндовсоским языком exe). Запускает эту программу количество_тестов раз с разными входными данными, получает выходные, анализирует их (чаще всего просто сравнивает с эталоном) и выносит вердикт о правильности этого решения.

Если кому-то интересно подробнее о таких системах можно прочитать в моей курсовой:
https://docs.google.com/fileview?id=0Bxpx4WsmD5yvZjBjMTU5YTUtNDVmNy00MzM3LWJkNzAtM2IxNGU2NWI4MTdm&hl=en
Эта курсовая из тех редких при написании которых, почти не использовалась литература или ссылки, она отражает только мое мнение, это я на всякий случай.

Сам проверяющий движек я написал на моем любимом языке программирования — Ruby. Фронтенд (интерфейс) на php и jquery (многие части работают через Ajax обновления).
Сервером вчера был старенький компьютер (взял со склада на работе), на нем стоял openSUSE 11.1. На сервере openOli должен стоять Линукс, а на клиентах что угодно (я даже с iPod-a решение посылал). Данные лежат в MySQL-e.

Вот страница моего проекта на Google Code code.google.com/p/openoli/

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

openOli — что дальше?

Во-первых, впереди финал этой олимпиады, до него нужно произвести ряд усовершенствований.
Во-вторых, нужно писать документацию, благодаря которой openOli станет действительно применимым open source проектом.
В-третьих, это веб-приложение и я начну разрабатывать онлайн задачник на основе openOli. Желающие смогут зайти скажем на ioli.az и решать задачи. Пример такой системы acm.timus.ru

Картинки!

логин-скрин

дашборд

Крупнее











P.S. Кто же победил в первом туре?

Вы не поверите, но я даже не знаю. Я был занят под конец, уехал так и не дождавшись результатов. Но как только узнаю, обещаю дописать.
  • +2
  • 11 апреля 2010, 16:46
  • Nehfy

Комментарии (7)

RSS свернуть / развернуть
+
0
Интересно очень =) В кавказе просто учеба в вышем уровне =)
Я лично многих юзеров знаю, большинство с АЗИ и Политеха =))
Ну могу пожелать твоей команде удачи, и мы верим в твои знания! За такой пост молодец!
avatar

Farik

  • 11 апреля 2010, 21:32
+
0
Спасибо! Моей команды уже нет) Это тестовая. Да после вчерашнего я тоже всех знаю лично))
avatar

Nehfy

  • 11 апреля 2010, 21:43
+
0
Молодчик, респект тебе, ваще это хорошо что у нас такие олимпиады проводятся…
avatar

Cluster

  • 11 апреля 2010, 22:22
+
0
Спасибо!
avatar

Nehfy

  • 11 апреля 2010, 22:56
+
0
Вот отсюда и берет начало e-hokumet. Интересно, почему ни Министерство Образования, ни Министерства Связи и ИТ, ни Институт Кибернетики такого не соорудил? Наверное не хватает ресурсов… Может хоть после того, как уже все готово, кто-нибудь спохватится.
avatar

kataloq

  • 12 апреля 2010, 11:28
+
0
чето до меня не дошло… чего министерства не соорудили? каких ресурсов?
а насчет e-hokumet согласен
avatar

Nehfy

  • 12 апреля 2010, 14:41
+
0
А когда будет следующая олимпиада?
avatar

Ceyhun

  • 19 декабря 2010, 14:44

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.