Организаторы олимпиады:

   

Генеральный спонсор:

На главнуюОбратная связьКарта сайта

ПОИСК

Участнику очного тура

Задачи и их оценивание на очном туре. Правила для участника.

Общая часть

На очном туре участнику сразу предоставляется доступ к пяти алгоритмическим и двум ООП задачам. Алгоритм. задачи разделены так: две простые (по 20 баллов) \ две средние (по 30) \ сложная (40), а ООП-задач всего две : одна простая (90) \ одна средняя (180).

Таким образом, даже хорошо решив три алгоритм. задачи (20+20+30), мало шансов стать победи телем, т.к. их больше у того, кто решит всего одну алгоритм. задачу и хоть что-то по ООП. Оценивание алгоритм. задач производится автоматически по набору тестов с помощью системы ФПМИ БГУ Insight Runner хорошо известной для проведения Олимпиад АСМ ICPC. При этом, скорость решения задач фактически не учитывается, т.е. является опциональным фактором оценки.

Оценивание ООП-задач производится Уважаемым Жюри на основе специальной методики, основные критерии которой и условия получения максимальных оценок по ним приведены в Приложении 1. А в Приложении 2 — примеры типовых ООП-задач, аналогичных разработанным для Олимпиады.

 Основные положения методики оценки ООП-задач

  1. Оценка за каждую ООП-задачу будет основана на данных не менее чем по четырем критериям и не менее чем от четырех независимых экспертов.
  2. Общая оценка основана на сумме оценок (до 10 баллов каждая) по критериям, учетом их «веса» 
  3. Значимость (вес) критериев могут быть изменены в группах Жюри по языкам C++\C#\Java\Pascal
  4. Общая оценка по всем критериям умножается на «нормировочный» множитель, рассчитанный на основе максимально-возможных оценок для каждой задачи 
  5. При условии плохой оценки по критерию работоспособности, сумма всех остальных уменьшается с помощью коэффициента (<1), зависящего от языка и устанавливаемого самой группой экспертов.

Общие правила для участника очного тура Олимпиады

  1. До начала процесса решения будет проведена «разминка», где следует ЗАДАТЬ все вопросы. 
  2. До начала и до конца процесса решения следует ОТКЛЮЧИТЬ все телефонами, пэйджеры, КПК. 
  3. Использование любых внешних источников информации по программированию ЗАПРЕЩАЕТСЯ. 
  4. Использование любой связи с «внешним» миром (Интернет, электронная почта) ЗАПРЕЩАЕТСЯ. 
  5. Во время регистрации участника очного тура его группа по языку может быть изменена только при НАЛИЧИИ убедительных артефактов в необходимости такого изменения.

Среда для разработки ООП-задач

Для участников Олимпиады по языкам должны быть предоставлены следующие среды:

  • С++ — Borland C++ version>=5, или MS VC++ version>=6
  • Java — Eclipse version>=3.1
  • Pascal — Borland Delphi version>=6
  • C# — Microsoft Visual C++ 8.00 (VS2005)

Приложение 1
Критерии оценки ООП задач Олимпиады

Приведены наименования критериев и описания условий для получения максимальных оценок.

1. Корректность работы

  •  входные файлы корректно читаются, корректно обрабатываются, результаты выводятся правильно.

2. Устойчивость к аварийным ситуациям

  •  никакие входные данные не вызывают «падения» программы;
  •  все аварийные ситуации корректно обрабатываются и индицируются тем или иным способом.

3. Декомпозиция

  •  выделение и декларирование подходящих бизнес сущностей;
  •  удачное применение шаблонов проектирования;
  •  выделение абстрактной составляющей классов.

4. Принципы ООП

  •  очень малое количество полей классов в открытом доступе (стремится к нулю или имеет логическое обоснование);
  •  для работы с полями созданы методы;
  •  грамотное применение наследования и полиморфизма. Нет дублирующихся участков кода.

5. Зависимости между модулями

  •  связи между модулями очень слабые или отсутствуют;
  •  высокая степень зацепления элементов модулей за обязанности;
  •  «Low coupling, high cohesion» — «Низкая связность, высокое зацепление»;
  •  каждый модуль должен быть связным (логически единым) — элементы внутри модуля должны быть сильно связаны между собой, иначе его стоит разделить на несколько модулей. Различные модули должны быть связаны как можно меньше;
  •  зацепление — мера связанности и сфокусированности класса. При высоком зацеплении обязанности класса тесно связаны между собой, и класс не выполняет работ непомерных размеров. Класс с низкой степенью зацепления выполняет много разнородных действий или не связанных между собой обязанностей.

6. Качество оформления кода

  •  обоснованное использование стандартных библиотечных структур;
  •  декларирование и использование соответствующих исключений для обработки ошибочных ситуаций;
  •  комментарии всеобъемлющи;
  •  большая часть классов, методов и полей названы логически верно и понятно;
  •  код оформлен и отформатирован согласно стандартам

7. Оригинальность
Это опциональный критерий по которому на завершающей стадии оценки может быть получено до 50% дополнительных баллов к текущей оценке. Проводится путем сравнительного анализа всех лучших завершенных решений.

Приложение 2
Примеры типовых ООП-задач, аналогичных «олимпиадным»

(из книги зам. председателя Уважаемого Жюри  И. Н. Блинова «Java 2. Практическое руководство», 2005г, Универсалпресс)

Система Факультатив
Преподаватель объявляет запись на Курс. Студент записывается на Курс, обучается и по окончании Преподаватель выставляет Оценку, которая сохраняется в Архиве. Студентов, Преподавателей и Курсов при обучении может быть несколько.

Система Больница
Пациенту назначается лечащий Врач. Врач может сделать назначение Пациенту (процедуры, лекарства, операции). Медсестра или другой Врач выполняют назначение. Пациент может быть выписан из Больницы по окончании лечения, при нарушении режима или иных обстоятельствах.


ПАРТНЕРЫ ОЛИМПИАДЫ:

Вопросы и ответы
 
28779

ИНФОРМАЦИОННЫЕ ПАРТНЕРЫ ОЛИМПИАДЫ: