Средства сравнения решений в проектно

advertisement
Молодежный инновационный форум Приволжского федерального округа
Конкурс научно-технического творчества молодежи (НТТМ)
Интернет-сайт: http://ify.ulstu.ru. Ульяновск, 2015 год
УДК 004.42
Средства сравнения решений в проектно-ориентированном
обучении
ФГБОУ ВПО «Ульяновский государственный технический университет»
Фолунин Владимир Александрович, студент
Негода Виктор Николаевич, д.т.н., доцент
Учебный процесс ряда дисциплин направления «Информатика и
вычислительная техника»
предполагает
выполнение студентами
лабораторных и контрольных работ. Такие работы, как правило,
подразумевают решение студентом тех или иных практических задач,
теоретическое описание которых представлено в программе дисциплины.
Специфика направления «Информатика и вычислительная техника»
такова, что в подавляющем большинстве случаев решение задачи
является программой для вычислительной машины (в частности –
персонального компьютера). Эта особенность, в свою очередь, позволяет
использовать системы автоматизированной проверки решений.
Общие принципы работы этих систем изложены в работах [4, 5].
Большинство подобных систем изначально предназначены для
организации соревнований по программированию, однако в последнее
время они всё чаще используются и непосредственно в учебном процессе
[1, 2, 6, 7, 10, 12]. Система автоматизированной проверки решений
повышает эффективность работы преподавателя, который физически не
способен обеспечить присущий ей уровень полноты проверки каждого
решения при ручном тестировании, особенно в рамках учебного занятия.
Возможность
повторного
использования
комплектов
задач,
масштабируемость и сравнительная простота управления процессом
проверки также положительным образом сказываются на эффективности
обучения.
Тем не менее, использование систем автоматизированной проверки
решений в учебном процессе сопряжено с рядом трудностей,
обусловленных изначальной ориентированностью данных систем на
олимпиадные мероприятия. К подобным трудностям можно отнести:
1. Примитивный уровень управления компиляцией решений (набор
компиляторов и опций компиляции, как правило, является фиксированным
и общим для всех задач);
2. Общую ориентацию на проверку решений, представленных одним
файлом исходного кода и транслирующихся в один исполняемый файл;
3. Отсутствие соглашений для разработчиков проверяющих
программ влекущее необходимость адаптации для конкретной системы
программ, разработанных ранее;
4. Невозможность указания взвешенных оценочных характеристик
для отдельных тестов и охват ограничениями на время выполнения и
используемую память всего набора тестов;
Молодежный инновационный форум Приволжского федерального округа
Конкурс научно-технического творчества молодежи (НТТМ)
Интернет-сайт: http://ify.ulstu.ru. Ульяновск, 2015 год
5. Достаточно слабую поддержку так называемых интерактивных
задач, в которых лицу, решающему задачу, изначально не доступен весь
объём информации, позволяющий выделить корректное решение.
Следует отметить, что приведённые ограничения в достаточно
равной степени имеют место для распространённых на сегодняшний день
систем автоматизированной проверки решений. В качестве типовой
системы автоматизированной проверки может рассматриваться система
[8]; опыт составления задач для данной системы суммирован в работе [9].
Целью настоящей работы является разработка средств сравнения
программных решений, которые позволяют применять критерии оценки, не
ограниченные одним конкретным форматом, и предоставляют автору
задачи возможности по управлению процессом компиляции решений.
В контексте данной работы под термином «задача» понимается
некоторая проблема, предполагающая алгоритмическое решение,
осуществляющее преобразование входных данных в выходные данные.
Характер этого преобразования описывается в условии задачи, которое
также содержит формализованное описание входных и выходных данных
и указание лимитов задачи. Тестовые данные задачи представлены
набором текстовых файлов. Каждый файл входных данных может
сопровождаться соответствующим файлом выходных данных; в этом
случае проверка корректности вывода решения участника может
производиться путём сравнения файла, в котором сохранены выходные
данные, сформированные решением участника, с файлом, содержащим
образец корректного вывода. В некоторых случаях набор текстовых
файлов, содержащих тестовые входные данные, может быть заменён
вспомогательной программой, осуществляющей создание такого набора, –
генератором тестов. Подробное рассмотрение прочих атрибутов задач
представлено в работе [11].
Предполагается, что разрабатываемые средства сравнения
решений будут функционировать в рамках системы организации проектноориентированного обучения. Для этой внешней системы можно
определить два основных прецедента, при которых она обращается к
разрабатываемой проверяющей системе: первый – подготовка задач к
приёму и проверке решений, второй – собственно проверка и оценка
решений задач. Среди действий, которые необходимо совершить системе
организации соревнований в каждом из описанных выше случаев, можно
выделить такие, которые относятся непосредственно к работе с
материалами задачи и решения. Глобально их можно разделить на две
группы: связанные с определением возможности компиляции и собственно
компиляцией, а также связанные с проверкой и оценкой решения.
Две указанные группы действий, с одной стороны, являются
независимыми, а с другой стороны, каждая из них вовлекает достаточно
большой комплекс взаимосвязанных сущностей и процессов. В связи с
этим в составе разрабатываемой проверяющей системы выделяются две
основные структурные части: подсистема компиляции и подсистема
тестирования. Система управления проектно-ориентированным обучением
обращается к подсистеме компиляции тогда, когда необходимо установить
Молодежный инновационный форум Приволжского федерального округа
Конкурс научно-технического творчества молодежи (НТТМ)
Интернет-сайт: http://ify.ulstu.ru. Ульяновск, 2015 год
возможность компиляции исходного кода в среде проверяющей системы и
произвести саму эту компиляцию. Обращение к подсистеме тестирования
происходит в тех случаях, когда требуется получить вердикт и протокол
проверки решения.
Центральную роль в работе подсистемы тестирования играют
проверяющие модули. Проверяющий модуль – объект, инкапсулирующий
функциональность оценки одного конкретного критериального параметра
сравнения решений, к которому можно обращаться независимо от других.
Один проверяющий модуль может контролировать отсутствие
ошибок времени выполнения при запуске решения, другой –
удовлетворение ограничений по времени выполнения, третий –
корректность выходных данных. Во время обработки каждого тестового
случая при проверке решения может быть задействован различный набор
проверяющих модулей.
Оценки различных проверяющих модулей являются независимыми
(однако в некоторых случаях отрицательный результат проверки одного
модуля может повлечь штраф применительно к тесту или всему процессу
тестирования). Все характеристики проверяющих модулей описываются в
JSON-файле, определяющем итоговый формат проверки.
Таким образом, с введением проверяющих моделей процесс оценки
решений, присущий тому или иному формату соревнования, теряет
монолитный характер и приобретает гибкость. Этот факт является
ключевым отличием разрабатываемой подсистемы тестирования от
существующих на сегодняшний день аналогов. Подсистему тестирования
в равной степени удобно использовать как для проведения проверок
существующих форматов, так и при организации различных проверок,
предполагающих ранее не применявшиеся способы сравнения решений и
методы оценки.
В рамках работы реализованы средства проверки, оценки и
сравнения решений в проектно-ориентированном обучении. Модульная
структура средств проверки отдельных критериев оценки позволяет
описывать различные форматы сравнения решений, конструируя итоговые
метрики из базовых проверяющих модулей.
Разработанная
проверяющая
система
успешно
фиксирует
различные виды ошибок в решениях задач. Вердикты разработанной
системы, аналогичные вердиктам существующих систем проверки
решений, позволяют сделать вывод о возможности применения
разработанной системы для проверки и ранжирования решений. Вместе с
тем, разработанные средства также предполагают возможность описания
оригинальных
форматов
сравнения
решений,
не
имеющих
распространённых аналогов, за счёт добавления сторонних модулей
проверки. Все виды описаний и спецификаций, используемых
разработанными средствами сравнения решений в соревнованиях по
программированию, представляются в текстовом формате, что упрощает
их анализ и редактирование.
Дальнейшее развитие настоящая работа может получить в рамках
исследования, тематику которого предлагается связать с выявлением и
Молодежный инновационный форум Приволжского федерального округа
Конкурс научно-технического творчества молодежи (НТТМ)
Интернет-сайт: http://ify.ulstu.ru. Ульяновск, 2015 год
классификацией тех учебных задач образовательных дисциплин
направления подготовки «Информатика и вычислительная техника», для
которых возможна организация проверки и сравнения решений в формате
некоторого соревнования по программированию. Подобное исследование
позволит существенно расширить область применения разработанной
системы проверки и сравнения решений.
Cписок литературы
1. Audrito G, Demo G. B., Giovannetti E. The Role of Contests in
Changing Informatics Education: A Local View // Olympiads in
Informatics. — 2012. — №6. — Pp. 3-20.
2. Kiryukhin V. M. Mutual influence of the national educational standard
and olympiad in informatics contents // Olympiads in Informatics. —
2010. — №4. — Pp. 15-29.
3. Kiryukhin V. M., Tsvetkova M. S. Strategy for ICT Skills Teachers and
Informatics Olympiad Coaches Development // Olympiads in
Informatics. — 2010. — №4. — Pp. 30-51.
4. Андреева Е. В. Принципы проверки учебных и олимпиадных задач
по информатике // Информатика. — 2001. — № 34. — С. 5-10.
5. Кирюхин В. М. Методика проведения и подготовки к участию в
олимпиадах по информатике. Всероссийская олимпиада
школьников. — 2-е изд. — М.: БИНОМ. Лаборатория знаний, 2012.
— 277 с.
6. Лапшов Ю. А., Негода В. Н., Фолунин В. А. Использование
технологий проведения соревнований по программированию в
учебном процессе // Всероссийская научно-практическая
конференция
«Электронное
обучение
в
непрерывном
образовании 2014»: сборник научных трудов. В 2 т. — Т. 1. —
Ульяновск: УлГТУ, 2014. — 356 с.
7. Матюхин
В.
А.
Преподавание
программирования
с
использованием систем автоматической проверки решений //
Информатика. — 2006. — № 18. — С. 27-29.
8. Система Contester [Электронный ресурс] // Contester. — Ковров,
2009. — Режим доступа: http://www.contester.ru/. — Загл. с экрана.
9. Фолунин
В.
А.
Опыт
подготовки
соревнований
по
программированию формата ACM ICPC // Информатика,
моделирование, автоматизация проектирования: сборник научных
трудов / под ред. Н. Н. Войта. — Ульяновск: УлГТУ, 2011. — 416 с.
10.
Фолунин
В.
А.
Особенности
применения
средств
автоматизированной
проверки
решений
в
проектноориентированном обучении // Информатика, моделирование,
автоматизация проектирования: сборник научных трудов / под
ред. П. И. Соснина. — Ульяновск: УлГТУ, 2013. — 227 с.
11.
Фолунин В. А. О спецификации задач турниров по
программированию, упрощающей повторное использование и
управление комплектами задач // Информатика, моделирование,
Молодежный инновационный форум Приволжского федерального округа
Конкурс научно-технического творчества молодежи (НТТМ)
Интернет-сайт: http://ify.ulstu.ru. Ульяновск, 2015 год
автоматизация проектирования: сборник научных трудов / под
ред. П. И. Соснина. — Ульяновск: УлГТУ, 2014
12.
Фолунин В. А. Применение в учебном процессе заданий с
автоматизированной
проверкой
на
стороне
клиента
//
Информатика и вычислительная техника: сборник научных трудов
/ под ред. П. И. Соснина. — Ульяновск: УлГТУ, 2014
Download