Инновации в образовании Вестник Нижегородского университета им. Н.И. Лобачевского, 2014, № 3 (4), с. 67-70
УДК 519.2
АВТОМАТИЧЕСКАЯ ГЕНЕРАЦИЯ ТЕСТОВ ПО КУРСУ ТЕОРИИ ВЕРОЯТНОСТЕЙ
© 2014 г. А.В. Зорин
Нижегородский госуниверситет им. Н.И. Лобачевского
Поступила в редакцию 12.11.2014
Описывается опыт разработки программного комплекса для автоматической генерации тестовых заданий для студентов по курсу теории вероятностей. Приводятся примеры тестовых задач.
Ключевые слова: тестирование знаний студентов, автоматическая генерация тестов, теория вероятностей.
1. Постановка задачи и описание программного комплекса
Курс теории вероятностей и математической статистики входит в программы многих специальностей физико-математического профиля. К основным целям изучения этого курса можно отнести: 1) ознакомление с основными понятиями теории вероятностей и математической статистики и 2) развитие вероятностной интуиции [1]. Одной из форм текущей проверки знаний студентов являются контрольные и тестовые работы. Различие между контрольной работой и тестовой работой состоит в том, что контрольная работа предполагает решение задач студентами и проверку хода решения преподавателем, а тестовая работа - выбор студентом в каждом задании одного или нескольких ответов из списка. Это принципиальное различие между тестами и контрольными работами нашло отражение в подавляющем предпочтении тестовых работ при создании курсов дистанционного обучения и дистанционного тестирования знаний в вузах.
При разработке тестовых заданий или заданий для контрольной работы преподаватель готовит несколько вариантов вопросов на каждый тип задач. При включении в контрольную или тестовую работу около десяти задач разработка каждого дополнительного варианта становится времяза-тратной операцией. Преподаватель обязан удостовериться, что задача в новом варианте по сложности решения совпадает с задачами из других вариантов, при этом «внешний вид» задачи не позволяет списать ее решение у соседа, выполняющего другой вариант. Для теста необходимо также придумать правдоподобные, но ошибочные ответы. Правильные ответы должны быть расположены так, чтобы студент не мог выбирать их только по
их положению в списке. Особенностью заданий по естественно-научным дисциплинам является наличие специальных графических элементов — формул. Создание раздаточных материалов (листочки с заданием), таким образом, требует дополнительного времени.
Нашей целью было создание программного комплекса, облегчающего разработку вариантов тестовых работ по курсу теории вероятностей и оформление раздаточных материалов. Комплекс состоит из двух блоков: 1) блок генерации тестовых заданий; 2) блок генерации раздаточных материалов.
Генерация тестовых заданий производится разработанной нами программой на языке программирования Common Lisp [2]. В результате работы программы получается текстовый файл, пригодный для обработки в издательской системе LaTeX [3]. В результате обработки файла LaTeX получается файл PDF, содержащий математические формулы высокого качества.
Рассмотрим более подробно программу — генератор заданий. Нами был применен объектно-ориентированный анализ предметной области. Предварительный анализ задач по теории вероятностей позволил выделить несколько типов задач, для которых оказалось возможным сформулировать их шаблон. Конкретные примеры шаблонов будут рассмотрены в следующем разделе. Каждая задача позволяет проверить знание конкретной формулы теории вероятностей (например, классической формулы вычисления вероятности, формулы полной вероятности, формулы математического ожидания дискретной случайной величины и т.д.) либо конкретного определения (например, независимость событий, несовместность событий, плотность распределения и т.д.).
Был выделен базовый класс ЗАДАЧА, у которого есть члены ТЕКСТ_ЗАДАЧИ и список ВАРИАНТЫ_ОТВЕТА и есть метод ПЕЧАТЬ. Каждая типовая задача представлена наследным классом, который переопределяет только конструктор класса. Конструктор с помощью датчика случайных чисел подстановкой в шаблон ключевых слов формирует содержимое ТЕКСТ_ЗАДАЧИ и также подстановкой в соответствующие шаблоны создает элементы списка ВАРИАНТЫ_ОТВЕТА. В некоторых случаях были предложены несколько типовых задач на одну формулу или на одно понятие. Таким образом, один тест оказалось возможным представить в виде структуры данных Lisp СПИСОК (list), причём элементами этого списка являются либо символы - имена классов разнотипных задач, либо списки символов - имён классов однотипных задач. Например, список вида
(list 'outcome-1 (list 'classic-1 classic-2) 'geom-1 'dep-1) означает, что первый вопрос теста у разных студентов будет генерироваться по одному шаблону (класс outcome-1), как и третий (класс geom-1), и четвёртый (класс dep-1), а второй вопрос теста имеет две альтернативных формулировки на одну формулу (классы classic-1 и classic-2).
Пусть список заданий содержится в переменной 1st. Программа генерации файла для LaTeX выполняет следующие шаги.
Шаг 1. Вывести преамбулу документа LaTeX.
Шаг 2. Для создания нового варианта теста вывести команды LaTeX для печати шапки листа с тестом.
Шаг 3. Для каждого элемента из списка 1st: если элемент — символ, то создать объект класса с этим именем и вызвать метод ПЕЧАТЬ для этого объекта, а если элемент — подсписок, то выбрать случайный элемент из подсписка, и проделать упомянутые только что операции с этим символом:
(dolist (elt lst) (print-question
(make-instance (if (consp elt) (one-of elt) elt))) (функция print-question реализует метод ПЕЧАТЬ; утилита one-of возвращает случайный элемент из списка).
При создании объекта конструктор класса автоматически генерирует новый текст задания.
Шаг 4. Если нужное число вариантов не достигнуто, вернуться на шаг 2.
Заметим, что выбор языка программирования Common Lisp был обусловлен несколькими причинами. Во-первых, наличие таких элементов языка, как символ, структура данных, список и системы классов, ускорило разработку ядра программы. Во-вторых, в этом языке встроена поддержка рациональных чисел, которые часто выступают в качестве точных значений вероятностей. В-третьих, возможным направлением развития данного программного комплекса является его интеграция с системами компьютерной алгебры (также называемыми системами символьных вычислений). В настоящее время популярной бесплатной системой компьютерной алгебры является система MAXIMA [4], разработка которой ведется с 1982 года на языке программирования Common Lisp. Упомянем в связи с этим успешный проект STACK (System for teaching and assessment using a computer algebra kernel - система для преподавания и оценки с использованием ядра компьютерной алгебры) [5], интегрирующий систему компьютерной алгебры MAXIMA и среду оценки знаний Moodle.
2. Некоторые типы задач
Классическая и геометрическая вероятность. Типовой является следующая задача на выбор предмета наудачу: «В коробке лежат a красных и b синих карандашей. Наудачу вытаскивают один карандаш. С какой вероятностью карандаш красный?». Решение задачи заключается в правильном выборе элементарных исходов (конкретных карандашей) и применении классической формулы a/(a + b) . Различные варианты задания получаются путем генерации целых натуральных значений a и b датчиком псевдослучайных чисел. Альтернативными (неверными) ответами являются следующие: 1) «1/2, так как он либо красный, либо синий»; 2) 1/a ; 3) 1/(a + b). Все три неверных варианта нам доводилось слышать от студентов на практических занятиях вместе с правдоподобным обоснованием: «нам ведь нужен один карандаш» (в вариантах 2 и 3). Поэтому работа над ошибками после выбора любого из этих неверных вариантов поможет студенту правильно понять условия применения классической формулы. Задачи на геометрический способ вычисления вероятностей демонстрируют другой важный класс вероятностных моделей с несчетным числом элементарных исходов. Нами в тест включена следующая типовая задача: «В a радиуса R наудачу выбирается точка. С какой вероятностью точка лежит на расстоянии не
Автоматическая генерация тестов по курсу теории вероятностей
69
больше Я/3 от Ь?». Здесь параметр а задает фигуру (круг или шар), радиус Я случайным образом выбирается равным 1 либо 2, параметр Ь с равной вероятностью принимает значение «центра» либо «границы». Заметим, что ответ не зависит от значения Я. Правдоподобные неправильные ответы включают вариант 1/3 или 2/3, подразумевающий выбор точки не в круге или сфере, а на отрезке. Выбор такого неправильного ответа наблюдался нами в ходе реального тестирования, что может свидетельствовать о формальном, не осознанном заучивании формулы геометрической вероятности студентом. Также предлагался неправильный ответ, исходивший из вероятности противоположного события («точка лежит на расстоянии больше Я/3»).
Ь. Независимость случайных событий. Несложно проверить, что при однократном подбрасывании кубика независимыми могут быть только события Е1 = Щ и Б2 и Е2 = Б2 и Б3 с попарно непересекающимися множествами Бь Б2, Б3, для которых либо |А| = |Б2| = 1 и |Б3| = 2, либо = 2 и |Щ = |Бз| = 1, либо |Д| = Щ = 2 и |Б3| = 1, либо |А| = 1 и |Б2| = |Б3| = 2. Используя этот шаблон, нетрудно случайным образом выбрать непересекающиеся множества Б2, Б3, выбрать наудачу два символа из трех символов А, В, С для событий Е] и Е2 и затем добавить к этим двум событиям третье событие с оставшимся именем из А, В, С, чтобы оно было заведомо зависимо с первыми двумя событиями.
Простые случайные величины. Рассмотрим две задачи. «В коробке лежат а белых и Ь коричневых шаров. Наудачу, а) без возвращения либо Р) с возвращением, берут два шара. Случайная величина X равна числу белых шаров среди взятых. Ее закон распределения имеет вид:» <далее идут варианты ответов>. Приводимые варианты ответов имеют вид арифметических выражений. Структура этих выражений отражает некоторые правила вычисления вероятностей (классическая формула, правило сложения) и должна подсказать студенту верный вариант ответа. Вычисление предлагаемых выражений студентом не предполагается. Задачи различаются способом выбора предметов: с возвращением или без возвращения. При прочих равных условиях правильный ответ к одной задаче является «правдоподобным» неправиль-
ным ответом к другой задаче. Например, при а = 3 и Ь = 5 варианты ответа будут следующими (строка два для варианта с возвращением, строка три - без возвращения):
x 0 1 2
P(X = x) (5-5)/(8-8) 2-(5-3)/(8-8) (3-3)/(8-8)
P(X = x) (5-4)/(8-7) 2-(5-3)/(8-7) (3-2)/(8-7)
На практике текст задачи дополнялся заданием написать арифметическое выражение для математического ожидания и дисперсии данной случайной величины. Предполагалось, что студент должен уметь записать соответствующие формулы для данного ряда распределения с точки зрения их структуры, а не результата. В этом случае появляется возможность проверки знания формул как таковых и положительной оценки правильно записанных формул даже для неверной таблицы с рядом распределения. Наконец, большое количество однотипных и одновременно уникальных заданий получалось путем выбора наудачу пары цветов (черный и красный, желтый и синий и т.д.) и наименований предметов (шары, карандаши, кубики и т.д.).
Аналогичные способы выбора похожих задач применялись при построении прочих заданий. Были также разработаны задания по следующим темам: описание элементарных исходов, несовместные события, повторные независимые испытания, предельные теоремы Муавра-Лапласа и Пуассона, независимость и частные законы распределения дискретных случайных величин, распределение суммы непрерывных независимых случайных величин и т.д.
Список литературы
1. Федоткин М.А. Теория вероятностей и математическая статистика: Учебная программа ОПД.В3 по специальности «Прикладная математика и информатика — 010501». Нижний Новгород: ННГУ, 2011. 9 с.
2. Львовский С.М. Набор и верстка в системе LaTeX. 4-е изд., стереотип. М.: МЦНМО, 2006. 448 с.
3. Graham P. ANSI Common Lisp. Prentice Hall, 1995. 432 p.
4. Система компьютерной алгебры Maxima. - Режим доступа: http://maxima.sourceforge.net/ru (дата обращения 01.02.2014).
5. System for Teaching and Assessment using a Computer algebra Kernel. - Режим доступа: http://www.stack.bham.ac.uk (дата обращения 01.02.2014).
AUTOMATIC TEST GENERATION FOR THE COURSE IN PROBABILITY THEORY
A. V. Zorine
The author's experience in developing an automatic test generation software system for students studying the course in probability theory is described. Some examples of test questions are given.
Keywords: students' knowledge testing, automatic test generation, probability theory.
References
1. Fedotkin M.A. Teoriia veroiatnostei i matematiches-kaia statistika: Uchebnaia programma OPD.V3 po spetsi-al'nosti «Prikladnaia matematika i mfoimatika — 010501». Nizhnii Novgorod: NNGU, 2011. 9 s.
2. L'vovskii S.M. Nabor i verstka v sisteme LaTeX. 4-e izd., stereotip. M.: MTsNMO, 2006. 448 s.
3. Graham P. ANSI Common Lisp. Prentice Hall, 1995. 432 p.
4. Sistema komp'iuternoi algebry Maxima. - Rezhim dostupa: http://maxima.sourceforge.net/ru (data obrashche-niia 01.02.2014).
5. System for Teaching and Assessment using a Computer algebra Kernel. - Rezhim dostupa: http://www.stack. bham.ac.uk (data obrashcheniia 01.02.2014).