Научная статья на тему 'Инструменты помощи автору регулярных выражений для тестовых вопросов в СДО Moodle'

Инструменты помощи автору регулярных выражений для тестовых вопросов в СДО Moodle Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
451
51
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
E-LEARNING / AUTOMATED TESTING / REGULAR EXPRESSIONS / VISUALIZATION OF REGULAR EXPRESSIONS / REGULAR EXPRESSION LEARNING / ЭЛЕКТРОННОЕ ОБУЧЕНИЕ / АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ / РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ / ВИЗУАЛИЗАЦИЯ РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ / ИЗУЧЕНИЕ РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сычев О. А., Терехов Г. В.

Преподаватели, которым были бы полезны тестовые вопросы с использованием регулярных выражений, испытывают затруднения при их составлении. Многие не решаются использовать регулярные выражения из-за трудностей их освоения. С подобными проблемами сталкиваются и студенты, изучающие регулярные выражения. К настоящему времени разработано довольно много программ для построения и объяснения регулярных выражений, однако они используют различные формы визуализации выражений. Целью исследования было сравнение эффективности различных форм представлений регулярного выражения при их изучении и построения, а также связи между различными формами визуализации и текстом регулярного выражения. Для этого в качестве модуля для СДО Moodle были разработаны инструменты помощи автору регулярного выражения, отображающие это выражение в трех различных формах: синтаксического дерева (визуализирует структуру выражения), объясняющего графа (визуализирует процесс выполнения выражения) и текстового описания; а также инструмент тестирования, показывающего совпадение регулярного выражения с введенными пользователем тестовыми строками. Разработанные инструменты были предложены для использования студентами при изучении регулярных выражений, после окончания эксперимента студенты анкетировались относительно полезности разработанных инструментов. Студенты были разбиты на 4 группы в зависимости от курса и страны происхождения. В результате анкетирования студентов было выяснено, что различные группы пользователей предпочитают различные инструменты помощи автору. Хотя в общем лидерами являются объясняющий граф и тестирование выражения, даже словесное описание, получившее очень низкие оценки в трех группах из четырех, оказалось лидеров для группы студентов из стран Африки с обучением на английском языке. Также анкетирование показало, что полезной функцией при изучении регулярных выражений является возможность выделить участок регулярного выражения (визуализированный на каком-либо инструменте) и увидеть его выделенным в тексте выражения и на других инструментах. Примерно четверть студентов имела опыт работы с другими инструментами помощи в разработке регулярных выражений, при этом большинство из них отметило, что система разработанных авторами инструментов лучше, чем отдельные инструменты, которые они использовали ранее. Преподаватели различных учебных заведений, использовавшие разработанные инструменты помощи автору регулярных выражений для составления тестовых вопросов с проверкой ответа по регулярному выражению отметили, что инструменты значительно упрощают освоение регулярных выражений, а также помогают обнаружить ошибки в уже составленных. Таким образом, результаты анкетирования студентов показывают, что система из нескольких форм визуализации регулярных выражений, связанных между собой подсистемой выделения подвыражений, является более эффективной, чем отдельные инструменты; разные категории обучаемых предпочитают использовать различные инструменты. Включение инструментов помощи автору в состав тестовых вопросов с проверкой ответа по регулярному выражению помогает расширить круг преподавателей, использующих их в учебном процессе, а также находить и исправлять ошибки в существующих вопросах.

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

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»

New technologies

удк 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. Введение

Тестовые вопросы с открытым ответом, в которых тестируемый должен составить ответ в виде строки - а не выбрать один из нескольких вариантов - уменьшают количество попыток угадать правильный ответ и стимулируют его составление. Одним из основных препятствий для широкого распространения таких вопросов является наличие значительного количества вариантов правильного ответа, которые надо описать преподавателю при создании вопроса. Решить эту проблему можно используя для проверки ответов регулярные выражения [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{1,2}] ; 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. [(?:W{4}l\d{2})] B-Match expression but don't capture it. [ld{4}№{2)] B- Select from 2 alternatives

