Научная статья на тему 'Система автоматизированной генерации тестовых заданий'

Система автоматизированной генерации тестовых заданий Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
236
60
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Система автоматизированной генерации тестовых заданий»

УКРАИНА». Было испытано решение по интеграции оборудования и программных продуктов компаний Cisco, Alvarion и Oracle. Применение муль-тивендорного решения позволяет реализовать максимально высокие требования к функциональности решения, но необходима очень высокая квалификация исполнителей в силу интеграции программных модулей.

Литература

1. URL: www.cisco.com (дата обращения: 27.06.2009).

2. Затраты или прибыль? Как преодолеть сложности бизнес-модели WiMAX // Технологии и средства связи. 2008. № 4.

3. URL: www.wimaxforum.org (дата обращения: 27.06.2009).

4. Многообразие в единстве // Сети Network World. 2006. № 17.

5. URL: www.alvarion.com (дата обращения: 27.06.2009).

СИСТЕМА АВТОМАТИЗИРОВАННОЙ ГЕНЕРАЦИИ ТЕСТОВЫХ ЗАДАНИЙ

Л.Г. Алсънбаева, к.ф.-м..н.

(Югорский НИИинформационных технологий, г. Ханты-Мансийск, а1д@игИ^-ги)

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

Ключевые слова: программирование, информатика, тестовое задание.

В настоящее время информационные технологии стремительно внедряются во все сферы жизни и деятельности общества. Растет потребность в специалистах в области использования существующих и создания новых информационных технологий.

Результативность обучения таких специалистов на начальном этапе в большой степени зависит от исходного уровня знаний, а также от того, насколько развито алгоритмическое мышление. Для проверки данных характеристик автором статьи в ходе исследований формирования системы обучения профессиональной информатике на базовом уровне были разработаны тестовые задания, которые оказались эффективным инструментом для определения уровня подготовки по алгорит-мике [1].

Результаты тестирования студентов и учащихся в течение ряда лет говорят о низком уровне школьной подготовки. Так, например, тестирование, проведенное в 2007-2008 учебном году в одном из региональных российских вузов, показало, что подавляющее большинство студентов-первокурсников нуждается в обучении основам алгоритмизации и программирования практически с нуля. Наилучшую оценку - 75 % от максимально возможного балла получили 12 % испытуемых, не смогли выполнить ни одного задания 30 % испытуемых.

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

Важно создать у обучаемого внутренний процессор, то есть развить способность к алгоритмизации умственных действий. Один из эффективных способов формирования внутреннего процессора - прокручивание фрагментов программ в уме. По такому принципу создаются тесты по ал-горитмике типа: «Что будет в результате работы данного фрагмента программы?».

Заметим, что подобный тип тестов ценен вдвойне - формирует внутренний процессор обучаемого и контролирует знания языка программирования высокого уровня.

Создание контрольных измерительных материалов - актуальная творческая задача в любой дисциплине. Подготовка множества вариантов тестовых заданий требует высокой квалификации преподавателя и значительных затрат времени. Для повышения эффективности подготовки тестов целесообразны создание технологии автоматизированной генерации тестовых заданий и ее программная реализация в виде инструментального средства, позволяющего преподавателю сгенерировать тестовые задания по основным разделам алгоритмизации и программирования на языке высокого уровня (Паскаль, Delphi, С, Java и др.).

В Центре информационных технологий тестирования Югорского НИИ информационных технологий создана программная система, позволяющая автоматически генерировать тестовые задания по указанным параметрам. Система состоит из нескольких модулей (по количеству изучаемых тем), имеющих единый интерфейс и специализированный редактор для отбраковки и ручного редактирования тестовых заданий по усмотрению преподавателя. Тестовые задания ге-

нерируются в виде фрагментов программы на языке Паскаль.

В основе технологии автоматизированной генерации тестов заложен принцип «один фрагмент программы - одно тестовое задание». Эффективность достигается за счет автоматизации процесса генерации фрагментов программ и автоматической отбраковки заданий по указанным критериям.

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

Тестовые задания, генерируемые этим модулем, включают циклические инструкции с предусловием, постусловием и счетчиком цикла, а также вопрос «Какие значения примут переменные, используемые в данном фрагменте программы, по окончании его выполнения?». Все варианты генерируемых тестовых заданий должны быть разными.

Приведем синтаксис и алгоритмы работы инструкций цикла на языке Паскаль [2], которые были положены в основу работы данного модуля.

Цикл с предусловием имеет вид: while B do S, где B - логическое выражение; S - инструкция.

Цикл может закончиться только в том случае, если инструкция S так влияет на выражение B, что через конечное число повторений значением выражения B станет false. Следовательно, в S должно быть по крайней мере одно присваивание переменной, которая встречается в B. Обозначим через V множество всех переменных, встречающихся в генерируемом фрагменте программы. Тогда циклическую инструкцию можно представить в виде схемы программы:

