МЕТОДИКА ФОРМИРОВАНИЯ ЭТАЛОННЫХ НАБОРОВ ВХОДНЫХ И ВЫХОДНЫХ ДАННЫХ ДЛЯ АНАЛИЗА РЕЗУЛЬТАТОВ ВЫПОЛНЕНИЯ ЗАДАНИЙ С НЕРАЗРЕШИМЫМ МНОЖЕСТВОМ ПРАВИЛЬНЫХ ОТВЕТОВ
О.Е. Вашенков, А.В. Лямин
УДК 004.588
МЕТОДИКА ФОРМИРОВАНИЯ ЭТАЛОННЫХ НАБОРОВ ВХОДНЫХ И ВЫХОДНЫХ ДАННЫХ ДЛЯ АНАЛИЗА
РЕЗУЛЬТАТОВ ВЫПОЛНЕНИЯ ЗАДАНИЙ С НЕРАЗРЕШИМЫМ МНОЖЕСТВОМ ПРАВИЛЬНЫХ ОТВЕТОВ
О.Е. Вашенков, А.В. Лямин
В работе представлена структура системы AcademicNT, роль и функции виртуальных лабораторий и методы разработки эталонных наборов для качественной оценки результатов виртуального эксперимента. Исследование проводилось для виртуальной лаборатории по информатике. Такой подход может быть использован для любых виртуальных лабораторий. Ключевые слова: виртуальная лаборатория, информационно-образовательная среда, электронное обучение.
Введение
В рамках информационно-образовательной среды виртуальные лаборатории необходимы для формирования и проверки креативных навыков. В отличие от электронных тестов, задания виртуальных лабораторий имеют неразрешимое множество пра-
Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2009, № 3(61)
99
МЕТОДИКА ФОРМИРОВАНИЯ ЭТАЛОННЫХ НАБОРОВ ВХОДНЫХ …
вильных ответов. Для таких заданий нельзя описать правильный ответ конечным множеством или формальным выражением, например, в виде регулярных выражений. Электронные задания, выполненные по технологии виртуальных лабораторий, используются в различных дисциплинах, позволяя проводить эксперименты и контролировать методику их выполнения [1, 2]. Ярким примером использования данной технологии стал многостилевой редактор кода, который предназначен для проверки навыков реализации алгоритмов с возможностью кодирования на наиболее распространенных языках программирования [2–4].
Следует отличать виртуальные лаборатории от тренажеров и интерактивных демонстраций. Виртуальная лаборатория позволяет организовать автоматическую проверку. Тренажеры и демонстрации не предназначены для проверки заданий средствами информационно-образовательной среды.
Взаимодействие модулей системы AcademicNT
Компоненты виртуальной лаборатории активно взаимодействуют с модулями информационно-образовательной среды AcademicNT. При запросе задания клиенту передается интерактивный элемент лаборатории – апплет. После взаимодействия с апплетом пользователь отправляет ответ на сервер с помощью управляющих элементов HTMLстраницы. При этом используется язык сценариев JavaScript для получения данных из апплета и заполнения HTML-формы. Взаимодействие между клиентом и сервером организовано по протоколу HTTP, что накладывает ограничение на символы, используемые в ответе пользователя. Поэтому задача апплета – корректное экранирование ответа пользователя перед отправкой. Сервер перенаправляет HTTP-запрос веб-приложению, выполненному по технологии Java Servlet. Сервлет организует вызов хранимой процедуры на стороне системы управления базами данных (СУБД) и передает ей ответ пользователя. Процедура вызывает команду на стороне сервлета для отправки XML-сообщения на проверяющий сервер. Сообщение содержит ответ пользователя и эталонные данные. Вместе с командой на проверку сервлету передается ряд дополнительных переменных и список процедур, которые требуется вызвать после проверки. Проверяющий сервер осуществляет проверку для каждой пары эталонных наборов и возвращает результат сервлету в форме XML-сообщения. Взаимодействие между сервлетом и проверяющим сервером происходит по протоколу RLCP (Remote Laboratory Control Protocol – протокол управления удаленной лабораторией) [4]. После получения ответа сервлет разбирает XML-ответ и последовательно вызывает хранимые процедуры для занесения результатов проверки. Связи между модулями представлены на рис. 1.
Аплет (Лабораторный
стенд)
Веб-сервер
JavaScript
Сервлет (Java Servlet)
СУБД (Хранимые
функции
Oracle)
HTML-форма
Проверяющий сервер
Рис. 1. Схема взаимодействия модулей информационно-образовательной среды
100
Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2009, № 3(61)
О.Е. Вашенков, А.В. Лямин
Технология виртуальных лабораторий
В общем случае ответ на задание виртуальной лаборатории содержит описание некоторой системы с определенным набором входов и выходов. Эта система конструируется в соответствии с заданием на специализированном виртуальном стенде из объектов и отношений предметной области. Знание о правильном ответе может быть представлено в виде пар эталонных наборов входных и выходных данных. Для оценки правильности ответа необходимо получить реакцию описанной системы на заданном наборе входных данных и сравнить ее с соответствующим эталонным набором выходных данных. Совпадение реакции системы с эталонным набором выходных данных будет свидетельствовать о правильности ответа. Для получения реакции системы, описанной в ответе, на заданном наборе входных данных используется специализированная виртуальная машина. Организация взаимодействия виртуального стенда и виртуальной машины, входящих в состав лаборатории, формирование заданий, эталонных наборов входных и выходных данных, протоколирование выполненных действий и полученных результатов – функции информационно-образовательной среды.
Для удобства разработки проверяющих серверов лабораторий был создан каркас, в котором организовано взаимодействие с системой AcademicNT, обработка RLCP-запросов и формирование RLCP-ответов. Основными требованиями для авторов виртуальных лабораторий является разработка лабораторного стенда (апплета), алгоритмов проверки ответа и XML-описаний сценария, заданий и установки в формате AcedemicRM. От лабораторного стенда требуется только поддержка метода для получения ответа испытуемого в текстовом виде.
Использование каркаса для разработки проверяющего сервера позволяет абстрагироваться от низкоуровневой сетевой передачи и протокола RLCP, фокусируя внимание только на алгоритмах проверки.
С помощью эталонных наборов автор описывает соответствие между заданными входными и выходными данными. Задача проверяющего сервера – установить эталонные входные данные перед выполнением работы, а после выполнения сверить эталон с данными, полученными в ходе автоматического эксперимента. Эталонные наборы должны быть описаны для каждого задания отдельной виртуальной лабораторной работы. Автор может разработать один и более наборов. Итоговая оценка за задание устанавливается системой как процент успешно пройденных наборов.
Эталонные наборы представляются в XML-описании как текстовые данные. Например, если требуется перечислить последовательность целых чисел, набор может выглядеть следующим образом: 0 1 12 15 3 4 5 8. Программный модуль проверяющего сервера получает эту строку, а ее интерпретация – задача автора лаборатории. Например, в виртуальной лаборатории «Многостилевой редактор кода» допустимыми являются следующие эталонные наборы:
целочисленный массив: a=[0, 1, 2, 3, 4, 5]; строковая переменная: b="answer"; вещественная переменная с допустимой ошибкой – 10%: c{10%}="1.2E+3".
Задача проверяющего сервера – корректно разобрать входные данные и произвести сравнение эталонных выходных данных со значениями, полученными в результате выполнения программы испытуемого.
Разработка эталонных наборов
Виртуальная лаборатория по информатике была разработана для проведения единого государственного экзамена по информатике в компьютерной форме. Цель работы
Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2009, № 3(61)
101
МЕТОДИКА ФОРМИРОВАНИЯ ЭТАЛОННЫХ НАБОРОВ ВХОДНЫХ …
– проверка навыка испытуемых в разработке алгоритмов решения стандартных задач. Далее будут рассмотрены особенности данной виртуальной лаборатории и методика формирования эталонных данных. Сложности в составлении эталонных наборов заключаются в выборе необходимых и достаточных данных для полноценной проверки работы. Например, при наличии одного эталонного набора оценка работы сводится к двоичному «правильно»/»неправильно», для более детальной дифференциации оценки требуется провести анализ влияния входных данных на выполнение программы, разработанной испытуемым.
В качестве примера рассмотрим типовые задачи по информатике – поиск минимума и сортировка массива. Первая задача звучит следующим образом: найти индекс последнего минимального элемента в целочисленном массиве из десяти элементов. На рис. 2 представлен интерфейс виртуальной лаборатории по информатике с решением задачи и использованием стиля кодирования, аналогичного языку С.
Рис. 2. Решение задачи о поиске минимума в массиве
В приведенных ниже примерах переменная a принадлежит набору входных данных, а b – эталонным выходным данным. В самом простом случае проверка может быть организована на основе одного набора:
a=[10, 10, 10, 10, 10, 1, 10, 10, 10, 10] b=5 В таком случае не учитывается вариант, когда программа некорректно обрабатывает граничные случаи. Такие случаи могут быть связаны с ошибками в операторах управления (условия, циклы). В данной программе таких оператора два. В инварианте цикла может быть допущена ошибка в условии или при инициализации переменной цикла. В таком случае может возникнуть исключение времени выполнения (выход за границы массива) или пропуск крайних элементов. Исключение времени выполнения в данной работе может быть обнаружено при локальной отладке программы в среде редактора кода. Пропуск крайних элементов найти сложнее, и программа в таком случае может считаться «частично» рабочей. Для проверки можно добавить два дополнительных набора:
102
Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2009, № 3(61)
О.Е. Вашенков, А.В. Лямин
a=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] b=0
a=[1, 2, 3, 4, 5, 6, 7, 8, 9, 0] b=9 По заданию требовалось найти последний минимальный элемент. Ошибка в опе-
раторе условия может привести к нахождению первого из минимальных элементов.
Для проверки этого условия требуется добавить следующий набор:
a=[0, 1, 2, 3, 4, 5, 6, 7, 8, 0] b=9 Таким образом, вместо двоичной оценки было получено четыре критерия для
проверки.
Вторая задача звучит следующим образом: отсортировать целочисленный массив из десяти элементов по возрастанию. Решение задачи с использованием стиля языка С
можно записать следующим образом:
i = 0; j = 0;
while( i < 10 ){
j = j + 1; while( j < 10 ){
if( b[j] < b[i] ){ t = b[j]; b[j] = b[i];
} j++; } i++;
b[i] = t;
}
Наиболее простой случай проверки можно описать одним набором:
a=[0, 1, 2, 4, 3, 5, 6, 7, 8, 9] b=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Данная программа содержит три оператора управления, следовательно, дополни-
тельные эталонные наборы позволят обнаружить ошибки, связанные с этими операто-
рами. Первый оператор – цикл с предусловием. Ошибка в инициализации переменной
цикла или в операторе условия может привести к пропуску граничных элементов мас-
сива. Второй оператор также представляет собой цикл с предусловием, и инвариант
цикла может сказаться на пропуске граничных элементов. Ошибка в записи третьего
оператора условия может привести к обратному порядку сортировки или к лишним
операциям обмена. Последнее сложно проверить, так как для таких простых программ
разница во времени будет незначительной.
Для проверки инварианта первого цикла можно использовать следующий набор:
a=[1, 0, 2, 3, 4, 5, 6, 7, 8, 9] b=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Инвариант второго цикла влияет на обработку граничных элементов справа. Для
проверки требуется следующий набор:
a=[0, 1, 2, 3, 9, 4, 5, 6, 7, 8] b=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Если автор лаборатории примет решение, что сортировка в порядке, обратном за-
данию, также является верной, можно добавить набор для проверки оператора условия:
a=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] b=[9, 8, 7, 6, 5, 4, 3, 2, 1, 0] Таким образом, для дифференцирования оценки можно использовать четыре эта-
лонных набора вместо одного для выявления некритических ошибок в алгоритмах.
Заключение
Одним из основных достоинств среды AcademicNT является наличие встроенного механизма для построения виртуальных лабораторий, которые необходимы для формирования и проверки навыков. В данной статье приведены схема взаимодействия модулей информационно-образовательной среды, принципы функционирования виртуальных лабораторий, требования к оформлению эталонных наборов данных и методика
Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2009, № 3(61)
103
МЕТОДИКА ФОРМИРОВАНИЯ ЭТАЛОННЫХ НАБОРОВ ВХОДНЫХ …
разработки эталонных наборов для наиболее точного оценивания результатов виртуальных экспериментов.
Основные результаты статьи проиллюстрированы на примере виртуальной лаборатории «Многостилевой редактор кода», которая предназначена для проверки навыков реализации алгоритмов с возможностью кодирования на наиболее распространенных языках программирования.
Представленные в статье результаты прошли апробацию и продемонстрировали свою эффективность в ходе реализации следующих проектов:
система дистанционного обучения СПбГУ ИТМО (http://de.ifmo.ru);
система для проведения Интернет-олимпиад и экзаменов (http://de.ifmo.ru/exam). Рассмотренный подход к разработке проверяющих наборов и виртуальная лабо-
ратория используются в электронном курсе «Информатика». Использование дополнительных эталонных наборов позволило более точно оценить навыки студентов.
Литература
1. Вашенков О.Е., Лямин А.В., Тарлыков В.А. Оценивание результатов обучения в среде электронного учебно-методического комплекса по дисциплине «Когерентная оптика» // Оптика и образование – 2006: Сб. трудов конф. – СПб: СПбГУ ИТМО, 2006. – С. 70–71.
2. Васильев В.Н., Лисицына Л.С., Лямин А.В. Технология проведения ЕГЭ по информатике в компьютерной форме // Научно-технический вестник СПбГУ ИТМО. – 2007. – Выпуск 45. – С. 126–143.
3. Васильев В.Н., Лисицына Л.С., Лямин А.В. Сетевая технология проведения вступительных испытаний по информатике в режиме on-line // В сб.: Использование информационно-коммуникационных технологий в процессе оценки качества образования. – СПб, 2008. – С. 55–70.
4. Вашенков О.Е., Лямин А.В. Технология разработки виртуальных лабораторий в информационно-образовательной среде AcademicNT на примере работы по информатике // Проблемы разработки учебно-методического обеспечения перехода на двухуровневую систему в инженерном образовании: Материалы межвуз. н.-метод. конф. –– М.: МИСиС, 2008. – С. 239–249.
Вашенков Олег Евгеньевич Лямин Андрей Владимирович
– Санкт-Петербургский государственный университет информационных технологий, механики и оптики, программист,
vashenkov@cde.ifmo.ru – Санкт-Петербургский государственный университет информа-
ционных технологий, механики и оптики, кандидат технических наук, доцент, lyamin@mail.ifmo.ru
104
Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2009, № 3(61)
УДК 004.588
МЕТОДИКА ФОРМИРОВАНИЯ ЭТАЛОННЫХ НАБОРОВ ВХОДНЫХ И ВЫХОДНЫХ ДАННЫХ ДЛЯ АНАЛИЗА
РЕЗУЛЬТАТОВ ВЫПОЛНЕНИЯ ЗАДАНИЙ С НЕРАЗРЕШИМЫМ МНОЖЕСТВОМ ПРАВИЛЬНЫХ ОТВЕТОВ
О.Е. Вашенков, А.В. Лямин
В работе представлена структура системы AcademicNT, роль и функции виртуальных лабораторий и методы разработки эталонных наборов для качественной оценки результатов виртуального эксперимента. Исследование проводилось для виртуальной лаборатории по информатике. Такой подход может быть использован для любых виртуальных лабораторий. Ключевые слова: виртуальная лаборатория, информационно-образовательная среда, электронное обучение.
Введение
В рамках информационно-образовательной среды виртуальные лаборатории необходимы для формирования и проверки креативных навыков. В отличие от электронных тестов, задания виртуальных лабораторий имеют неразрешимое множество пра-
Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2009, № 3(61)
99
МЕТОДИКА ФОРМИРОВАНИЯ ЭТАЛОННЫХ НАБОРОВ ВХОДНЫХ …
вильных ответов. Для таких заданий нельзя описать правильный ответ конечным множеством или формальным выражением, например, в виде регулярных выражений. Электронные задания, выполненные по технологии виртуальных лабораторий, используются в различных дисциплинах, позволяя проводить эксперименты и контролировать методику их выполнения [1, 2]. Ярким примером использования данной технологии стал многостилевой редактор кода, который предназначен для проверки навыков реализации алгоритмов с возможностью кодирования на наиболее распространенных языках программирования [2–4].
Следует отличать виртуальные лаборатории от тренажеров и интерактивных демонстраций. Виртуальная лаборатория позволяет организовать автоматическую проверку. Тренажеры и демонстрации не предназначены для проверки заданий средствами информационно-образовательной среды.
Взаимодействие модулей системы AcademicNT
Компоненты виртуальной лаборатории активно взаимодействуют с модулями информационно-образовательной среды AcademicNT. При запросе задания клиенту передается интерактивный элемент лаборатории – апплет. После взаимодействия с апплетом пользователь отправляет ответ на сервер с помощью управляющих элементов HTMLстраницы. При этом используется язык сценариев JavaScript для получения данных из апплета и заполнения HTML-формы. Взаимодействие между клиентом и сервером организовано по протоколу HTTP, что накладывает ограничение на символы, используемые в ответе пользователя. Поэтому задача апплета – корректное экранирование ответа пользователя перед отправкой. Сервер перенаправляет HTTP-запрос веб-приложению, выполненному по технологии Java Servlet. Сервлет организует вызов хранимой процедуры на стороне системы управления базами данных (СУБД) и передает ей ответ пользователя. Процедура вызывает команду на стороне сервлета для отправки XML-сообщения на проверяющий сервер. Сообщение содержит ответ пользователя и эталонные данные. Вместе с командой на проверку сервлету передается ряд дополнительных переменных и список процедур, которые требуется вызвать после проверки. Проверяющий сервер осуществляет проверку для каждой пары эталонных наборов и возвращает результат сервлету в форме XML-сообщения. Взаимодействие между сервлетом и проверяющим сервером происходит по протоколу RLCP (Remote Laboratory Control Protocol – протокол управления удаленной лабораторией) [4]. После получения ответа сервлет разбирает XML-ответ и последовательно вызывает хранимые процедуры для занесения результатов проверки. Связи между модулями представлены на рис. 1.
Аплет (Лабораторный
стенд)
Веб-сервер
JavaScript
Сервлет (Java Servlet)
СУБД (Хранимые
функции
Oracle)
HTML-форма
Проверяющий сервер
Рис. 1. Схема взаимодействия модулей информационно-образовательной среды
100
Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2009, № 3(61)
О.Е. Вашенков, А.В. Лямин
Технология виртуальных лабораторий
В общем случае ответ на задание виртуальной лаборатории содержит описание некоторой системы с определенным набором входов и выходов. Эта система конструируется в соответствии с заданием на специализированном виртуальном стенде из объектов и отношений предметной области. Знание о правильном ответе может быть представлено в виде пар эталонных наборов входных и выходных данных. Для оценки правильности ответа необходимо получить реакцию описанной системы на заданном наборе входных данных и сравнить ее с соответствующим эталонным набором выходных данных. Совпадение реакции системы с эталонным набором выходных данных будет свидетельствовать о правильности ответа. Для получения реакции системы, описанной в ответе, на заданном наборе входных данных используется специализированная виртуальная машина. Организация взаимодействия виртуального стенда и виртуальной машины, входящих в состав лаборатории, формирование заданий, эталонных наборов входных и выходных данных, протоколирование выполненных действий и полученных результатов – функции информационно-образовательной среды.
Для удобства разработки проверяющих серверов лабораторий был создан каркас, в котором организовано взаимодействие с системой AcademicNT, обработка RLCP-запросов и формирование RLCP-ответов. Основными требованиями для авторов виртуальных лабораторий является разработка лабораторного стенда (апплета), алгоритмов проверки ответа и XML-описаний сценария, заданий и установки в формате AcedemicRM. От лабораторного стенда требуется только поддержка метода для получения ответа испытуемого в текстовом виде.
Использование каркаса для разработки проверяющего сервера позволяет абстрагироваться от низкоуровневой сетевой передачи и протокола RLCP, фокусируя внимание только на алгоритмах проверки.
С помощью эталонных наборов автор описывает соответствие между заданными входными и выходными данными. Задача проверяющего сервера – установить эталонные входные данные перед выполнением работы, а после выполнения сверить эталон с данными, полученными в ходе автоматического эксперимента. Эталонные наборы должны быть описаны для каждого задания отдельной виртуальной лабораторной работы. Автор может разработать один и более наборов. Итоговая оценка за задание устанавливается системой как процент успешно пройденных наборов.
Эталонные наборы представляются в XML-описании как текстовые данные. Например, если требуется перечислить последовательность целых чисел, набор может выглядеть следующим образом: 0 1 12 15 3 4 5 8. Программный модуль проверяющего сервера получает эту строку, а ее интерпретация – задача автора лаборатории. Например, в виртуальной лаборатории «Многостилевой редактор кода» допустимыми являются следующие эталонные наборы:
целочисленный массив: a=[0, 1, 2, 3, 4, 5]; строковая переменная: b="answer"; вещественная переменная с допустимой ошибкой – 10%: c{10%}="1.2E+3".
Задача проверяющего сервера – корректно разобрать входные данные и произвести сравнение эталонных выходных данных со значениями, полученными в результате выполнения программы испытуемого.
Разработка эталонных наборов
Виртуальная лаборатория по информатике была разработана для проведения единого государственного экзамена по информатике в компьютерной форме. Цель работы
Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2009, № 3(61)
101
МЕТОДИКА ФОРМИРОВАНИЯ ЭТАЛОННЫХ НАБОРОВ ВХОДНЫХ …
– проверка навыка испытуемых в разработке алгоритмов решения стандартных задач. Далее будут рассмотрены особенности данной виртуальной лаборатории и методика формирования эталонных данных. Сложности в составлении эталонных наборов заключаются в выборе необходимых и достаточных данных для полноценной проверки работы. Например, при наличии одного эталонного набора оценка работы сводится к двоичному «правильно»/»неправильно», для более детальной дифференциации оценки требуется провести анализ влияния входных данных на выполнение программы, разработанной испытуемым.
В качестве примера рассмотрим типовые задачи по информатике – поиск минимума и сортировка массива. Первая задача звучит следующим образом: найти индекс последнего минимального элемента в целочисленном массиве из десяти элементов. На рис. 2 представлен интерфейс виртуальной лаборатории по информатике с решением задачи и использованием стиля кодирования, аналогичного языку С.
Рис. 2. Решение задачи о поиске минимума в массиве
В приведенных ниже примерах переменная a принадлежит набору входных данных, а b – эталонным выходным данным. В самом простом случае проверка может быть организована на основе одного набора:
a=[10, 10, 10, 10, 10, 1, 10, 10, 10, 10] b=5 В таком случае не учитывается вариант, когда программа некорректно обрабатывает граничные случаи. Такие случаи могут быть связаны с ошибками в операторах управления (условия, циклы). В данной программе таких оператора два. В инварианте цикла может быть допущена ошибка в условии или при инициализации переменной цикла. В таком случае может возникнуть исключение времени выполнения (выход за границы массива) или пропуск крайних элементов. Исключение времени выполнения в данной работе может быть обнаружено при локальной отладке программы в среде редактора кода. Пропуск крайних элементов найти сложнее, и программа в таком случае может считаться «частично» рабочей. Для проверки можно добавить два дополнительных набора:
102
Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2009, № 3(61)
О.Е. Вашенков, А.В. Лямин
a=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] b=0
a=[1, 2, 3, 4, 5, 6, 7, 8, 9, 0] b=9 По заданию требовалось найти последний минимальный элемент. Ошибка в опе-
раторе условия может привести к нахождению первого из минимальных элементов.
Для проверки этого условия требуется добавить следующий набор:
a=[0, 1, 2, 3, 4, 5, 6, 7, 8, 0] b=9 Таким образом, вместо двоичной оценки было получено четыре критерия для
проверки.
Вторая задача звучит следующим образом: отсортировать целочисленный массив из десяти элементов по возрастанию. Решение задачи с использованием стиля языка С
можно записать следующим образом:
i = 0; j = 0;
while( i < 10 ){
j = j + 1; while( j < 10 ){
if( b[j] < b[i] ){ t = b[j]; b[j] = b[i];
} j++; } i++;
b[i] = t;
}
Наиболее простой случай проверки можно описать одним набором:
a=[0, 1, 2, 4, 3, 5, 6, 7, 8, 9] b=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Данная программа содержит три оператора управления, следовательно, дополни-
тельные эталонные наборы позволят обнаружить ошибки, связанные с этими операто-
рами. Первый оператор – цикл с предусловием. Ошибка в инициализации переменной
цикла или в операторе условия может привести к пропуску граничных элементов мас-
сива. Второй оператор также представляет собой цикл с предусловием, и инвариант
цикла может сказаться на пропуске граничных элементов. Ошибка в записи третьего
оператора условия может привести к обратному порядку сортировки или к лишним
операциям обмена. Последнее сложно проверить, так как для таких простых программ
разница во времени будет незначительной.
Для проверки инварианта первого цикла можно использовать следующий набор:
a=[1, 0, 2, 3, 4, 5, 6, 7, 8, 9] b=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Инвариант второго цикла влияет на обработку граничных элементов справа. Для
проверки требуется следующий набор:
a=[0, 1, 2, 3, 9, 4, 5, 6, 7, 8] b=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Если автор лаборатории примет решение, что сортировка в порядке, обратном за-
данию, также является верной, можно добавить набор для проверки оператора условия:
a=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] b=[9, 8, 7, 6, 5, 4, 3, 2, 1, 0] Таким образом, для дифференцирования оценки можно использовать четыре эта-
лонных набора вместо одного для выявления некритических ошибок в алгоритмах.
Заключение
Одним из основных достоинств среды AcademicNT является наличие встроенного механизма для построения виртуальных лабораторий, которые необходимы для формирования и проверки навыков. В данной статье приведены схема взаимодействия модулей информационно-образовательной среды, принципы функционирования виртуальных лабораторий, требования к оформлению эталонных наборов данных и методика
Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2009, № 3(61)
103
МЕТОДИКА ФОРМИРОВАНИЯ ЭТАЛОННЫХ НАБОРОВ ВХОДНЫХ …
разработки эталонных наборов для наиболее точного оценивания результатов виртуальных экспериментов.
Основные результаты статьи проиллюстрированы на примере виртуальной лаборатории «Многостилевой редактор кода», которая предназначена для проверки навыков реализации алгоритмов с возможностью кодирования на наиболее распространенных языках программирования.
Представленные в статье результаты прошли апробацию и продемонстрировали свою эффективность в ходе реализации следующих проектов:
система дистанционного обучения СПбГУ ИТМО (http://de.ifmo.ru);
система для проведения Интернет-олимпиад и экзаменов (http://de.ifmo.ru/exam). Рассмотренный подход к разработке проверяющих наборов и виртуальная лабо-
ратория используются в электронном курсе «Информатика». Использование дополнительных эталонных наборов позволило более точно оценить навыки студентов.
Литература
1. Вашенков О.Е., Лямин А.В., Тарлыков В.А. Оценивание результатов обучения в среде электронного учебно-методического комплекса по дисциплине «Когерентная оптика» // Оптика и образование – 2006: Сб. трудов конф. – СПб: СПбГУ ИТМО, 2006. – С. 70–71.
2. Васильев В.Н., Лисицына Л.С., Лямин А.В. Технология проведения ЕГЭ по информатике в компьютерной форме // Научно-технический вестник СПбГУ ИТМО. – 2007. – Выпуск 45. – С. 126–143.
3. Васильев В.Н., Лисицына Л.С., Лямин А.В. Сетевая технология проведения вступительных испытаний по информатике в режиме on-line // В сб.: Использование информационно-коммуникационных технологий в процессе оценки качества образования. – СПб, 2008. – С. 55–70.
4. Вашенков О.Е., Лямин А.В. Технология разработки виртуальных лабораторий в информационно-образовательной среде AcademicNT на примере работы по информатике // Проблемы разработки учебно-методического обеспечения перехода на двухуровневую систему в инженерном образовании: Материалы межвуз. н.-метод. конф. –– М.: МИСиС, 2008. – С. 239–249.
Вашенков Олег Евгеньевич Лямин Андрей Владимирович
– Санкт-Петербургский государственный университет информационных технологий, механики и оптики, программист,
vashenkov@cde.ifmo.ru – Санкт-Петербургский государственный университет информа-
ционных технологий, механики и оптики, кандидат технических наук, доцент, lyamin@mail.ifmo.ru
104
Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2009, № 3(61)