---------------------------------
Роботландский Университет 02/03
Азы программирования
Турнир Кукарачи
Инструкции по перекрестной проверке
Критерии оценок.
Автор инструкции А.А.Дуванов (18/12/00)
Измененения для 2002/2003 уч.г. А.В.Рудь (15/12/02)
----------------------------------------------------

Кто что проверяет (обязательная программа).
-------------------------------------------
Команда 3102 проверяет работы команд 3100, 3110, 3112
Команда 3103 проверяет работы команд 3105, 3108, 3111
Команда 3105 проверяет работы команд 3108, 3110, 3111
Команда 3108 проверяет работы команд 3105, 3111, 3115
Команда 3110 проверяет работы команд 3102, 3112, 3115
Команда 3111 проверяет работы команд 3103, 3105, 3108
Команда 3112 проверяет работы команд 3100, 3102, 3115
Команда 3115 проверяет работы команд 3103, 3110, 3112
Команда 3100 проверяет работы команд 3102, 3103, 3112

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


Рациональное оборудование рабочего места проверяющего
-----------------------------------------------------
Для проверки полученных работ создайте отдельный каталог на своем
диске, например, с именем PROVERKA. Поместите туда полученный архив
coc2003.exe и запустите его. Файл-архив coc2003.exe переместите в другое
место для резервного хранения. Добавьте в каталог файлы для запуска Кукарачи.
Получится каталог со следующей структурой:

PROVERKA
|
|--05
|  |--tar.bat    командный файл для запуска Кукарачи
|  |--0511.coc  |
|  |--0511.tsk  |  решения задач
|  |  ....      |  команды 3105 
|  |--0591.coc  |
|  |--0591.tsk  |
|  |  ....      |
|  |--05.txt    |  файл с описанием алгоритмов
|
|--08
|  |--tar.bat    командный файл для запуска Кукарачи
|  |--0811.coc  |
|  |--0811.tsk  |  решения задач
|  |  ....      |  команды 3108 
|  |--0891.coc  |
|  |--0891.tsk  |
|  |  ....      |
|  |--08.txt    |  файл с описанием алгоритмов
| ...
|
|--tar.exe      файлы, необходимые для запуска Кукарачи
|--tar.ini      (эти файлы копируются из среды
|--tar.pcl       программного пакета Курсов)
|--tar.pcx

Во все каталоги, содержащие решения задач команд, помещен файл
tar.bat. Это обычный текстовый файл. Он содержит единственную строку:

..\tar

для запуска Кукарачи из родительского каталога.

!!! Чтобы защитить все файлы от случайного изменения, установите
для всего каталога PROVERKA атрибут "только для чтения".

Теперь для проверки, например, решений команды 3105, нужно в Нортоне
(Far'е) открыть каталог 05 и запустить файл tar.bat. Программа
Кукарача-97 запустится и при открытии дискового меню вы увидите список
задач команды 3105.

Проверив команду 3105, можно открыть следующий каталог, например, 08 и
проверить решения команды 3108. И так далее.

Можно просто запустить tar.exe и выбирать каталоги и программы
прямо из среды Кукарачи.

Тестирование программ - важная часть обучения
---------------------------------------------
Перекрестная проверка работ продолжает этап обучения на наших Курсах.
Она позволяет:

- Провести практические занятия с детьми по очень важному и
ответственному этапу создания программного продукта - его тестированию
на предмет выявления ошибок. Ни одна компьютерная фирма не выпустит
свой программный продукт в свет без тщательной и всесторонней
проверки. Время, затраченное на тестирование готового продукта,
заранее предусматривается, включается в план разработки и по
количеству человеко-часов часто сравнимо со временем создания самого
продукта. Тестируют программы специальные работники фирмы и
обязательно не авторы программы. Как показывает опыт, автор программы
не способен выявить в своем продукте большинство из допущенных им
ошибок. Объясняется это очень просто. Работая над своей программой,
автор оказывается в "плену" собственных представлений и алгоритмов. Он
заставляет программу работать правильно и на это направляет свои
усилия. Человек-тестер, наоборот, прилагает все усилия для того, чтобы
заставить программу работать неверно, "подсовывает" ей такие входные
данные, на которых она начинает "хромать" - выдавать неверные
результаты. Иными словами, у автора программы и проверяющего разные
психологические установки: у одного - заставить программу работать, у
другого - "сломать" ее.

- Перекрестная проверка позволит научить детей читать чужую программу
и понимать по ее исходному тексту мысль автора.

- Проверка работ позволит детям познакомиться с решением других ребят
и сравнить их со своими.

Общие рекомендации по проверке
------------------------------

1) Тестирование программы. Первой, обязательной частью контроля,
является проверка работоспособности программы на компьютере.
Тестирование не должно сводиться к одному запуску программы с тем
состоянием среды, которое предложено автором. Запускайте программу с
различными допустимыми (по условию задачи) положениями кубиков и
исполнителя на поле. Обязательно рассмотрите критические (крайние)
случаи и убедитесь, что программа обрабатывает их правильно.

