Инструменты помощи автору регулярных выражений для тестовых вопросов в СДО Moodle Текст научной статьи по специальности «Компьютерные и информационные науки»
Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сычев О.А., Терехов Г.В.
Преподаватели, которым были бы полезны тестовые вопросы с использованием регулярных выражений , испытывают затруднения при их составлении. Многие не решаются использовать регулярные выражения из-за трудностей их освоения. С подобными проблемами сталкиваются и студенты, изучающие регулярные выражения . К настоящему времени разработано довольно много программ для построения и объяснения регулярных выражений , однако они используют различные формы визуализации выражений. Целью исследования было сравнение эффективности различных форм представлений регулярного выражения при их изучении и построения, а также связи между различными формами визуализации и текстом регулярного выражения . Для этого в качестве модуля для СДО Moodle были разработаны инструменты помощи автору регулярного выражения , отображающие это выражение в трех различных формах: синтаксического дерева (визуализирует структуру выражения), объясняющего графа (визуализирует процесс выполнения выражения) и текстового описания; а также инструмент тестирования, показывающего совпадение регулярного выражения с введенными пользователем тестовыми строками. Разработанные инструменты были предложены для использования студентами при изучении регулярных выражений , после окончания эксперимента студенты анкетировались относительно полезности разработанных инструментов. Студенты были разбиты на 4 группы в зависимости от курса и страны происхождения. В результате анкетирования студентов было выяснено, что различные группы пользователей предпочитают различные инструменты помощи автору. Хотя в общем лидерами являются объясняющий граф и тестирование выражения, даже словесное описание, получившее очень низкие оценки в трех группах из четырех, оказалось лидеров для группы студентов из стран Африки с обучением на английском языке. Также анкетирование показало, что полезной функцией при изучении регулярных выражений является возможность выделить участок регулярного выражения (визуализированный на каком-либо инструменте) и увидеть его выделенным в тексте выражения и на других инструментах. Примерно четверть студентов имела опыт работы с другими инструментами помощи в разработке регулярных выражений , при этом большинство из них отметило, что система разработанных авторами инструментов лучше, чем отдельные инструменты, которые они использовали ранее. Преподаватели различных учебных заведений, использовавшие разработанные инструменты помощи автору регулярных выражений для составления тестовых вопросов с проверкой ответа по регулярному выражению отметили, что инструменты значительно упрощают освоение регулярных выражений , а также помогают обнаружить ошибки в уже составленных. Таким образом, результаты анкетирования студентов показывают, что система из нескольких форм визуализации регулярных выражений , связанных между собой подсистемой выделения подвыражений, является более эффективной, чем отдельные инструменты; разные категории обучаемых предпочитают использовать различные инструменты. Включение инструментов помощи автору в состав тестовых вопросов с проверкой ответа по регулярному выражению помогает расширить круг преподавателей, использующих их в учебном процессе, а также находить и исправлять ошибки в существующих вопросах.
Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Сычев О.А., Терехов Г.В.
Helping tools for the regular expression author for test questions in LMS Moodle
Composing regular expressions for test questions is often a difficult thing for the teachers; so many teachers avoid using regular expression questions. Similar problems hinder students learning regular expressions as a part of computer science. There are many programs developed to help composing and learning of the regular expressions , but they are using different forms of regular expression visualization. The goal of this research was to compare efficiency of different forms of regular expression representation for their learning and composing, methods for linking them together and with regular expression text. A set of helping tools for regular expressions authors (as a plugin for Moodle CMS) was developed, using three form of regular expression representation: syntax tree (visualizes expression structure), explanation graph (visualizes paths of expression execution) and text description and testing tool, showing regular expression match with test strings. Developed instruments was used by students learning regular expressions , the students fill a survey after that. Students were divided into four groups by their year of study and country. Survey shows that different group of students prefer different instruments. Most generally popular ones were explanation graph and regular testing, but even text description a general outsider was leading in the group of students from Africa learning in English language. The survey also shows that ability to select part of regular expression representation and see that part selected in other representations and regular expression text was very useful in linking representations together and understanding complex expressions. About a quarter of students used other regular expression construction tools before taking part in this experiment, most of them said that developed tools were better than those they used before. Several teachers, which had used regular expressions in their questions, have written reviews stating that developed instruments make learning regular expressions easier and help debug regular expressions in their questions. So, the survey of students and teachers reviews shows that system of several regular expression representations linked together by subexpression selection is more effective that any particular representation in itself; different classes of users prefer different forms of representation. Including helping tools for regular expression authors in the quiz creation software allows increasing the use of regular expressions for quiz questions and helps test and debug them.
Текст научной работы на тему «Инструменты помощи автору регулярных выражений для тестовых вопросов в СДО Moodle»
удк 004.588 ♦ вак 13.00.02 ♦ ринц 14.35.09 О.А. Сычев, Г.В. Терехов
Волгоградский Государственный Технический Университет, Волгоград, Россия
Инструменты помощи автору регулярных выражений для тестовых вопросов в СДО Moodle
Преподаватели, которым были бы полезны тестовые вопросы с использованием регулярных выражений, испытывают затруднения при их составлении. Многие не решаются использовать регулярные выражения из-за трудностей их освоения. С подобными проблемами сталкиваются и студенты, изучающие регулярные выражения. К настоящему времени разработано довольно много программ для построения и объяснения регулярных выражений, однако они используют различные формы визуализации выражений. Целью исследования было сравнение эффективности различных форм представлений регулярного выражения при их изучении и построения, а также связи между различными формами визуализации и текстом регулярного выражения. Для этого в качестве модуля для СДО МооЛе были разработаны инструменты помощи автору регулярного выражения, отображающие это выражение в трех различных формах: синтаксического дерева (визуализирует структуру выражения), объясняющего графа (визуализирует процесс выполнения выражения) и текстового описания; а также инструмент тестирования, показывающего совпадение регулярного выражения с введенными пользователем тестовыми строками. Разработанные инструменты были предложены для использования студентами при изучении регулярных выражений, после окончания эксперимента студенты анкетировались относительно полезности разработанных инструментов. Студенты были разбиты на 4 группы в зависимости от курса и страны происхождения. В результате анкетирования студентов было выяснено, что различные группы пользователей предпочитают различные инструменты помощи автору. Хотя в общем лидерами являются объясняющий граф и тестирование выражения, даже словесное описание, получившее очень низкие оценки в трех группах из четырех, оказалось лидеров для группы студентов
из стран Африки с обучением на английском языке. Также анкетирование показало, что полезной функцией при изучении регулярных выражений является возможность выделить участок регулярного выражения (визуализированный на каком-либо инструменте) и увидеть его выделенным в тексте выражения и на других инструментах. Примерно четверть студентов имела опыт работы с другими инструментами помощи в разработке регулярных выражений, при этом большинство из них отметило, что система разработанных авторами инструментов лучше, чем отдельные инструменты, которые они использовали ранее. Преподаватели различных учебных заведений, использовавшие разработанные инструменты помощи автору регулярных выражений для составления тестовых вопросов с проверкой ответа по регулярному выражению отметили, что инструменты значительно упрощают освоение регулярных выражений, а также помогают обнаружить ошибки в уже составленных. Таким образом, результаты анкетирования студентов показывают, что система из нескольких форм визуализации регулярных выражений, связанных между собой подсистемой выделения подвыражений, является более эффективной, чем отдельные инструменты; разные категории обучаемых предпочитают использовать различные инструменты. Включение инструментов помощи автору в состав тестовых вопросов с проверкой ответа по регулярному выражению помогает расширить круг преподавателей, использующих их в учебном процессе, а также находить и исправлять ошибки в существующих вопросах.
Ключевые слова: электронное обучение, автоматизированное тестирование, регулярные выражения, визуализация регулярных выражений, изучение регулярных выражений.
Oleg A. Sychev, Grigory V. Terehov
Volgograd State Technical University, Volgograd, Russia
Helping tools for the regular expression author for test questions in LMS Moodle
Composing regular expressions for test questions is often a difficult thing for the teachers; so many teachers avoid using regular expression questions. Similar problems hinder students learning regular expressions as a part of computer science. There are many programs developed to help composing and learning of the regular expressions, but they are using different forms of regular expression visualization. The goal of this research was to compare efficiency of different forms of regular expression representation for their learning and composing, methods for linking them together and with regular expression text. A set of helping tools for regular expressions authors (as a plugin for Moodle CMS) was developed, using three form of regular expression representation: syntax tree (visualizes expression structure), explanation graph (visualizes paths of expression execution) and text description — and testing tool, showing regular expression match with test strings. Developed instruments was used by students learning regular expressions, the students fill a survey after that. Students were divided into four groups by their year of study and country. Survey shows that different group of students prefer different instruments. Most generally popular ones were explanation graph and regular testing, but even text description — a general outsider — was leading in the group of students from Africa learning in English language.
The survey also shows that ability to select part of regular expression representation and see that part selected in other representations and regular expression text was very useful in linking representations together and understanding complex expressions. About a quarter of students used other regular expression construction tools before taking part in this experiment, most of them said that developed tools were better than those they used before. Several teachers, which had used regular expressions in their questions, have written reviews stating that developed instruments make learning regular expressions easier and help debug regular expressions in their questions. So, the survey of students and teachers reviews shows that system of several regular expression representations linked together by subexpression selection is more effective that any particular representation in itself; different classes of users prefer different forms of representation. Including helping tools for regular expression authors in the quiz creation software allows increasing the use of regular expressions for quiz questions and helps test and debug them.
Keywords: e-learning, automated testing, regular expressions, visualization of regular expressions, regular expression learning.
Тестовые вопросы с открытым ответом, в которых тестируемый должен составить ответ в виде строки - а не выбрать один из нескольких вариантов - уменьшают количество попыток угадать правильный ответ и стимулируют его составление. Одним из основных препятствий для широкого распространения таких вопросов является наличие значительного количества вариантов правильного ответа, которые надо описать преподавателю при создании вопроса. Решить эту проблему можно используя для проверки ответов регулярные выражения [1]. Они дают возможность написания шаблонов для правильных ответов, используя мощный и широко известный синтаксис [2], который может быть использован как для проверки ответов на формальных языках, так и коротких предложений на естественных языках. Они могут использоваться преподавателями 1Т-дисциплин, а также иностранного языка, ветеринарии, медицины и т.д. [3].
Однако составление шаблонов ответов в виде регулярных выражений может оказаться трудной задачей для преподавателей. Несмотря на то, что синтаксис регулярных выражений несложен, даже небольшое отклонение от него приводит к неправильным результатам работы регулярного выражения; многие же преподаватели не являются знатоками правил составления регулярных выражений. Большие регулярные выражения неудобны для чтения человеком. Это связано с тем, что регулярные выражения должны иметь возможность описывать шаблоны строк из любых символов. Именно сложности при составлении регулярных выражений для ответов и слабое знание преподавателями их синтаксиса сдерживают распространение тестовых вопросов, основанных на регулярных выражениях.
В сети интернет находится значительное количество программ и сайтов, помогающих в составлении регулярных выражений; но преподаватели зачастую мало знакомы с ними и составляют выражения,
основываясь на своих знаниях [4]. Кроме того, эти программные средства используют различные диалекты регулярных выражений, не все из которых совместимы с использующимися в тестовых вопросах. Главным же недостатком большинства таких средств является отсутствие показа частичных совпадений при проверке регулярных выражений: в случае несовпадения строки (потенциального ответа студента) с регулярным выражением средство не показывает, где именно совпадение прервалось.
Для устранения этих проблем разработчиками типа вопроса Preg было принято решение разработать инструменты помощи в разработке регулярных выражений, интегрированные в подсистему редактирования тестовых вопросов. Такие инструменты наиболее полезны для преподавателей, которые начинают использовать регулярные выражения в своих тестах, в особенности при самообучении, если в учебном учреждении нет опытного составителя регулярных выражений, который мог бы служить наставником. Для тех, кто уже научился успешно составлять регулярные выражения, основная польза от разработанных инструментов заключается в возможности легко проверить составленное выражение, быстро найти и исправить ошибки.
2. Обзор средств помощи построения регулярных выражений
К настоящему времени разработано достаточно большое количество самостоятельных программ, предназначенных для построения и объяснения регулярных выражений [5], например, Expresso [6] и RegexBuddy [7]. Expresso позволяет сохранять и загружать регулярные выражения, производить поиск и замену в тексте используя составленное регулярное выражение.
Отображение регулярного выражения в программе Expresso на примере регулярного выражения, которое совпадает с одним из форматов записи даты, представлено на рис. 1.
Как можно заметить, Expresso показывает вложенность элементов регулярного выражения с кратким описанием, используя текстовый элемент управления с древовидной структурой. Надписи содержат много информации, но теряют от этого наглядность, что отрицательно сказывается на восприятии смысла регулярного выражения.
Другие программы посвящены визуализации выполнения регулярных выражений. Обычно изображение представляет собой конечный автомат, который выполняет регулярное выражение. Примером инструмента с подобной функциональностью является программа RegExpert [8] (см. рис. 2), разработанный группой исследователей из Университета Загреба. Инструмент демонстрирует соответствующий регулярному выражению недетерминированный конечный автомат с эпсилон переходами.
Подобная форма отображения регулярного выражения представляется удобной для изучения теории автоматов, но не для авторов тестовых вопросов, большинство которых неспециалисты в этой области.
Для автора вопросов с регулярными выражениями, которые не знакомы с теорией конечных автоматов, более логичным является подход, где символы представлены узлами графа, а дуги связывают их. Подобный подход был использован при разработке программы Regexper [9], разработанной Джеффом Авалоном. На рис. 3 представлено изображение созданное Regexper.
Преимуществами данной программы являются компактность генерируемых графов и объединение
S-[Month]: A named capture group. [W] ; Any digit between 1 and 2 repetitions
S' (Day]; A named capture group, i c| i 2>] Any digit between 1 and 2 repetitions
0 [Tear]: A named capture group. [(?:Wl\d)] B-Match expression but don't capture it. [ld№