i Any digit exactly^ repetitions Any digit exactly 2 repetitions

Рис. 1. Отображение регулярного выражения в программе Expresso на примере регулярного выражения (?<Month>\d{1,2})/(?<Day>\d{1,2})/ (?<Year>(?:\d{4}|\d{2}))

Рис. 2. Главное окно RegExpert

Рис. 3. Граф по выражению Л[-+]?[0-9]*\.?[0-9]+$ построенный Regexper

последовательностей символов, которые конкатенированы, в один узел.

Вместе с тем, Я^ехрег имеет ряд недостатков. В числе самых серьёзных можно отметить использование петель графа при отображении квантификаторов, что плохо подходит для пользователей, не знакомых с теорией автоматов. Усугубляет положение тот факт, что граф является неориентированным - направление петель отображается довольно слабозаметным способом спряжения дуг при слиянии.

3. Инструменты помощи построения регулярных выражений в типе вопроса Ргед

Инструменты помощи построения регулярных выражений в типе вопроса Preg интегрированы в подсистему редактирования вопроса и могут быть вызваны во всплывающем окне нажатием стандартной для СДО МооШе иконки редактирования рядом с окном регулярного выражения (см. рис. 4).

Окно инструментов редактирования состоит из многострочного

текстового редактора для ввода выражений; секции настроек, влияющих на выполнение регулярного выражения, а также секций 4-х инструментов:

1) синтаксическое дерево регулярного выражения - показывает структуру, вложенность операндов и операций в регулярном выражении;

2) объясняющий граф - наглядно показывает работу выражения;

3) описание регулярного выражения - текст на естественном языке, объясняющий, что делает регулярное выражение;

4) инструмент тестирования -дает возможность проверить работу регулярного выражения на множестве строк, заданных преподавателем.

Для генерации изображения синтаксического дерева и объясняющего графа используются утилиты пакета вгарИу17 [10]. При этом изображения (которые могут оказаться достаточно большими) можно легко перемещать и масштабировать с помощью колесика мыши.

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

Тип вопроса Preg имеет ряд настроек: метод поиска совпадений, нотация регулярных выражений, чувствительность совпадения к регистру букв и необходимость совпадения с выражением всего ответа. Секция настроек дублируется в окне инструментов помощи, что позволяет менять настройки и видеть их влияние на выражение во всех инструментах. Основным методом поиска совпадений с регулярным выражением является метод теговых недетерминированных конечных автоматов [11].

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

4. Синтаксическое дерево

Синтаксическое дерево отображает структуру регулярного выражения как вложенность его операций: вершинами дерева яв-

Рис. 4. Кнопка вызова инструментов помощи в разработке регулярных

выражений

Образовательная среда

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

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

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

На рис. 5 показано синтаксическое дерево регулярного выражения «can\s+not|can(?:'|)t», которое совпадает с различными формами записи "can not" на английском языке (can not, cant, can't и т.д.).

Рис. 6. Синтаксическое дерево со свернутыми ветками для проверки различных форм "can not" на английском языке

Для больших регулярных выражений синтаксическое дерево теряет свою наглядность из-за большого количества узлов дерева. Избежать этого, разбираясь с конкретной частью регулярного выражения, поможет режим свертки, в котором щелчок по узлу выражения позволяет свернуть все начинающееся в нем поддерево в один узел. Свернутое поддерево представляет собой узел с пунктирной окантовкой и многоточием внутри, во всплывающей подсказке показана часть регулярного выражения, которая была свёрнута. В дереве можно сворачивать и разворачивать любое количество узлов. Пример свернутого дерева с рис. 5 показан на рис. 6.

5. Объясняющий граф

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

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

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

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

