Роботландский Университет 99/00
Азы программирования
Турнир Кукарачи
Инструкции по перекрестной проверке
Критерии оценок. 16/12/99
---------------------------------

                  Уважаемые коллеги!

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

Рациональное оборудование рабочего места проверяющего
-----------------------------------------------------

Когда вы получите свой пакет для проверки, надо развернуть arj-архив.
Когда Вы это сделаете, то увидите 3 новых arj-архива. Это архивы
команд (работы которых вам предстоит проверить) с решениями задач и
текстовым файлом с описанием алгоритмов.

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

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

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

..\tar

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

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

Тестирование программ - важная часть обучения
---------------------------------------------

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

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

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

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

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

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

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

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

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

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

- число строк программы с кодом (чем меньше, тем лучше);

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

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


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

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

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

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

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

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

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

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

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


Рекомендации по задачам
-----------------------

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

Задача 1.   5   - верное решение
            4-3 - описки, погрешности в оформлении
            2   - грубые ошибки
            1   - неверное решение
            0   - не решали

Задача 2.   5   - верное решение
            4-3 - описки, погрешности в оформлении
            2   - грубые ошибки
            1   - неверное решение
            0   - не решали

Задача 3.   (без уплотнения записи)
            6   - верное решение
            5-4 - описки, погрешности в оформлении
            3-2 - грубые ошибки
            1   - неверное решение
            0   - не решали

Задача 3.   (с уплотнением записи)
            10  - верное решение
            9-8 - описки, погрешности в оформлении
            7-4 - ошибки
            3-2 - грубые ошибки
            1   - неверное решение
            0   - не решали

Задача 4.   5   - верное решение
            4-3 - описки, погрешности в оформлении, нет диаграммы
            2   - грубые ошибки
            1   - неверное решение
            0   - не решали

Задача 5.   (за программирование лексического анализатора)
            8   - верное решение
            7   - описки, погрешности в оформлении
            6   - нет диаграммы
            5-3 - ошибки
            2   - грубые ошибки
            1   - неверное решение
            0   - не решали

К баллам за программу плюсуется балл за построение среды, исполнителя
и программ:
            4 - корректное построение, не менее 3
                содержательных программ.
            3 - корректное построение, есть примеры
                содержательных программ.
            2 - корректное построение, нет примеров
                содержательных программ.
            1 - построение не корректно, не интересно.
            0 - нет построения.

Задача 6.   6   - верное решение
            5   - описки, погрешности в оформлении
            4   - нет диаграммы
            3   - ошибки
            2   - грубые ошибки
            1   - неверное решение
            0   - не решали


Задача 7.   6   - верное решение (верное определение, верная программа)
            5   - описки, погрешности в оформлении
            4   - нет диаграммы
            3   - ошибки
            2   - грубые ошибки
            1   - неверное решение
            0   - не решали


Задача 8.   4   - 9 правильных рисунков
            3   - не менее 7 правильных рисунков
            2   - не менее 5 правильных рисунков
            1   - не менее 3 правильных рисунков
            0   - не решали

Задача 9.   8   - верное решение
            7-6 - описки, погрешности в оформлении
            5-3 - ошибки
            2   - грубые ошибки
            1   - неверное решение
            0   - не решали

Задача a.   8   - верное решение
            7-6 - описки, погрешности в оформлении
            5-3 - ошибки
            2   - грубые ошибки
            1   - неверное решение
            0   - не решали

Задача b.   8   - верное решение
            7-6 - описки, погрешности в оформлении
            5-3 - ошибки
            2   - грубые ошибки
            1   - неверное решение
            0   - не решали

Задача c.   8   - верное решение
            7-6 - описки, погрешности в оформлении
            5-3 - ошибки
            2   - грубые ошибки
            1   - неверное решение
            0   - не решали

Задача d.   10  - верное решение
            9-8 - описки, погрешности в оформлении
            7-3 - ошибки
            2   - грубые ошибки
            1   - неверное решение
            0   - не решали


Задача e. 10  - оригинальная задача с правильным решением и
                хорошим оформлением
          9   - оригинальная задача с погрешностями  в решении
                или оформлении
          8-3 - задача, повторяющая идеи задач из пособий  для
                Курсов
          1-2 - копия задачи из пособия
           0  - задание не представлено

                 Оформление результатов проверки

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

nn b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be NN
nn b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be NN
nn b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be NN
nn b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be NN

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

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

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

- объясняет, как была организована проверка;
- высказывает свои впечатления о проверенных работах;
- обосновывает, выставленные оценки.

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

Результаты проверки высылаются по адресу
kurs@robotland.users.botik.ru
до 23.59 25 декабря  1999 года
(почтовый штемпель отправителя)