V:=v0; while p(V) do V:=f(Vj, где p - условие (логическое выражение); f - функция. Заменяя соответствующим образом V, p и f, можно получить различные конкретные фрагменты программы, имеющие одинаковую структуру.

Цикл с постусловием имеет вид: repeat S until B, где B - логическое выражение; S - инструкция.

Инструкция S выполняется до тех пор, пока значение логического выражения B равно false. Обозначим через V множество всех переменных, встречающихся в генерируемом фрагменте программы. Циклическую инструкцию можно представить в виде схемы программы:

V:=v0; repeat V:=f(V) until p(V), где p - условие (логическое выражение); f - функция. Как и в цикле с предусловием, заменяя соответствующим образом V, p и f, также можно получить различные конкретные фрагменты программы, имеющие одинаковую структуру.

Цикл со счетчиком имеет вид:

for V:= a to b do S, где S - повторяемая инструкция; V - скалярная

переменная (параметр цикла); a и Ь - выражения того же типа, что и V.

Данная циклическая инструкция означает, что две инструкции V:=x; S выполняются для каждого значения x в интервале от a до Ь. Повторные действия выполняются последовательно для значений x, выбираемых в возрастающем (на 1) порядке в интервале от a до Ь.

Таким образом, стоит задача нахождения функции ^У), которая для различных наборов переменных позволит генерировать исходный код -тело цикла. Причем инструкции, составляющие тело цикла, должны быть просты для понимания и ручной обработки.

Например, при генерации тела цикла можно использовать последовательность операторов присваивания. В левой части каждого оператора присваивания стоит переменная из множества У, а в правой - арифметическое выражение, включающее переменные из множества У (количество операторов присваивания в теле цикла соответствует количеству переменных).

Рассмотрим один из вариантов алгоритма автоматизированной генерации тестовых заданий циклического типа.

Пусть п - количество переменных; N - максимальное количество итераций; У - множество переменных, используемых в генерируемом фрагменте программы; У0 - множество констант, задающих начальные значения переменным множества V; р(У) - логическая функция; С - матрица преобразования переменных размером пхп, каждый элемент матрицы - целое число в диапазоне от -9 до 9; с - вектор сдвига переменных, состоящий из п целых чисел в диапазоне от -9 до 9.

В качестве логического выражения р(У) используем функции типа р(У) = (((V) <операция сравнения> g(У), где q(У), g(У) - арифметические выражения с переменными; <операция сравнения> - это одна из операций сравнения: <, >, <,

В таблице приведен общий вид тестовых заданий для различных типов циклов. Тело цикла формируется как последовательность операторов присваивания, сгенерированных на основе множества переменных У, матрицы преобразования переменных С и вектора сдвига с. Функция ^У), которая используется для генерации тела цикла, имеет вид ^У)=У*С+с.

Тип цикла Общий вид цикла

while V =V0; while(p(V)) do V:=V*C + c;

for V =V0; for i:=0 to N do V:=V*C + c;

repeat V =V0; repeat V:=V*C + c; until(p(V));

Для генерации тестовых заданий в модуль генерации циклов передается входная информация, введенная пользователем: количество перемен-

ных, количество итераций цикла, количество вариантов тестовых заданий.

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

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

Сгенерированные варианты тестовых заданий могут быть отбракованы вручную через пользовательский интерфейс системы, выгружены на диск в формате системы электронного обучения -Moodle XML в текстовых форматах .doc, .html, .rtf или распечатаны в виде вариантов тестов для бланочного тестирования.

Следует отметить, что «Система автоматизированной генерации тестовых заданий» зарегистрирована Федеральной службой по интеллектуальной собственности, патентам и товарным зна-

кам в реестре программ для ЭВМ (№ 2006613619) и применяется в учебном процессе Югорского физико-математического лицея и Института прикладной математики, информатики и управления Югорского государственного университета.

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

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

Литература

1. Алсынбаева Л.Г. Система стартового обучения профессиональной информатике: дис. ... канд. физ.-мат. наук. Новосибирск: НГУ, 1997. 105 с.

2. Вирт Н. Систематическое программирование. Введение. М.: Мир, 1977. 183 с.

ОСНОВНЫЕ ЗАДАЧИ АВТОМАТИЗАЦИИ УПРАВЛЕНИЯ ОБРАЗОВАТЕЛЬНЫМ ПРОЦЕССОМ

В.И. Анциферова, к.т.н.; В.Э. Меерсон

(Воронежская государственная лесотехническая академия, wkz@rambler.ru)

В статье рассмотрены целевые задачи и модели автоматизации управления образовательным процессом в образовательном центре.

Ключевые слова: управление, образовательный процесс, моделирование образовательного процесса.

На первом этапе автоматизации управления профессионально-техническим образовательным процессом в образовательном центре (ОЦ) проводятся мониторинг потребностей рынка труда, его анализ, прогнозирование экономического развития и демографической ситуации, тестирование учеников старших классов средних школ с целью определения наиболее целесообразной профессиональной ориентации, формирование групп по профессиям и разрядам, осуществляются предварительная подготовка и конкурсный отбор для поступления в образовательный ресурсный центр (ОРЦ). После этого формируются учебные планы по профессиям и проводятся их дифференциация по разрядам, распределение преподавательского состава по профессиям и формирование расписания занятий. Следующий этап - организация системы оценки качества обучения с учетом индивидуальных знаний и результатов работы выпускников на предприятиях, их непрерывная переподго-

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

Определены принципы построения информационной системы управления (ИСУ) учебным процессом (УП): соответствие архитектуры структуре управления ОРЦ; ориентация на комплексное решение задач управления с использованием базовых принципов систем информационной поддержки; обеспечение внешней и внутренней интеграции аппаратной, системной и объектно-ориентированной платформ и их унификации; простота развития, освоения и использования непосредственно на рабочих местах.

В соответствии с данными принципами обоснована архитектура ИСУ УП ОРЦ. Она должна создаваться как многоуровневая система с использованием модели сервер-сервер-клиент и обеспечивать взаимодействие с сетью ОРЦ, профессио-

i Надоели баннеры? Вы всегда можете отключить рекламу.