На рис. 7 представлено изображение объясняющего графа регулярного выражения «сап\ 8+по1|сап(?:'|)Ь>.

Если пользователь выделил часть регулярного выражения, то в графе она будет заключена в зеленый прямоугольник. Можно выделить часть графа при помощи растягивания «резинового» прямоугольника - в этом случае выделится соответствующая часть текста регулярного выражения.

Рис. 7. Объясняющий граф для проверки различных форм "can not" на

английском языке

Рис. 8. Тестирование регулярных выражений на строках на примере регулярного выражения «can\s+not|can(?:'|)t»

Количество сайтов использующих плагин

Рис. 9. Диаграмма количества зарегистрированных сайтов, использующих плагин Preg по статистике официального сайта moodle.org

6. Описание на естественном языке

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

Описание рассмотренного ранее регулярного выражения «can\ s+not|can(?:'|)t» выглядит следующим образом:

1) на русском языке: «can затем белый разделитель повторяется любое количество раз затем not или can затем группировка: [ ' или ничего ] затем t»

2) на английском языке: «can then spacing mark is repeated any number of times then not or can then grouping: [' or nothing] then t]»

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

7. Тестирование регулярных выражений

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

и могут быть использованы при дальнейшем его редактировании.

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

Пример работы инструмента тестирования для регулярного выражения, которое проверяет форму записи "can't" на английском языке представлен на рис. 8.

8. Обсуждение

Инструменты помощи автору регулярных выражений поставляются с типом вопроса Preg для

СДО МооШе (доступен в официальной базе плагинов Moodle https://moodle.org/plugins/view/ qtype_preg) начиная с версии Preg 2.5, вышедшей в конце 2013 года. На рис. 9 видно, что количество сайтов, использующих Preg, значительно выросло после появления разработанных инструментов (в 2014 году). При этом не следует забывать, что Moodle является серверным продуктом и один сайт может представлять учебное заведение или факультет с большим количеством пользователей.

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

Например, Луис Г. Васкес, профессор Автономного Университета Пуэбло (Мексика), пишет, что инструменты позволяют увидеть, как работают регулярные выражения, при этом интерфейс интуитивно понятен и прост даже для новичков. Также он отметил, что помогает другим преподавателям осваивать составление регулярных выражений

Таблица 1

Процент студентов, давших максимальную оценку полезности различным

инструмента

Инструмент Группа А, % Группа Б, % Группа В, % Группа Г, % Все участники, %

Синтаксическое дерево 100 43 36 60 59,8

Объясняющий граф 60 71 91 50 68

Словесное описание 40 0 36 70 36,5

Тестирование на строках 60 100 45 60 66,2

Таблица 2

Процент студентов, признавших наиболее удобным способ выделения части выражения в конкретном инструменте

Инструмент, в котором < а ,Б а и" а и" а Все

производилось выделение части выражения В ^ К о4 у урГ Б ^ К о4 у р Рч В ^ К о4 у урГ с ^ у р рГ участники, %

Синтаксическое дерево 20 86 30 39 43,8

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Объясняющий граф 40 14 20 31 26,2

В самом выражении 40 0 40 30 27,5

Не пользовался выделением 0 0 10 0 2,5

и инструменты автора значительно сокращают время обучения.

Преподаватели отмечают, что инструменты хорошо помогают разобраться в том, где начинаются и заканчиваются различные части регулярного выражения, что особенно актуально при большом количестве развилок в ответе. Значительную пользу в отладке регулярных выражений от инструментов автора отмечают учители различных дисциплин: от английского языка (например, Борис Пуханик, учитель в частной школе Южной Кореи) до 1Т-дисциплин (например, Данченко А.Л., доцент кафедры системной инженерии ВНУ имени Владимира Даля, Луганск). Последняя отмечает, что при разработке тестов по дисциплинам «Дискретная математика», «Теория принятия решений», «Исследование операций» и «Методы обработки информации» инструменты автора позволили в 15% случаев исправить некорректные регулярные выражения для задач, содержащих несколько вариантов ответов. Эти ошибки не были обнаружены при использовании аналогичных программ К^ехргеБ и «Регулярные выражения. Онлайн». Также инструменты автора помогли обеспечить более полный охват правильных вариантов ответов.

В связи с тем, что проанкетировать статистически значимое количество преподавателей не представляется возможным, для оценки полезности разработанных инструментов был проведен эксперимент по использованию их в учебном процессе с целью изучения регулярных выражений. В эксперименте участвовали студенты второго (группа А) и третьего (группа Б) курса ВолгГТУ (Волгоград), а также местные (группа В) и иностранные с обучением на английском (группа Г) студенты четвертого курса ВНУ имени Владимира Даля (Луганск).

Оценку эффективности инструментов было предложено провести по шкале от -5 до 5, минимальная полученная оценка 3. Многие студенты давали максимальную оценку полезности, поэтому для сравнения инструментов был подсчитан процент студентов, давших максимальную оценку каждому инстру-

менту (см. табл. 1), при этом один студент мог дать максимальную оценку нескольким инструментам.

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

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

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

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

Также был задан вопрос, пользовались ли студенты аналогичными программами ранее; только 24% опрошенных ответили положительно. На предложение сравнить эти аналоги с инструментами помощи автору, подавляющее большинство из них (87,5%) выбрали инструменты автора, оставшиеся отметили, что функциональность одинакова.

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

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

New technologies

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

лений, связанных с информационными технологиями. По итогам исследования было решено сделать этот набор инструментов доступным вне интерфейса редактирования вопроса Preg в виде блока Regex Constructor (https://moodle.org/plugins/view/block_ regex_constructor).

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

Литература

1. Колесов Д.В. Архитектура программного обеспечения тестового вопроса Preg с оценкой ответа по регулярным выражениям, поддерживающего возможность подсказок продолжения совпадения / Сычев О.А., Стрельцов В.О., Колесов Д.В. // Изв. ВолгГТУ Серия «Актуальные проблемы управления, вычислительной техники и информатики в технических системах». Вып. 15: межвуз. сб. науч. ст. / ВолгГТУ - Волгоград, 2012. - № 15 (102). - С. 99-104.

2. Фридл, Дж. Регулярные выражения, 3 е издание. -Пер. с англ. - СПб.: «Символ Плюс», 2008. - 608 с.

3. Butcher P. G., Jordan S. E. A comparison of human and computer marking of short free-text student responses // Computers & Education 55. - 2010. - С. 489-499, doi: 10.1016/j.compedu.2010.02.012

4. Budiselic I., Srbljic S., Popovic M. RegExpert: A Tool for Visualization of Regular Expressions. EUROCON 2007 - the international conference on as a tool; 2007 -pp 2387-2389, doi: 10.1109/EURC0N.2007.4400374

5. Martinez M., Bar buzz a R., Mauco M.V., Favre L. MTSolution: Avisual and interactive tool for a formal languages and automata course. Proceedings of the information systems education conference, ISECON; 2007. - 12 p.

6. Hollenhorst J. Expresso Regular Expression Tool [Электронный ресурс]. - Режим доступа : http:// www.ultrapico.com/expresso.htm (дата обращения: 28.11.2015).

7. Goyvaerts J. RegexBuddy: Learn, Create, Understand, Test, Use and Save Regular Expression [Электронный ресурс]. - Режим доступа: http://www.regexbuddy.com/ screen.html (дата обращения: 28.11.2015).

8. Budiselic, I., Srbljic, S., Popovic, M. RegExpert: A Tool for Visualization of Regular Expressions. In: EUROCON 2007. The Computer as a Tool, pp. 2387-2389 (2007), doi: 10.1109/EURTON.2007.4400374

9. Avallone J. Regexper [Электронный ресурс]. - Режим доступа: http://www.regexper.com (дата обращения: 28.11.2015).

10. J. Ellson, E. Gansner, L. Koutsofios, S. North, and G. Woodhull. Graphviz - open source graph drawing tools. In P. Mutzel, M. JAijnger, and S. Leipert, editors, Graph Drawing, volume 2265 of Lecture Notes in Computer Science, pages 483-484, doi: 10.1007/3-540-45848-4_57

11. Laurikari, V. NFAs with tagged transitions, their conversion to deterministic automata and application to regular expressions. // Proceedings of the 7th International Symposium on String Processing and Information Retrieval. - IEEE, 2000 - pp. 181-187, doi: 10.1109/ SPIRE.2000.878194.

References

1. Kolesov D.V. Arhitektura programmnogo obespecheniya testovogo voprosa Preg s ocenkoj otveta po regulyarnym vyrazheniyam, podderzhivayushchego vozmozhnost' podskazok prodolzheniya sovpadeniya / Sychev O.A., Strel'cov VO., Kolesov D.V // Izv. VolgGTU. Seriya «Aktual'nye problemy upravleniya, vychislitel'noj tekhniki i informatiki v tekhnicheskih sistemah». Vyp. 15: mezhvuz. sb. nauch. st. / VolgGTU. - Volgograd, 2012. -№ 15 (102). - S. 99-104.

2. Friedl J. Mastering regular expressions, 3rd edition, O'Reilly Media; 2006 — 608 p.

3. Butcher P. G. , Jordan S. E. A comparison of human and computer marking of short free-text student responses // Computers & Education 55. - 2010. - С. 489-499, doi: 10.1016/j.compedu.2010.02.012

4. Budiselic I., Srbljic S., Popovic M. RegExpert: A Tool for Visualization of Regular Expressions. EUROCON 2007 - the international conference on as a tool; 2007 -pp 2387-2389, doi: 10.1109/EURTON.2007.4400374

5. Martinez M., Barbuzza R., Mauco M.V., Favre L. MTSolution: Avisual and interactive tool for a formal languages and automata course. Proceedings of the information systems education conference, ISECON; 2007. - 12 p.

6. Hollenhorst J. Expresso Regular Expression Tool [Электронный ресурс]. - Режим доступа : http:// www.ultrapico.com/expresso.htm (дата обращения: 28.11.2015).

7. Goyvaerts J.RegexBuddy: Learn, Create, Understand, Test, Use and Save Regular Expression [Электронный ресурс]. - Режим доступа: http://www.regexbuddy.com/ screen.html (дата обращения: 28.11.2015).

8. Budiselic, I., Srbljic, S., Popovic, M. RegExpert: A Tool for Visualization of Regular Expressions. In: EUROCON 2007. The Computer as a Tool, pp. 2387-2389 (2007), doi: 10.1109/EURCON.2007.4400374

9. Avallone J. Regexper [Электронный ресурс]. - Режим доступа: http://www.regexper.com (дата обращения: 28.11.2015).

10. J. Ellson, E. Gansner, L. Koutsofios, S. North, and G. Woodhull. Graphviz - open source graph drawing tools. In P. Mutzel, M. JAijnger, and S. Leipert, editors, Graph Drawing, volume 2265 of Lecture Notes in Computer Science, pages 483-484, doi: 10.1007/3-540-45848-4_57

11. Laurikari, V. NFAs with tagged transitions, their conversion to deterministic automata and application to regular expressions. // Proceedings of the 7th International Symposium on String Processing and Information Retrieval. - IEEE, 2000 - pp. 181-187, doi: 10.1109/ SPIRE.2000.878194.

Сведения об авторах

Олег Александрович Сычев, к.т.н., доцент кафедры Программного обеспечения автоматизированных систем Тел.: (905) 434 53 45, E-mail: [email protected] Волгоградский Государственный Технический Университет, Волгоград, Россия http://www. vstu.ru

Григорий Владимирович Терехов, магистрант кафедры Программного обеспечения автоматизированных систем Тел.: (905) 064 31 73, E-mail: [email protected] Волгоградский Государственный Технический Университет, Волгоград, Россия http://www. vstu.ru

Information about the authors

Oleg A. Sychev, Candidate of Engineering Science, docent

the Automated Systems Software Department

Tel.: (905) 434 53 45, E-mail: [email protected]

Volgograd State Technical University,

Volgograd, Russia

http://www.vstu.ru

Grigory V. Terehov, graduate student

the Automated Systems Software Department

Tel.: (905) 064 31 73, E-mail: [email protected]

Volgograd State Technical University,

Volgograd, Russia

http://www.vstu.ru

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