2) Проверка качества алгоритма. Нужно внимательно прочитать объяснение
алгоритма, приведенное автором, и проверить его соответствие программе
при помощи запуска "по шагам".

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

3) Оценка эффективности алгоритма и программы. Оценивайте
эффективность по трем признакам:

- универсальность алгоритма (алгоритмы, которые работают не для всех
возможных начальных состояний среды - ошибочные);

- число строк программы с кодом (чем меньше, тем лучше. НО!
структурная запись толковые комментарии только улучшают восприятие);

- время работы программы (чем меньше движений выполняет исполнитель в
среде, тем лучше);

4) Качество описаний алгоритма и внешний вид (рисунок) программы.
Изучая алгоритм автора, обратите внимание на качество описания,
доступность и точность изложения (грамматика в последнюю очередь).
Рассматривая текст программы, обращайте внимание на правильное
форматирование и оформление: комментарии, смысловые имена процедур,
верно расставленные отступы и пустые строки улучшают внешний вид и
способствуют лучшему пониманию программы.

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

Критерий оценок
---------------

1. Если задача не решалась командой, то за нее выставляется 0 баллов.

2. Если задача имеет несколько вариантов решения, то выставляется
единственная оценка (балл) по лучшему варианту.

3. Программа не работает: выдается синтаксическая ошибка или сообщение
"Не могу". Может это недоразумение? Попробуйте обнаружить и исправить,
допущенную автором описку.

  3.1. Описка. Если исправление помогло и программа заработала, снизьте
  оценку на 1 балл.

  3.2. Неверное решение. Если ошибки серьезные и связаны с неверным
  алгоритмом или неверной программой, выставляйте за задачу 1 балл.

4. Программа работает, но в ней обнаружены грубые ошибки. (программа
работает только для того состояния среды, которое предложил автор) -
выставляйте 2 балла.

5. Программа работает, но в ней есть ошибки (обнаружены состояния
среды, в которых программа работает неправильно). Ставьте оценку в
интервале [3 ; номинал задачи]

6. В тех случаях, когда приведенные рекомендации оставляют
неоднозначность, проверяющий принимает самостоятельное решение по
выставлению оценки.

7. Бонус "восхищение соперником".

Каждая команда имеет право добавить за особо понравившиеся ей
решения соперников несколько баллов ОБЩЕЙ СУММОЙ  5 БАЛЛОВ.

!!! ОБРАТИТЕ ВНИМАНИЕ !!!  
Каждая команда (и куратор) имеют ВСЕГО по 5 баллов на дополнительное
поощрение ВСЕХ ЗАДАЧ ОТ ВСЕХ КОМАНД соперников! Это означает, что:

-  вы имеете право отдать все 5 баллов за одно-единственное решение,
   и больше никого не поощрять;
-  вы можете "разбить" эти 5 баллов в любой комбинации, например
   1+1+1+1+1 или 1+2+2 или 4+1, если хотите отметить соответственно
   4, 3 или 2 понравившихся вам решения;
-  вы можете использовать бонус не полностью; 
-  вы можете не давать дополнительные баллы никому из соперников,
   но опыт турниров показывает, что такое желание всегда возникает.

Естественно, необходимо пояснить, за что именно вы отмечаете
ту или иную работу. ОБЯЗАТЕЛЬНО ОТДЕЛЬНО УКАЗАТЬ, кому и за что
вы добавили бонус.

Результаты проверки должны быть представлены по следующей форме:
--------------------------------------------------------------
Турнир по программированию. I тур. Кукарача
Команда:
Руководитель:
Результаты проверки:

nn b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb NN
nn b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb NN
nn b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb NN
.... 
(по желанию можно проверить работы ещё нескольких команд)

Комментарии:
О работе команды 3101:
....
О работе команды 3102:
.....
--------------------------------------------------------------
В образце использованы следующие обозначения:

nn - номер команды, работа которой проверялась
b1 - оценка за первую задачу
b2 - оценка за вторую задачу
b3 - оценка за третью задачу
b4 - оценка за четвертую задачу
b5 - оценка за пятую задачу
b6 - оценка за шестую задачу
b7 - оценка за седьмую задачу
b8 - оценка за восьмую задачу
b9 - оценка за девятую задачу
ba - оценка за задачу a
bb - оценка за задачу b

NN - номер команды, которая проверяла работу

В комментариях в свободной форме  руководитель:

- объясняет, как была организована проверка;
- отмечает, за что нужно похвалить проверяемую работу 
  и команду;
- высказывает свои впечатления о проверенных работах;
- ОБЯЗАТЕЛЬНО обосновывает, выставленные оценки по каждой задаче.

Посылка результатов проверки

Результаты проверки высылаются по адресу
awr@snezhinsk.ru
до 23:59 21 декабря  2002 года
(почтовый штемпель отправителя)
