Алгоритм анализа степени соответствия структурированной последовательности формальному языку на примере обучения программированию тема диссертации и автореферата по ВАК РФ 00.00.00, кандидат наук Жуков Игорь Андреевич
- Специальность ВАК РФ00.00.00
- Количество страниц 133
Оглавление диссертации кандидат наук Жуков Игорь Андреевич
Введение
1 Анализ существующих мер сходства последовательностей
1.1 Формирование последовательностей с помощью компонентов
1.2 Меры сходства в множественной интерпретации
1.3 Интерпретация мер сходства через п-граммы и дескриптивные множества
1.4 Меры сходства и различия последовательностей с учётом упорядоченности
1.5 Выводы по главе
2 Формальная модель задания с многовариантным ответом
2.1 Формализация правильных ответов при помощи шаблонов - структурированных последовательностей
2.2 Пример представления задания с помощью шаблонов
2.3 Формальный язык записи шаблонов
2.4 Пример задания на формальном языке записи шаблонов
2.5 Формальный язык разметки файлов исходного кода
2.6 Пример применения формального языка разметки
2.7 Выводы по главе
3 Алгоритм анализа степени соответствия заданной последовательности формальному языку
3.1 Алгоритм анализа степени соответствия последовательности одному шаблону
3.2 Пример работы алгоритма анализа степени соответствия последовательности одному шаблону
3.3 Вычислительный эксперимент для верификации алгоритма анализа и меры сходства
3.4 Алгоритм анализа степени соответствия последовательности формальному языку
3.5 Примеры работы алгоритма анализа степени соответствия заданной последовательности формальному языку записи множества струк-
турированных последовательностей
3.6 Выводы по главе
4 Программная реализация
4.1 Реализация формально модели представления учебного задания и алгоритма анализа степени соответствия
4.2 Система контроля
4.2.1 Подсистема «Обработка»
4.2.2 Серверная часть подсистемы «Демонстрация»
4.2.3 Клиентская часть подсистемы «Демонстрация»
4.3 Выводы по главе
Заключение
Список литературы
Приложение А Акты внедрения результатов диссертационной работы . 131 Приложение Б Свидетельство о регистрации программы для ЭВМ
Введение
Степень разработанности темы исследования
В настоящее время информационные технологии активно интегрируются в образовательный процесс. Можно выделить три основных направления применения информационных технологий:
- организация взаимодействия преподавателя с обучающимися;
- разработка автоматизированных «ассистентов», выполняющих часть функций преподавателя;
- автоматизация контроля знаний и практических навыков. Существующие научные исследования затрагивают эти аспекты в различной степени.
Организация взаимодействия преподавателя с обучающимися в основном направлена на предъявление учебных материалов. Кроме того рассматриваются способы передачи отчётности от обучающихся к преподавателю и элементы организации учебного процесса [12, 60]. При этом используются как специализированные программные продукты, например, системы управления обучением (Learning Management System, LMS) [6, 69, 79], так и не ориентированные непосредственно на образование [61, 86].
Автоматизированные «ассистенты» имеют различные назначения. Например, в [54] обсуждается автоматизированное управление траекторией обучения. Работы [40, 55, 71] посвящены организации компьютерного тестирования. В [55] обсуждается разработка моделей и методов синтеза экономичных планов компьютерного контроля знаний и условных алгоритмов выявления структуры знаний для систем электронного дистанционного образования. В [40] организация компьютерного тестирования рассматривается как задача автоматизированного построения плана тестирования. При этом планы делятся на одноступенчатые, двухступенчатые и последовательные планы с учётом забывания. Прекращение контроля при тестировании возможно как по числу неправильных, так и по числу правильных ответов. Разработка и оптимизация модели нейросетевого алгоритма компьютерного контроля знаний для принятия решения об уровне подготовки обучающегося обсуждаются в [71]. Следует отметить, что все описанные выше работы сфокусированы на организационных вопросах и не уделяют внимания отдельному заданию.
Актуальной проблемой для системы образования является подготовка контрольно-измерительных материалов по различным дисциплинам. Важную роль играет процесс формирования заданий с применением технических средств. Анализ источников показал, что проблему рассматривают для различных технических и математических дисциплин. В работе [36] проанализированы типовые элементы деталей, используемых в заданиях по теме «Разрезы и сечения» в рамках дисциплины «Инженерная графика», и разработан алгоритм генерации новых заданий при помощи заранее созданных элементов. Каждое сгенерированное задание имеет решение. Сообщается о возможности получить 108 различных уникальных вариантов заданий. В [110] представлен генератор заданий по теме «Импеданс» для подготовки инженеров электротехников. Обучающемуся предлагается электрическая схема со случайно заданными параметрами: сопротивления резисторов, индуктивность катушки и ёмкость конденсатора. Генератор проводит расчёт, позволяющий отобрать корректные задания. Также предлагается программное обеспечение для представления задач обучающимся и проверки правильности их решений.
Способ генерации заданий, при котором формулируют типовые задачи с параметрами, значения которых подбираются с помощью генератора случайных чисел, в дальнейшем будем называть параметрическим. Этот способ распространён в математических дисциплинах. Следует отметить, что подбор числовых параметров может быть реализован случайным выбором текстового элемента из заранее определённого списка. Авторы [11] используют математический пакет MATLAB для подготовки заданий по теме «Собственные числа и собственные векторы линейного оператора» в рамках дисциплины «Линейная алгебра». Средствами MAT-LAB выполняется генерация и отбор матриц, имеющих целые собственные числа. В работе [72] описана разработка системы для генерации заданий по теме «Линейное программирование». При генерации задания выбираются четыре случайных числа из заранее заданного диапазона. Эти значения подставляют в шаблон, затем происходит проверка наличия решения задачи с найденными параметрами. Также эта система реализует возможность проверки решений обучающихся. В [56] описаны правила алгоритма генерации для семи типовых задач по дисциплине «Численные методы». Используются как числовые параметры, так и список некоторых основных элементарных функций. Этот список позволяет, например, формировать трансцендентные уравнения для выдачи заданий обучающимся. В правила
алгоритма генерации входит проверка корректности задачи. Также представлена программная реализация этого алгоритма. Автор [31] разработал формальный язык для описания генераторов заданий на основе деревьев. В узлах дерева содержатся данные (числа и строки текста), которые могут войти в условие формируемой задачи. Узел и его потомки могут быть связаны конструкциями «И» и «ИЛИ». По умолчанию используется конструкция «ИЛИ», при этом только один из потомков войдёт в задачу. Если используется конструкция «И», то все потомки узла будут использованы. В качестве примера рассмотрена задача по теории вероятностей. В работе [66] поставлена цель построения компьютерных тестов и автоматизации процесса формирования тестовых заданий. Предложен продукционный метод автоматической генерации тестовых заданий, отличающийся возможностью быстрого изменения характеристик компьютерных тестов и позволяющий оперативно генерировать заданное количество тестов и управлять их содержанием в автоматическом режиме. Показана возможность на основе формальных грамматик генерировать тесты заданной структуры и содержания. Генерация заданий выполняется с помощью подстановки числовых значений в заданный текстовый шаблон, при этом сами параметры могут быть вычисляемыми.
Практически во всех рассмотренных источниках для формирования заданий используется параметрический способ. Разнообразие заданий достигается за счёт изменения числовых параметров при стандартизованном условии задачи. Обучающийся должен применить алгоритм решения типовой задачи к конкретному набору данных. Для дисциплин, связанных с программированием, параметрический способ в литературе не обсуждается. Это объяснимо, поскольку обучающийся, решая задачу по программированию, должен написать программу, используя стандартный или разработанный самостоятельно алгоритм. Параметрический способ вступает в противоречие со свойством массовости алгоритма. Согласно этому свойству алгоритм должен решать задачу для наборов данных из некоторой области, например, для всех целых чисел. Для генерации математической задачи можно взять квадратный трёхчлен и подбирать его коэффициенты. Каждый набор коэффициентов определяет отдельную задачу - квадратное уравнение, которое можно дать обучающемуся. Для программирования можно в этом случае поставить только одну задачу - написать программу решения квадратного уравнения.
В статье [77] для проверки теоретических знаний обучающимся предлагает-
ся разработка семантической модели в виде графа, вершинами которого являются понятия, а дугами - связи. При данной форме контроля знаний обучающийся дополняет соответствующими понятиями из предметной области вершины графа и указывает виды связи между ними. Ответ обучающегося сравнивается с эталонной схемой (графом), разработанной преподавателем. В качестве предметной области выбрана информатика.
В статье [46] предложены задания для освоения алгоритмов сортировки массивов в системе Math-Bridge. Рассматривается иллюстрация алгоритма на конкретном примере. Обучающимся предлагаются входные данные (массив). На каждом шаге алгоритма обучающийся выбирает новое состояние массива из четырёх вариантов. Результаты каждого шага контролируются, а именно правильно ли выполнен очередной шаг алгоритма. В случае неправильного выполнения система может вывести подсказку.
При обучении программированию значительное внимание уделяется практическим навыкам. Для их формирования обучающиеся должны самостоятельно написать достаточно большое количество программ. Классическим подходом при организации практической деятельности являются лабораторные работы. Этот процесс требует сопровождения (консультаций) и контроля со стороны преподавателя. Контроль осуществляется преподавателем «вручную», т.е. преподаватель проверяет программу обучающегося, проводит беседу по содержанию или изучает отчёт о проделанной работе. Такой подход трудозатратен. Поэтому актуальны исследования возможностей автоматизации процессов контроля и консультирования.
Автоматизацию проверки программ обычно реализуют при помощи метода чёрного ящика, когда преподаватель задаёт наборы входных и выходных данных, которыми проверяется программа обучающегося. При проверке на вход программы подаются наборы данных, и результат выполнения сравнивается с соответствующим набором выходных данных. Если выход программы обучающегося совпадает с ожидаемым выходом для всех наборов, то программа оценивается как правильная. Автоматизированное тестирование программ при проверке практических навыков обсуждается в [1, 35, 57, 58, 125]. Обучающийся загружает программу, затем система проводит тестирование методом чёрного ящика.
Авторы [58] разработали систему поддержки процесса обучения программированию, предлагающую задания в форме тестов для проверки теоретических
знаний и тестирование программ для проверки умений и навыков. Для тестирования программ авторы используют набор тестов, включающий в себя входные и выходные данные, а также максимально допустимое время выполнения программы.
В [1] отмечено, что научно-технический прогресс, произошедший за последние десятилетия, позволил снизить долю ручного труда преподавателей в общем объеме их учебно-методической работы за счет введения в рабочий процесс различных прикладных программ и программных комплексов, активно использующих современные информационные технологии обучения. В статье рассматриваются особенности разработанной автором автоматизированной системы, предназначенной для текущего и итогового контроля знаний, умений и навыков обучающихся в процессе обучения их языкам программирования. Описывается схема и принцип работы системы, структура и содержание таблиц базы данных, а также возможности специального программного обеспечения, устанавливаемого на автоматизированных рабочих местах пользователей. Приводится полный алгоритм тестирования программ, служащий для оценки правильности их написания, начиная от генерации тестовых файлов и заканчивая оценкой результатов тестирования.
Работа [14] посвящена информационным системам для автоматизированной проверки работ по программированию в образовательном пространстве. Рассматриваются положительные и отрицательные характеристики этих систем как инструмента по контролю знаний и формы представления заданий по программированию. В работе отражены психологические аспекты, связанные с использованием данных систем в качестве текущих и итоговых форм контроля знаний и навыков, в частности стимуляция мотивации к решению задач и исправлению ошибок решений. Для подтверждения оценки психологического воздействия на учащихся было произведено анкетирование студентов, изучающих программирование как основной предмет специальности. Также опрос студентов выявил внутреннюю готовность студентов к применению подобных систем. В [14] отмечена двойственность систем автоматизированного тестирования по программированию: для преподавателей выполняется формализованная проверка программы с отчётом о функциональности решений, а студентам необходимо применять творческие умения. Сделан вывод о недостаточности тестирования методом чёрного ящика, которое не позволяет определить реальных причин некорректной работы
программы, так как полностью исключается семантический анализ программного кода.
Следует отметить, что тестирование методом чёрного ящика позволяет оценить только результат работы программы, но не её содержание. Следовательно, не исключает необходимость «ручной» проверки программы. Например, при обучении основам программирования студенты изучают определённый набор базовых алгоритмов. На лабораторных занятиях студенты пишут программный код, реализуя эти алгоритмы. Тестирование таких программ методом чёрного ящика не позволяет оценить уровень владения студентом тем или иным базовым алгоритмом. Например, проверка отсортированного массива свидетельствует только о том, произошла ли сортировка исходных данных, но не даёт информации о степени владения студентом конкретными алгоритмами. Косвенным признаком может служить время исполнения программы, которое зависит от трудоёмкости алгоритма. Но единственным надежным способом является семантический анализ исходного кода программы. Таким образом, контроль ответа без контроля хода решения нельзя признать исчерпывающим. Тестирование методом чёрного ящика даёт лишь представление о функционировании программы, но не о том, как она написана.
При обучении программированию могут быть использованы автоматизированные «ассистенты». Например, на практических и лабораторных занятиях могут быть использованы визуализаторы отладки [102] и генераторы обратной связи [101, 134]. В генераторах обратной связи для каждого задания имеется «эталонная» программа преподавателя, которая сопоставляется с программой обучающегося. Разница между ними может быть предъявлена в качестве подсказки. Авторы [129] провели эксперимент, в котором участвовало 42 обучающихся. Каждому были даны 3 задачи и возможность при работе использовать либо Python Tutor [102], либо Clara [101], либо тестирование методом чёрного ящика. Обработка результатов эксперимента не дала чётких представлений об эффективности, однако отмечено, что применение инструментов уменьшило количество попыток обучающегося для получения правильной программы.
При автоматизированном контроле знаний широко распространены задания, базирующиеся на альтернативно-выборочном методе. Анализ возможностей контроля, основанного на альтернативно-выборочном принципе, проведен в монографии [75]. Отмечено, что широчайшее распространение получил «контроль,
основанный на выборочном принципе, согласно которому обучающийся вместе с вопросом получает список, в общем случае состоящий из правильных, неправильных, полуправильных, неточных и т.д. ответов. Задача обучающегося - найти все правильные ответы, но не исключаются и какие-либо другие требования». Программная реализация альтернативно-выборочного метода не вызывает сложностей. Применение заданий, основанных на альтернативно-выборочном методе широко используется для контроля теоретических знаний [8, 16, 33, 45, 52, 73]. Популярны задания с четырьмя альтернативами (вариантами ответа), один из которых правильный. Возможность применения такого типа заданий в математических дисциплинах обсуждалась в [44]. Встречаются варианты заданий с двумя альтернативами: «да» или «нет», «верно» или «неверно» и т.п. Автор [33] применяет вопросы по геометрии, построенные в конструкции «Верно ли...», на которые следует отвечать «да» или «нет». В [8] предлагается усовершенствование тестовой системы: вместо ответов «да» и «нет» введено несколько вариантов ответов с весовыми коэффициентами «да» - 1, «возможно да» - 0,72, «сомневаюсь» - 0,48, «возможно нет» - 0,21, «нет» - 0. Альтернативные коэффициенты: «возможно да» - 0,6, «сомневаюсь» - 0,4, «возможно нет» - 0,3. Балл за ответ вычисляется перемножением веса вопроса (0,...15) на коэффициент правильности (0, 1) и коэффициент степени уверенности. Для практической проверки знаний предлагаются дополнительные усовершенствования - введение второго (подтверждающего) уровня при решении поставленной задачи. Это позволяет уменьшить зависимость результата контроля от ошибки вычислений. После ввода ответа обучающийся выбирает один из предложенных алгоритмов возможного решения поставленной задачи. Далее система анализирует совместно ответ и выбранный алгоритм. Приведены задания для контроля знаний по дисциплине «Надёжность систем автоматизации».
В системах контроля знаний также реализованы задания открытого типа, в которых обучающийся должен ввести ответ. Например, они используются в [16, 79]. Проверка правильности ответа основана на сравнении с одним или несколькими эталонами (правильными ответами), заданными автором вопроса. Примером может служить тип вопроса «короткий ответ» в LMS Moodle [120]. Такие задания имеют две основные особенности, ограничивающие их область применения:
1. В случае полного совпадения с одним из эталонов ответ признаётся пра-
вильным. Не совпавший ни с одним эталоном ответ признаётся неправильным. То есть, ответ не может быть признан частично правильным.
2. Для многих заданий правильный ответ может быть представлен в различных формах. При этом количество ответов слишком велико для прямого перечисления. Такие задания в дальнейшем будем называть заданиями с многовариантным ответом.
С целью расширения области применения, исследуются возможности анализа открытого ответа [5, 34, 51, 74, 76]. В работе [5] рассматривается три типа тестовых заданий с открытым ответом:
- подстановка - от обучающегося требуется написание намеренно пропущенных автором задания слов или фраз;
- воспроизведение - от обучающегося требуется перечисление каких-либо характеристик объекта (явления) или воспроизведение определения понятия;
- типовая задача - от обучающегося требуется изложение решения типовой задачи.
Целью работы является совершенствование процесса обработки результатов тестирования за счёт автоматизированной интеллектуальной обработки неточной и неполной информации, содержащейся в открытых ответах. Для решения поставленных задач оценки ответа были использованы методы естественно-языковой обработки, онтологический подход для интеллектуального анализа и нечёткий логический регулятор для оценки степени правильности.
В работе [74] ставилась цель разработки моделей анализа ответа на задания открытого типа, требующие ввести определение того или иного термина, позволяющих автоматизировать процесс контроля знаний терминологии предметной области. В качестве предметной области выбран базовый курс информатики. В работе применяются технологии экспертных систем и информационного поиска, семантический анализ текста, построение синонимических рядов терминов предметной области. Для оценивания рассчитывается показатель синонимической близости (коэффициент синонимии) эталонного определения и ответа. При сравнении ответа обучающегося с эталоном используются операции над множествами термов (основ слов, отличающих их смысловое значение от остальных термов предметной области) ответа и эталона.
В статье [76] описана подсистема контроля знаний. Рассматривая вопросы с открытым ответом, авторы заявляют об «отсутствии в современных контрольно-
обучающих системах инструментов, позволяющих вводить развёрнутые ответы на естественном языке, а также средств адекватно оценивающих ответы на основе эталонных знаний, заложенных в системе». Для анализа открытых ответов предложено ввести модуль обработки знаний, который состоит из лингвистического или лексического процессора, базы знаний, а также машины логического вывода для сопоставления ответов и эталонных предложений, хранящихся в базе знаний. На первом этапе работы присутствуют ограничения на тип вводимых предложений.
В работе [51] рассматриваются задания с открытым ответом по основным определениям и характеристикам по направлению «Информатика и вычислительная техника». Для анализа ответа вводится коэффициент важности слов в определении. Анализ ответа осуществляется лингвистическим процессором, который содержит три блока: морфологический, синтаксический и семантический. Лингвистический процессор должен преобразовывать естественно-языковые предложения в набор семантических структур (формальное представление предложения), позволяющий представить их в базе знаний.
Разбор ответа на естественном языке является достаточно сложной задачей. Для её решения создаются базы знаний по конкретной узкой предметной области, используются лексический анализ и системы логического вывода. В современных системах управления обучением такой анализ открытого ответа не встречается. Для более развёрнутых ответов, например, эссе, контроль преподавателю приходится осуществлять вручную.
Задачи сопоставления с образцом встречаются в различных областях информатики, в частности в компиляторах [9], системах верификации [13], поисковых системах [78] и анализе естественных языков [70]. Одним из способов задания образцов служат регулярные выражения. Они применяются, например, в текстовых редакторах [3]. Регулярные выражения позволяют компактно записать множество строк с определённой структурой.
Рассматривая тестовые вопросы с открытым ответом в виде строки при наличии значительного количества вариантов правильного ответа, некоторые авторы предлагают использовать для анализа ответа регулярные выражения [20, 59, 67]. Они дают возможность написания шаблонов для правильных ответов. В [93] регулярные выражения использовались для проверки ответа на задание, в котором требуется по описанию записать объявление функции на языке С. В качестве
недостатка такого подхода отмечается отсутствие показа частичных совпадений при проверке регулярных выражений: в случае несовпадения строки с регулярным выражением не указывается место, в котором совпадение прервалось [67].
В[37] описаны особенности программного кода, снижающие эффективность применения методов обработки текста при оценке открытого ответа. Предложены методы предварительной обработки исходного кода (нормализации текста), позволяющие повысить эффективность работы алгоритмов проверки текста решения. Нормализация применяется к проверяемому и эталонному текстам с использованием одних и те же преобразований, для того чтобы свести различия в записи этих решений к минимуму. Множество эталонных решений нормализуется один раз. При этом в нем могут появиться совпадающие решения, которые удаляются. Предложено применять регулярные выражения для хранения множества эталонных решений и выполнения проверки текста решения.
Регулярные выражения берут своё начало в работах американского математика Стивена Клини. Впервые они упоминаются в работе [112] под названием «регулярные события» (regular events), где была показана их связь с конечными автоматами. В [112] представлена формальная математическая структура, позднее названная алгеброй Клини, частным случаем которой является алгебра регулярных выражений. Алгебра Клини включает операции объединения, конкатенации и звезда (замыкание) Клини. Алгоритм, который эффективно строит конечный автомат для заданного регулярного выражения, описан в работе [138]. Регулярные языки из иерархии Хомского [87] связаны с регулярными выражениями в [106]. Совокупный вклад Клини, Томпсона и Хопкрофта заложил основу для теории регулярных выражений и их практического использования. Их работа сформировала понимание регулярных выражений как математических объектов и привела к разработке эффективных алгоритмов для их обработки.
Регулярные выражения могут применяться для описания множества эталонных решений, поскольку синтаксис регулярных выражений включает специальные символы подстановки (wildcard символы) для описания варьируемых частей. Эталоны могут так же отличаться перестановками, что является проблемой для регулярных выражений. В [118] рассматривалась задача нахождения оптимального регулярного выражения, которое описывает все перестановки Pn из n элементов - символов конечного алфавита £. Критерием оптимальности является наименьшая длина регулярного выражения. В [118] приведено полученное методом
прямого перебора регулярное выражение, которое описывает все перестановки из четырёх элементов:
1(2(34+43)+3(24+42)+4(23+32))+2(1(34+43)+3(14+41)+4(13+31))+ 3(1(24+42)+2(14+41)+4(12+21))+4(1(23+32)+2(13+31)+3(12+21)) и оптимальное регулярное выражение для этой же перестановки: (12+21)(34+43)+(13+31)(24+42)+(23+32)(14+41)+ (14+41)(23+32)+(24+42)(13+31)+(34+43)(12+21). Такие регулярные выражения позволяют, например, найти в тексте любую перестановку четырёх заданных символов. Следует заметить, что такой способ описания перестановок фактически сводится к прямому перечислению и является достаточно громоздким.
Рекомендованный список диссертаций по специальности «Другие cпециальности», 00.00.00 шифр ВАК
Автоматизация проверки знаний и навыков студентов в области прикладной математики и информатики2004 год, кандидат технических наук Веретенников, Максим Викторович
Методы поддержки принятия решений при управлении решением сложных открытых задач на основе интеллектуального анализа сообщений об ошибках2021 год, кандидат наук Латыпова Виктория Александровна
Методы и инструменты декларативного программирования динамических Web-узлов и приложений2017 год, кандидат наук Кейно, Павел Петрович
Методы и алгоритмы построения компьютерных учебных программ и систем на основе генераторов информационных объектов2005 год, доктор технических наук Кручинин, Владимир Викторович
Модели, методы и инструментальные средства интерактивного контроля выполнения многошаговых учебных заданий2006 год, кандидат технических наук Садчиков, Сергей Михайлович
Введение диссертации (часть автореферата) на тему «Алгоритм анализа степени соответствия структурированной последовательности формальному языку на примере обучения программированию»
Актуальность работы
Обзор источников, в которых обсуждаются различные аспекты контроля знаний и практических навыков, позволяет сделать следующие выводы:
- анализ методов автоматизированной подготовки заданий показал, что генерация заданий по программированию в литературе не обсуждается;
- методы автоматизированной проверки знаний и практических навыков, реализуемые при изучении компьютерных наук, не уделяют серьёзного внимания анализу текстов программ, написанных обучающимися; инструменты для автоматизации этого процесса в литературе не описаны;
- анализ открытых ответов для текстов программ мало проработан. Расширить возможности автоматизированного контроля знаний позволит
новый тип заданий, в котором:
- обучающийся составляет ответ из заранее заданных смысловых единицы;
- правильный ответ состоит из расположенных в определённом порядке логических блоков, объединяющих заранее заданные смысловые единицы, то есть является структурированной последовательностью;
- правильными ответами на одно задание могут являться несколько различных структурированных последовательностей (многовариантное задание, задание с многовариантным ответом);
- ответ обучающегося может быть оценен как правильный, неправильный или частично правильный.
Новый тип заданий может быть основан на конструктивно-выборочном методе. Идея этого метода известна достаточно давно, например, описана в [19]. Авторы
[75] отмечают, что конструктивно-выборочный метод требует творческого подхода от обучающегося и уменьшает вероятность угадывания правильного ответа. В литературе применение метода в системах автоматизированного контроля знаний практически не обсуждается, а программная реализация не встречается. Конструктивно-выборочный метод предполагает, что условие задачи для обучающегося дополнено списком элементов, являющихся допустимыми смысловыми единицами, из которых он составляет ответ. Таким образом для автоматизированного контроля последовательность, представляющую ответ обучающегося, необходимо сравнить с имеющимися эталонами (правильными ответами). Для этого требуется рассмотреть различные способы установления сходства последовательностей.
Разработка программной системы, реализующей конструктивно-выборочный метод, позволит расширить возможности автоматизированного контроля. Это обуславливает актуальность темы диссертационной работы для образовательных учреждений различного уровня.
Цели и задачи исследования. Целью исследования является разработка теоретических основ и комплекса программ для оценки степени соответствия структурированных последовательностей на примере проверки ответов на учебные задания по программированию.
Задачи исследования:
1. Провести анализ существующих мер сходства и их применения в различных предметных областях.
2. Построить формальную модель представления учебного задания с многовариантным ответом при помощи множества структурированных последовательностей.
3. Разработать формальный язык записи множества структурированных последовательностей для описания ответов на учебное многовариантное задание.
4. Разработать алгоритм анализа степени соответствия заданной последовательности формальному языку записи множества структурированных последовательностей.
5. Разработать предметно-ориентированный язык разметки для автоматизированного создания структурированной последовательности, представляющей исходный текст программ в рамках учебного задания по программированию.
6. Разработать программный комплекс для реализации представленной фор-
мальной модели, алгоритма анализа степени соответствия и алгоритма создания учебных заданий из исходных текстов программ.
Научная новизна результатов, представленных в работе, состоит в следующем:
1. Предложен формальный язык для записи множества структурированных последовательностей, отличающийся возможностью описания перестановки частей структурированной последовательности без их прямого перечисления, позволяющий описывать последовательности, частично удовлетворяющие языку.
2. Разработан алгоритм анализа соответствия заданной последовательности формальному языку записи множества структурированных последовательностей, отличающийся возможностью анализа частичного соответствия, позволяющий количественно оценить степень соответствия на основе специально разработанных мер сходства.
3. Предложен предметно-ориентированный язык разметки, который позволяет формировать структурированные последовательности из исходных текстов программ на произвольном языке программирования, которые предназначены для проверки знаний по программированию.
Положения, выносимые на защиту, состоят в следующем:
1. Формальный язык для записи множества структурированных последовательностей.
2. Алгоритм анализа для оценки степени соответствия заданной последовательности формальному языку записи множества структурированных последовательностей.
3. Предметно-ориентированный язык разметки для создания структурированных последовательностей из исходных текстов программ.
4. Комплекс программ, включающий реализацию транслятора языка записи множества структурированных последовательностей, транслятора предметно-ориентированного языка разметки, алгоритма анализа для оценки степени соответствия и программный интерфейс приложения, позволяющий интеграцию в существующими системами.
Методы исследования. Для решения поставленных задач использованы методы дискретной математики, теории автоматов и формальных языков, теории алгоритмов, программной инженерии, объектно-ориентированного анализа и проектирования.
Теоретическая и практическая значимость диссертации.
Теоретическая значимость:
1. Алгоритм анализа для оценки степени соответствия заданной последовательности формальному языку записи множества структурированных последовательностей и разработанные для него меры сходства могут быть применены в различных предметных областях.
2. Формальный язык записи множества структурированных последовательностей, алгоритм анализа для оценки степени соответствия заданной последовательности формальному языку и предметно-ориентированный язык разметки могут стать основой для дальнейших разработок и исследований в области автоматизированного контроля знаний.
Практическая значимость:
1. Разработанный программный комплекс позволяет применять алгоритм анализа для оценки степени соответствия заданной последовательности формальному языку записи множества структурированных в существующих системах контроля знаний и системах управления обучением путем разработки соответствующих расширений.
2. Разработанный программный комплекс расширяет инструментарий педагогов образовательных учреждений различных уровней и позволяет разнообразить контактную и самостоятельную работу обучающихся.
3. Разработанный программный комплекс является полностью готовым решением для автоматизации контроля знаний и практических навыков по программированию.
Результаты диссертационной работы внедрены в учебный процесс ФГАОУ ВО «Национальный исследовательский Томский государственный университет» для студентов направлений подготовки 02.03.02 - «Фундаментальная информатика и информационные технологии» по бакалаврской программе «Искусственный интеллект и разработка программных продуктов», 02.03.03 - «Математическое обеспечение и администрирование информационных систем» по бакалаврской программе «DevOps-инженерия в администрировании инфраструктуры ИТ-разработки», 09.03.03 - «Прикладная информатика» по бакалаврской программе «Разработка программного обеспечения в цифровой экономике» на лабораторных работах по дисциплине «Основы программирования».
Результаты диссертации использованы в ФГАОУ ВО «Томский государствен-
ный университет систем управления и радиоэлектроники» при выполнении государственного задания Министерства науки и высшего образования РФ, проект FEWM-2023-0013 «Гибридная методология построения цифровых моделей социально-экономических и технических систем со структурной и параметрической неопределенностью».
Достоверность полученных результатов подтверждается корректным использованием методов дискретной математики, теории автоматов и формальных языков, теории алгоритмов, программной инженерии, объектно-ориентированного анализа и проектирования, а также компьютерными экспериментами.
Личный вклад автора. Общая концепция исследования принадлежит научному руководителю. Цели и задачи исследования сформулированы автором совместно с научным руководителем. Также совместно с научным руководителем был определён план работы и обсуждались результаты исследований. Все основные научные результаты, выносимые на защиту и составляющие основное содержание диссертации, получены автором самостоятельно. В совместных публикациях научному руководителю принадлежат постановки задач и указание основных направлений исследования.
Соответствие диссертации паспорту научной специальности. Диссертационная работа соответствует области исследования специальности 2.3.5. Математическое и программное обеспечение вычислительных систем, комплексов и компьютерных сетей (технические науки) по п. 1 «Модели, методы и алгоритмы проектирования, анализа, трансформации, верификации и тестирования программ и программных систем» (п. 2 научной новизны), п. 2 «Языки программирования и системы программирования, семантика программ» (пп. 1, 3 научной новизны).
Публикации. По материалам диссертации опубликовано 11 работ, в том числе 4 статьи в журналах, включенных в Перечень рецензируемых научных изданий, в которых должны быть опубликованы основные научные результаты диссертаций на соискание ученой степени кандидата наук, на соискание ученой степени доктора наук (из них 2 статьи в российском научном журнале, входящим в Web of Science), 6 публикаций в сборниках материалов международных научных, научно-методических и научно-практических конференций, получено 1 свидетельство о государственной регистрации программы для ЭВМ.
Апробация работы. Основные результаты работы и отдельные ее положе-
ния докладывались и обсуждались на следующих научных конференциях международного и всероссийского уровня:
- XVIII Международная конференция имени А. Ф. Терпугова «Информационные технологии и математическое моделирование», г. Саратов, 2019 г.
- XIX Международная конференция имени А. Ф. Терпугова «Информационные технологии и математическое моделирование», г. Томск, 2020 г.
- Международная научно-методическая конференция «Современное образование: повышение конкурентоспособности университетов», г. Томск, 2021 г.
- XI Международная научно-практическая конференция «Современные технологии в российской и зарубежных системах образования», г. Пенза, 2022 г.
- Международная молодежная научно-практическая конференция с элементами научной школы «Прикладная математика и фундаментальная информатика», г. Омск, 2022 г.
Структура работы. Диссертация состоит из введения, четырёх глав, заключения, списка литературы и двух приложений. Общий объем диссертации составляет 133 страницы; иллюстративный материал представлен 22 рисунками и 27 таблицами; список литературы содержит 141 наименование.
1 Анализ существующих мер сходства последовательностей
В данной диссертационной работе будем считать что задание с многовариантным ответом, основанное на конструктивно-выборочном методе, включает в себя:
- формулировку задачи для обучающегося;
- список смысловых единиц, из которых следует составить ответ;
- ответ обучающегося;
- множество правильных ответов;
- способ проверки ответа обучающегося.
В рамках конструктивно-выборочного метода ответ представляет собой последовательность заданных смысловых единиц. Такие смысловые единицы в дальнейшем будем называть компонентами. Любой ответ на задание является последовательностью компонентов, которые обучающийся расположил в определённом порядке. В дальнейшем, такие последовательности будем называть упорядоченными, подчёркивая тот факт, что задан определённый порядок следования компонентов друг за другом. Будем считать, что каждое задание имеет хотя бы один правильный ответ, и ответ обучающегося состоит хотя бы из одного компонента.
Проверка ответа обучающегося сводится к сравнению одной последовательности с несколькими эталонными (структурированными последовательностями). Результатом проверки должно быть значение из промежутка [0,1], показывающее сходство ответа обучающегося с множеством правильных ответов конкретного задания. Такая оценка может быть получена при помощи сходства последовательностей. Во многих областях важно алгоритмически определить сходство двух строк, состоящих из символов конечного алфавита [114]. Сходство последовательностей встречается в компьютерной лингвистике, биоинформатике, распознавании речи, диалектологии и других областях [130].
1.1 Формирование последовательностей с помощью компонентов
Конструктивно-выборочный метод предполагает, что обучающемуся выдан список компонентов, который должен быть определён при формировании задания. Подбор компонентов осуществляет преподаватель. Будем учитывать следующие варианты:
1. компонент входит во все правильные ответы;
2. компонент входит в часть правильных ответов;
3. компонент не входит ни в один правильный ответ, то есть является избыточным.
Избыточные компоненты могут быть добавлены по желанию преподавателя. Наличие таких компонентов позволяет увеличивать сложность задания и мотивировать обучающегося применять творческий подход. В рамках задания каждому компоненту присваивается уникальный номер - натуральное число. Предполагается, что все компоненты одного задания различны и образуют множество компонентов С, |С| > 2.
Формализуем характеристики ответа, важные с точки зрения обучающегося. Ответ, составленный обучающимся из предложенных компонентов, может быть представлен одной из основных комбинаторных конфигураций:
- обучающийся расставляет все предложенные компоненты в определённом порядке - перестановка без повторения (конфигурация первого типа);
- обучающийся включает в ответ часть компонентов - размещение без повторения (конфигурация второго типа);
- обучающийся включает в ответ часть компонентов, и хотя бы один компонент встречается в ответе более одного раза - размещение с повторением (конфигурация третьего типа);
- обучающийся использует все предложенные компоненты, причём часть компонентов встречается более одного раза - перестановка с повторением (конфигурация четвёртого типа).
Ответ обучающегося представлен последовательностью натуральных чисел (номеров компонентов). При этом возможно появление номера компонента в последовательности более одного раза (конфигурации третьего и четвёртого типа). Количество компонентов в ответе будем считать конечным и называть длиной ответа. Обозначим максимально возможную длину ответа как 1тах (1тах > 1), 1а - длина конкретного ответа обучающегося. При этом 1а, 1тах е N. Сопоставляя |С| и 1а для конкретного задания, можно отметить:
- у конфигурации первого типа 1а = 1тах = |С |;
- у конфигурации второго типа 1а < ^ |, 1тах = ^ | — 1;
- у конфигурации третьего типа 1а и 1тах не связаны с |С |;
- у конфигурации четвёртого типа 1а > ^ |.
Все возможные ответы на данное задание представляют собой кортежи:
С х С х ••• х С5 la — 1,lmax• v--
la раз
Обозначим множество всех возможных ответов A, причём:
imOf ICI (1 — ICI lmax )
I A I— £i С | la — ' C ' 'I _| С | ' • (M)
la = 1 1 1
С точки зрения преподавателя A — RU W, где R - множество правильных ответов, W - множество неправильных ответов, R П W — 0.
Формируя задание с многовариантным ответом, преподаватель задаёт множество компонентов С и множество правильных ответов R. Множество R может не включать всевозможные правильные ответы на предлагаемое задание. При подготовке задания важно, чтобы из предложенных компонентов невозможно было составить ответ а, который является правильным, но а </ R.
Преподаватель имеет определённую свободу в подборе компонентов, используя один или несколько вариантов правильного ответа. Рассмотрим процесс выбора компонентов для задач из области обучения программированию. В этом случае в роли ответа выступают программы. Рассматривать программу с точки зрения последовательности символов нерационально, поскольку формирование ответа становится равнозначным набору текста и возникает задача анализа открытого ответа.
Программа является структурированным текстом на формальном языке, поэтому компоненты рационально связывать либо с грамматикой языка, либо с алгоритмизацией. Можно предложить следующие варианты разбиения на компоненты:
- по смысловым блокам;
- по строкам программного кода;
- по идентификаторам и терминальным символам.
Рассмотрим подбор компонентов на примере. Возьмём простейшую программу, которая сравнивает два целых числа и выводит большее из них. Пусть преподаватель хочет дать программу на языке Python. Код программы приведён на листинге 1.1.
Листинг 1.1 — Пример программы
a = int(input ()) b = int(input()) if a > b:
print(a) else :
print(b)
Простейшим способом будет разбиение на компоненты по смысловым блокам (конфигурация первого типа):
1. a = int(input()) 2. if a > b: b = int(input()) print(a)
else: print(b)
При таком подборе компонентов существует только один правильный ответ - последовательность 1;2. Возможно разбиение на компоненты по строкам программного кода (конфигурация второго типа):
1. a = int(input()) 4. print(a)
2. b = int(input()) 5. else:
3. ifa>b: 6. print(b)
Исходной программе будет соответствовать последовательность 1;2;3;4;5;6. Кроме того, существует правильный ответ 2;1;3;4;5;6. Ещё один вариант получим, разделяя текст программы на идентификаторы и терминальные символы (конфигурация третьего типа):
1. a 5. input 9. >
2. = 6. ) 10. :
3. int 7. b 11. print
4. ( 8. if 12. else
Исходной программе будет соответствовать последовательность
1;2;3;4;5;4;6;6;7;2;3;4;5;4;6;6;8;1;9;7;10;11;4;1;6;12;10;11;4;7;6.
Также существует правильный ответ, в котором ввод переменных a и Ь меняется местами. В условном операторе можно заменить а > Ь на Ь > а, ас использованием компонента 2 на a >= Ь или Ь >= a.
Поставленная задача не указывает, что следует делать, если пользователь дважды введёт одно и то же число (а = b). В таком случае программа на листинге 1.1 и все рассмотренные ранее варианты программ выведут заданное пользователем число. Из приведённых двенадцати компонентов можно собрать несколько программ, которые будут учитывать случай равенства двух чисел. Например, вариант со вложенностью условных операторов - если a больше b, вывести значение a, иначе если b больше a вывести значение b. Тогда программа не выведет ничего, если заданы равные значения a и b.
В результате помимо исходной программы получается ещё одиннадцать возможных правильных программ:
- 7;2;3;4;5;4;6;6;1;2;3;4;5;4;6;6;8;1;9;7;10;11;4;1;6;12;10;11;4;7;6;
- 1;2;3;4;5;4;6;6;7;2;3;4;5;4;6;6;8;7;9;1;10;11;4;7;6;12;10;11;4;1;6;
- 7;2;3;4;5;4;6;6;1;2;3;4;5;4;6;6;8;7;9;1;10;11;4;7;6;12;10;11;4;1;6;
- 1;2;3;4;5;4;6;6;7;2;3;4;5;4;6;6;8;1;9;2;7;10;11;4;1;6;12;10;11;4;7;6;
- 7;2;3;4;5;4;6;6;1;2;3;4;5;4;6;6;8;1;9;2;7;10;11;4;1;6;12;10;11;4;7;6;
- 1;2;3;4;5;4;6;6;7;2;3;4;5;4;6;6;8;7;9;2;1;10;11;4;7;6;12;10;11;4;1;6;
- 7;2;3;4;5;4;6;6;1;2;3;4;5;4;6;6;8;7;9;2;1;10;11;4;1;6;12;10;11;4;7;6;
- 1;2;3;4;5;4;6;6;7;2;3;4;5;4;6;6;8;1;9;7;10;11;4;1;6;12;10;8;7;9;1;10;11;4;7;6;
- 7;2;3;4;5;4;6;6;1;2;3;4;5;4;6;6;8;1;9;7;10;11;4;1;6;12;10;8;7;9;1;10;11;4;7;6;
- 1;2;3;4;5;4;6;6;7;2;3;4;5;4;6;6;8;7;9;1;10;11;4;7;6;12;10;8;1;9;7;10;11;4;1;6;
- 7;2;3;4;5;4;6;6;1;2;3;4;5;4;6;6;8;7;9;1;10;11;4;7;6;12;10;8;1;9;7;10;11;4;1;6;
В рассмотренных примерах элементами множества A являются последовательности различной длины, составленные из заданных компонентов. Последовательности могут соответствовать как корректным с точки зрения языка программирования текстам программ, так и некорректным. Для случая 2 последовательность 1;2;6 соответствует программе, приведённой на листинге 1.2. Такая программа является корректной с точки зрения грамматики языка Python. Если введённые значение всегда удовлетворяют неравенству b > а, то результат выполнения этой программы будет давать верное решение поставленной задачи.
Листинг 1.2 — Пример программы
a = int(input ()) b = int(input()) print(b)
В случае 2 множество правильных ответов Я состоит из двух элементов |Я| = 2, в случае 3 |Я| = 12. Выбор компонентов привёл к возникновению задания с многовариантным ответом. Для оценки правильности ответа обучающегося необходимо определить сходство ответа а Е А с каждым правильным ответом г Е Я. Таким образом возникает задача установления сходства двух последовательностей.
1.2 Меры сходства в множественной интерпретации
Для выявления сходства последовательностей используются различные коэффициенты. Большинство коэффициентов берут начало из различных областей биологии: коэффициенты близости (coefficient of closeness), Жаккара, Сёренсе-на, Симпсона. Следует отметить, что название этих коэффициентов варьируется в русскоязычной и англоязычной литературе. В зависимости от области и интерпретации коэффициенты с одинаковыми по сути формулами могут иметь различные названия:
- коэффициент Сёренсена (в англоязычной литературе коэффициент Сё-ренсена-Дайса);
- коэффициент близости (коэффициент Отиаи, коэффициент Отиаи-Оцуки [123], коэффициент Отиаи-Баркмана [84, 99]);
- коэффициент Симпсона (коэффициент Шимкевича-Симпсона, коэффициент наложения, overlap coefficient [140]).
В дальнейшем будем использовать следующие названия: коэффициенты близости (coefficient of closeness), Жаккара, Сёренсена-Дайса, Симпсона.
Коэффициент Жаккара предложен швейцарским биологом Полем Жакка-ром в работе [107]. В монографии [18], посвященной количественной экологии растений, говорится «Жаккар использовал для оценки степени флористического сходства между двумя участками коэффициент общности, определяемый как число видов, общих для двух участков, выраженное в процентах от общего числа видов». Коэффициент Жаккара в работе [10] вводится для качественной оценки или количественного определения сходства двух геоботанических описаний как:
K = (1.2)
а + b — c
где c - число видов, общих для двух описаний, а - число видов в первом описании
и b - число видов во втором описании. В [62] даётся интерпретация коэффициента Жаккара при помощи диаграммы Венна. Если заданы множества A и B, то коэффициент Жаккар вычисляется как:
|A П B| _ |A П B| J B j — \Шв\ — | A | + |B |-|A П B | • (1.3)
В англоязычной литературе коэффициент Жаккара называют индексом Жаккара.
Специалисты по биомедецинской информатике, биоинформатике и компьютерным наукам в статье [85] использовали коэффициент Жаккара для сравнения геномов в системе распределённых вычислений. В [21] коэффициент Жаккара используется для оценки количества видов различных травянистых растений, общих для пары подобных площадей. В качестве примеров применения коэффициента Жаккара в иных областях отметим его использование в алгоритме генерации аннотации к документу (новостной статье) [109]. Модификации коэффициента Жаккара используются для цепочек в графах [139] в рекомендательной системе и в качестве функции потери (loss function) в нейронной сети для предсказания действий человека по видео фрагменту [96].
Коэффициент Сёренсена предложен датским ботаником Торвальдом Сёрен-сенсоном [136] и вычисляется по формуле:
2c
qs —
а + b
Американским экологом Ли Дайсом в работе [89], где описано статистическое исследование «экологической ассоциации» (ecologic association) между видами, вводится Coincidence index вычисляемый по формуле:
Coincidence index — 2h
a + b'
где a - количество выборок, в которых встречается биологический вид A, Ь - количество выборок, в которых встречается биологический вид Б, К - количество выборок, в которых вместе встречаются биологические виды А и Б.
Коэффициент Сёренсена-Дайса используются в [21] для количественной оценки видового разнообразия произростания живого напочвенного покрова хребта Гремячей гривы и Торгашинского хребта г. Красноярска. Сделан вывод, что коэффициент Сёренсена-Дайса позволяет оценить количество видов, общих для па-
ры подобных площадей. В [17] используется вариация коэффициента Сёренсена-Дайса для случая дескриптивных множеств (индекс Сёренсена-Чекановского) для исследования выборки разновидностей водорослей в донных отложениях 83 озёр в Якутии.
Помимо различных областей биологии, коэффициент Сёренсена-Дайса используется в компьютерных науках. Для сегментации медицинских изображений коэффициент Сёренсена-Дайса применялся в [92]. В работе [7] описано использование коэффициента Сёренсена-Дайса для оценивания качества распознавания тел позвонков искусственной нейронной сетью по сравнению с ручной разметкой.
Коэффициент Симпсона предложен независимо друг от друга польским биологом Дезидерием Шимкевичем в работе [135] и американским палеонтологом Джорджем Симпсоном в работе [131]. Симпсон, обсуждая сходство фаун, утверждает, что самая распространённая на момент написания его статьи мера сходства выражается формулой:
С (1.4)
N + N2 - С
где N1 - количество таксономических единиц в наименьшей из двух фаун, N -количество таксономических единиц в наибольшей из двух фаун, С - количество таксономических единиц, общих для N1 и N2. Формулы (1.2) и (1.4) фактически совпадают (без учёта перевода в проценты). Симпсон отмечает, что при применении к палеонтологическим данным меры сходства, полученной по формуле (1.4), является ненадёжной. Для задач палеонтологии Симпсон предлагает считать меру сходства по формуле:
N1
Шимкевич в своей работе даёт формулу:
_ А
Похожие диссертационные работы по специальности «Другие cпециальности», 00.00.00 шифр ВАК
Управление в системах электронного обучения на базе формального аппарата семиотики и теории систем2013 год, кандидат наук Зверева, Нина Николаевна
Методы и инструментальные средства крупноблочного синтеза параллельных программ для вычислительных кластеров2005 год, кандидат технических наук Новопашин, Алексей Петрович
Формирование компетентности преподавателя вуза в области автоматизированного тестирования знаний2015 год, кандидат наук Давыдова, Наталья Александровна
Методы комплексного подхода к автоматизации дедуктивной верификации программ с финитными итерациями2022 год, кандидат наук Кондратьев Дмитрий Александрович
Автоматизация построения многовариантных тестовых заданий на основе деревьев и/или2014 год, кандидат наук Зорин, Юрий Алексеевич
Список литературы диссертационного исследования кандидат наук Жуков Игорь Андреевич, 2025 год
Список литературы
1. Антипин А. Ф. О разработке сетевой автоматизированной системы для контроля знаний по программированию / А. Ф. Антипин // Современные наукоемкие технологии. - 2016. - №10-1. - С. 19-23.
2. Принципы, технологии и инструментарий, 2-е изд. / А. В. Ахо, М. С. Лам, Р. Сети, Д. Д. Ульман. ; пер. с англ. - М. : ООО "И.Д. Вильямс", 2008. - 1184 с.
3. Ахо А. Построение и анализ вычислительных алгоритмов / А. Ахо, Дж. Хопкрофт, Дж. Ульман ; пер. с англ. - М.: Мир, 1979. - 536 с.
4. Баженова И. Ю. Особенности обучения языкам программирования при дистанционной форме образования / И. Ю. Баженова // Современные информационные технологии и ИТ-образование. - 2014. - №10. - С. 190-196.
5. Базарон С. А. Система интеллектуального анализа и оценивания конструируемых ответов при автоматизированном тестировании : специальность 05.13.01 "Системный анализ, управление и обработка информации (по отраслям)": диссертация на соискание ученой степени кандидата технических наук / С. А. Базарон. - Улан-Удэ, 2011. - 188 с.
6. Барабанова П. С. Разработка электронного курса по программированию для самоподготовки студентов технического вуза / П. С. Барабанова, Р. А. Лям-кин, И. С. Макарова // Бюллетень лаборатории математического, естественнонаучного образования и информатизации : материалы Международной научно-практической конференции «Математическое, естественнонаучное образование и информатизация». Самара, 22-23 октября 2015 года. - М. : МГПУ, 2015. - С. 62-66.
7. Использование сверточной нейронной сети для автоматизации построения двумерных твердотельных моделей позвонков / А. С. Бескровный, Л. В. Бессонов, Д. В. Иванов [и др.] // Известия Саратовского университета. Новая серия. Серия: Математика. Механика. Информатика. - 2020. - Т. 20, № 4. - С. 502-516. -DOI: 10.18500/1816-9791-2020-20-4-502-516.
8. Большаков А. А. Контроль знаний в интеллектуальной обучающей системе по курсу "надежность систем автоматизации" / А. А. Большаков, А. Ю. Маркелов // Вестник Саратовского государственного технического университета. - 2010. - Т. 4. № 2. - С. 153-156.
9. Васенин В. А. Промежуточное представление программ для описания
типов в терминах сопоставления значений с образцом / В. А. Васенин, М. А. Крив-чиков // Программирование. - 2020. - №1. - С. 63-74.
10. Василевич В. И. Статистические методы в геоботанике / В. И. Василе-вич Л. : Наука, 1969. - 232 с.
11. Власова Е. А. Создание фонда оценочных средств и новых образовательных технологий с использованием МА^АВ при изучении линейной алгебры / Е. А. Власова, В. С. Попов, О. В. Пугачев // Вестник Московского государственного областного университета. Серия: Физика-математика. - 2016. - № 4. - С. 77-85.
12. Ганичева А. В. Интеллектуальная информационная система оптимального контроля знаний / А. В. Ганичева // Политематический сетевой электронный научный журнал Кубанского государственного аграрного университета. - 2014. -№101.-С. 358-374.
13. Методы специализации онтологии процессов, ориентированной на верификацию / Н. О. Гаранина, И. С. Ануреев, О. И. Боровикова, В. Е. Зюбин // Моделирование и анализ информационных систем. - 2019. Т. 26. №4. - С. 534549.
14. Гладких И. Ю. Системы автоматизированного тестирования по программированию в образовательном пространстве / И. Ю. Гладких, А. В. Якушин // Современные проблемы науки и образования. - 2016. - №3. - С. 326.
15. Гладских Д. С. О проблемах формирования компетенций в области программирования у бакалавров ^-направления / Д. С. Гладских, А. А. Штанюк // Информатика и образование. - 2015. - № 5(264). - С. 71-74.
16. Голанова А. В. Организация итогового контроля знаний по дисциплине «Программирование» будущих бакалавров педагогического образования / А. В. Голанова, Е. И. Голикова // XXII Царскосельские чтения материалы международной научной конференции. Санкт-Петербург, 23-24 апреля 2018 года. - СПб. : Ленинградский государственный университет имени А. С. Пушкина, 2018. - С. 75-79.
17. Городничев Р. М. Сходство таксономического состава диатомовых водорослей озер Севера Якутии / Р. М. Городничев, И. М. Спиридонова, Л. А. Пест-рякова // Современные проблемы науки и образования. - 2015. - № 3. - С. 620.
18. Грейг-Смит П. Количественная экология растений / П. Грейг-Смит - М. : Мир, 1967.-358 с.
19. Довгялло А. М. Программированный учебник / А. М. Довгялло, Е. Л. Ющенко // Энциклопедия кибернетики. Том 2. - Киев: Главная редакция УСЭ, 1975.-С. 243-244.
20. Донцов Д. С. Особенности задачи вынесения общей части операндов альтернативы в регулярных выражениях / Д. С. Донцов, Г. В. Терехов // XXIII Региональная конференция молодых исследователей Волгоградской области : тезисы докладов XXIII Региональной конференции молодых исследователей Волгоградской области. Волгоград, 11-14 декабря 2018 года-Волгоград : Волгоградский государственный технический университет, 2019. - С. 167.
21. Егорова А. А. Биоразнообразие систематических групп травянистых растений / А. А. Егорова // Молодые ученые в решении актуальных проблем науки : сборник материалов Всероссийской научно-практической конференции студентов, аспирантов и молодых ученых. Красноярск, 22-23 апреля 2021 года. - Красноярск : Федеральное государственное бюджетное образовательное учреждение высшего образования "Сибирский государственный университет науки и технологий имени академика М.Ф. Решетнева 2021. - С. 13-17.
22. Жуков И. А. Система проверки многоваринатных заданий по программированию / И. А. Жуков // Информационный бюллетень Омского научно-образовательного центра ОмГТУ и ИМ СО РАН в области математики и информатики : Материалы XII Международной молодежной научно-практической конференции с элементами научной школы. Омск, 16-21 мая 2022. - Омск : Омский государственный технический университет, 2022. - С. 88-89.
23. Жуков И. А. Новый тип заданий для опКпе-обучения программированию / И. А. Жуков, Ю. Л. Костюк // Современное образование: содержание, технологии, качество. - 2022. - Т. 1 - С. 96-97.
24. Жуков И. А. Применение инструмента, реализующего новый тип заданий по программированию / И. А. Жуков, Ю. Л. Костюк // Современные технологии в российской и зарубежных системах образования : Сборник статей XI Международной научно-практической конференции. Пенза, 18-19 апреля 2022 года. -Пенза : Пензенский государственный аграрный университет, 2022. - С. 41-45.
25. Жуков И. А. Программная реализация заданий по программированию с многовариантными решениями / И. А. Жуков, Ю. Л. Костюк // Информационные технологии и математическое моделирование (ИТММ-2020): Материалы XIX Международной конференции имени А.Ф. Терпугова. Томск, 02-05 декабря 2020
года. - Томск : Издательство научно-технической литературы, 2021. - С. 285-290.
26. Жуков И. А. Модель представления заданий с многовариантными ответами для автоматизированного тестирования / И. А. Жуков, Ю. Л. Костюк // Информационные технологии и математическое моделирование (ИТММ-2019): материалы XVIII Междунар. конф. им. А. Ф. Терпугова. Саратов, 26-30 июня 2019 года. Том Часть 1. - Томск : Изд-во НТЛ, 2019. - С. 31-36.
27. Жуков И. А. Модель представления многовариантных заданий для автоматизированного контроля знаний по программированию / И. А. Жуков, Ю. Л. Костюк // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. - 2020. - № 53. - С. 110-117. - DOI: 10.17223/19988605/53/11.
28. Жуков И. А. Предметно-ориентированный язык для генерации заданий из исходных текстов программ / И. А. Жуков, Ю. Л. Костюк // Вестник Новосибирского государственного университета. Серия: Информационные технологии. - 2022. Т.20. №1. - С. 18-27. - DOI: 10.25205/1818-7900-2022-20-1-18-27.
29. Жуков И. А. Расширенный алгоритм контроля знаний для модели представления многовариантных заданий / И. А. Жуков, Ю. Л. Костюк // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. - 2021.-№ 57. - С. 101-109. - DOI: 10.17223/19988605/57/11.
30. Жуков И. А. Система контроля знаний и практических навыков по программированию / И. А. Жуков, Ю. Л. Костюк // Информатика и образование. -2023. - Т. 38. №2. - С. 66-74. -DOI: 10.32517/0234-0453-2023-38-2-66-74.
31. Зорин Ю. А. Интерпретатор языка построения генераторов тестовых заданий на основе деревьев И/ИЛИ / Ю. А. Зорин // Доклады Томского государственного университета систем управления и радиоэлектроники. - 2011. - №1 (27). - С. 75-79.
32. ИСО/МЭК 14977:1996 Информационная технология. Синтаксический метаязык. Расширенная форма Бэкуса-Наура.
33. Иванова О. В. Использование интерактивных компьютерных технологий на уроках геометрии обобщающего повторения / О. В. Иванова // Информатика и образование. - 2017. - № 4. - C. 22-27.
34. Методы интеллектуальной системы контроля знаний студентов для дистанционного обучения / Д. И. Кабенов, Б. Ш. Разахова, Д. Ж. Сатыбалдина, Р. Муратхан // Physico-mathematical and technical sciences as postindustrial foundation
of the informational society evolution. Materials digest of the XXXIX International Research and Practice Conference and the III stage of the Championship in technical, physical and mathematical sciences. / International Academy of Science and Higher Education. - London : Международная академия наук и высшего образования, 2013.-С. 96-100.
35. Карманова Е. В. Автоматизированный контроль при обучении программированию на Python c использованием плагина CodeRunner LMS Moodle / Е. В. Карманова // Наука. Информатизация. Технологии. Образование: материалы XIV Международной научно-практической конференции. Екатеринбург, 01-05 марта 2021 года. - Екатеринбург : РГППУ, 2021. - С. 102-108.
36. Генератор заданий по инженерной графике / Е. П. Касаткина, Е. А. Хеси-на, Е. Я. Чахеев, В. А. Суховерхий // Информатизация инженерного образования: Труды Международной научно-практической конференции - ИНФ0РИН0-2016. Москва, 12-13 апреля 2016 года. - Москва : Издательский дом МЭИ, 2016. - С. 142-145.
37. Катаев А. В. Способы проверки решений заданий по программированию в обучающих системах / А. В. Катаев, О. А. Шабалина, В. А. Камаев // Прикаспийский журнал: управление и высокие технологии. - 2011. - № 3(15). - С. 19-25.
38. Костюк Ю. Л. Лекции по основам программирования: учебное пособие / Ю. Л. Костюк Томск: Издательский Дом Томского государственного университета, 2019.-260 с.
39. Кусок Е. Н. Разработка методов распознавания текста с использованием N-грамм для коррекции результатов / Е. Н. Кусок // Белорусский государственный университет. Научная конференция студентов и аспирантов : сборник работ 74-й научной конференции студентов и аспирантов Белорусского государственного университета: в 3 частях. Минск, 15-24 мая 2017 года. Часть I. - Минск : Белорусский государственный университет, 2017. - С. 41-45.
40. Лапин В. А. Разработка моделей и методов управления базами данных для комплексов компьютерного контроля знаний : специальность 05.13.11 "Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей": диссертация на соискание ученой степени кандидата технических наук / В. А. Лапин. - Москва, 2011. - 246 с.
41. Левенштейн В. И. Двоичные коды с исправлением выпадений, вставок
и замещений символов / Левенштейн В. И. // Доклады академии наук СССР. -1965. - Т. 163. № 4. - С. 845-848.
42. Леонова А. В. Определение авторства текстов на основе подхода n-грамм / А. В. Леонова, И. В. Леонова // Научное обозрение. Технические науки. -2018.-№6.- С. 37-40.
43. Лещенко А. В. Практическое применение алгоритмов нечеткого поиска / А. В. Лещенко // Сборник научных трудов Новосибирского государственного технического университета. - 2018. - № 3-4(93). - С. 59-69. - DOI 10.17212/23076879-2018-3-4-59-69.
44. Магазинникова А. Л. Анализ возможностей использования тестов с четырьмя вариантами ответа в рамках дисциплины «математика» / А. Л. Магазин-никова, М. М. Никольская, И. А. Жуков // Современное образование: повышение конкурентоспособности университетов : Материалы международной научно-методической конференции, в 2 частях, Томск, 28-29 января 2021 года. - Томск: Томский государственный университет систем управления и радиоэлектроники, 2021.-С. 256-260.
45. Магомедов А. М. Алгоритм автоматизации создания тестов / А. М. Магомедов, С. А. Лавренченко, З. И. Ибрагимова // Вестник Дагестанского государственного университета. Серия 1: Естественные науки. - 2019. - Том 34. №2. - С 63-71. -DOI: 10.21779/2542-0321-2019-34-2-63-71.
46. Макарова Н. В. Возможности интеллектуальной системы MATHBRIDGE при обучении студентов методам сортировки массивов / Н. В. Макарова, Е. А. Немчинова, А. В. Савкина, С. А. Федосин // Инженерное образование. -2017.-№21.-С. 110-116.
47. Манжиков Т. В. Алгоритм применения N-грамм для корректировки результатов распознавания / Т. В. Манжиков, О. А. Славин, И. А. Фараджев, И. М. Янишевский // Математические методы в технике и технологиях - ММТТ. - 2017. -Т. 2.-С. 121-125.
48. Маннинг К. Д. Введение в информационный поиск / К. Д. Маннинг, П. Рагхаван, Х. Шютце ; пер. с англ. Д. А. Клюшина- М.: Вильямс, 2011. - 520 с.
49. Маслова Е. Ю. Применение n-грамм и цепей Маркова в построении поисковых систем / Е. Ю. Маслова, Е. Г. Бойко // Аспирант и соискатель. - 2017. -№ 1(97).-С. 35-37.
50. Мельников Б. Ф. Оценка алгоритмов расчета расстояния строк ДНК /
Б. Ф. Мельников, С. В. Пивнева, М. А. Трифонов // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. - 2015. - № 2(34). - С. 57-67.
51. Мельцов В. Ю. Обработка вопросов открытого типа в интеллектуальной системе контроля знаний / В. Ю. Мельцов // European research: Сборник статей XII Международной научно-практической конференции. Пенза, 07 октября 2017 года. - Пенза: "Наука и Просвещение" (ИП Гуляев Г.Ю.), 2017. - С. 33-37.
52. Мещерякова Е.В. Автоматизация системы контроля знаний, как элемент модернизации профессионального образования / Е. В. Мещерякова, Г. А. Иващен-ко, В. М. Камчаткина // Казанский педагогический журнал. - 2012. - №1. - С. 146-153.
53. Михалькевич И. С. Преобразование метрики Дамерау-Левенштейна для обработки данных, используемых в маркетинговых коммуникациях / И. С. Ми-халькевич // Микроэкономика. - 2015. - № 5. - С. 101-106.
54. Мицель А. А. Результаты апробации модели управления траекторией обучения и оценки знаний студента / А. А. Мицель, Н. В. Черняева // Современное образование: повышение профессиональной компетентности преподавателей вуза - гарантия обеспечения качества образования : Материалы международной научно-методической конференции. Томск, 01-02 февраля 2018 года. - Томск : Томский государственный университет систем управления и радиоэлектроники, 2018.-С. 106-108.
55. Немсцверидзе З. Ш. Модели и методы проектирования программных систем анализа и контроля знаний : специальность 05.13.11 "Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей": диссертация на соискание ученой степени кандидата технических наук / З. Ш. Немсцверидзе. - Москва, 2010.- 192 с.
56. Обади А. А. Разработка алгоритма и программного обеспечения для генератора задач тестовой системы / А. А. Обади // Вестник технологического университета. - 2019. - Т.22, №1. - С. 106-111.
57. Перязева Ю. В. Возможности автоматической проверки заданий в LMS Moodle / Ю. В. Перязева // Современные информационные технологии и ИТ-образование. - 2019. - Т. 15, № 4. - С. 876-885. - DOI: 10.25559/SITIT0.15.201904.876-885.
58. Плеско М. С. Автоматизированная система поддержки процесса обуче-
ния программированию / М. С. Плеско, А. Ф. Антипин // Colloquium-journal. -2018.-№6-1.-С. 48-54.
59. Прокудин А. А. Модификация модуля Preg системы Moodle для учета опечаток в тестовых вопросах с открытым ответом заданным регулярным выражением / А. А. Прокудин // XXIII Региональная конференция молодых исследователей Волгоградской области : тезисы докладов XXIII Региональной конференции молодых исследователей Волгоградской области. Волгоград, 11-14 декабря 2018 года - Волгоград : Волгоградский государственный технический университет, 2019.-С. 193-194.
60. Пудов В. А. Математическое обеспечение системы взаимной проверки знаний с возможностью обнаружения проблемных ситуаций : специальность 05.13.11 "Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей 05.13.01 "Системный анализ, управление и обработка информации (по отраслям)": диссертация на соискание ученой степени кандидата технических наук / В. А. Пудов. - Москва, 2009. - 341 с.
61. Рихтер Т. В. Использование цифровых образовательных ресурсов при изучении программирования в вузе / Т. В. Рихтер, И. В. Абрамова // Карельский научный журнал. -2021. - Т. 10. -№2(35). - С. 22-24. -DOI 10.26140/knz4-2021-1002-0006.
62. Розенберг Г. С. Поль Жаккар и сходство экологических объектов / Г. С. Розенберг // Самарская Лука: проблемы региональной и глобальной экологии. -2012. - Т. 21. - № 1. - С. 190-202.
63. Сапаров А. Ю. Уточнение результатов распознавания математических формул с использованием расстояния Левенштейна / А. Ю. Сапаров, А. П. Бельтюков, С. Г. Маслов // Вестник Удмуртского университета. Математика. Механика. Компьютерные науки. - 2020. - Т. 30. № 3. - С. 513-529. - DOI 10.35634/vm200311.
64. Семкин Б. И. Аксиоматическое введение мер сходства, различия, совместимости и зависимости для компонентов биоразнообразия / Б. И. Семкин, М. В. Горшков // Вестник Тихоокеанского государственного экономического университета. - 2008. - № 4(48). - С. 31-46.
65. Семкин Б. И. Дескриптивные множества и их приложения / Б. И. Сем-кин // Исследование систем. Тихоокеанский институт географии ДВО РАН. Том Выпуск 1. - Владивосток : Дальневосточный научный центр Академии наук
СССР, 1973.-С. 83-94.
66. Сергушичева А. П. Метод и алгоритмы автоматизированного построения компьютерных тестов контроля знаний по техническим дисциплинам : специальность 05.13.01 "Системный анализ, управление и обработка информации (по отраслям)": диссертация на соискание ученой степени кандидата технических наук / А. П. Сергушичева. - Санкт-Петербург, 2007. - 201 с.
67. Сычев О. А. Инструменты помощи автору регулярных выражений для тестовых вопросов в СДО Moodle / О. А. Сычев, Г. В. Терехов // Открытое образование. - 2016. - Т. 20, № 3. - С. 43-50. - DOI 10.21686/1818-4243-2016-3-43-50.
68. Тарасенко Е. В. Анализ применимости метода №грамм в задаче определения стиля текста / Е. В. Тарасенко, Н. Ю. Рязанова // Инженерный вестник. -2015.-№ 12.-С. 9.
69. Таций Ю. В. Разработка программно-методического комплекса электронного курса по функциональному и логическому программированию / Ю. В. Таций, Ю. В. Брюховецкий // Мир компьютерных технологий: Сборник статей всероссийской научно-технической конференции студентов, аспирантов и молодых ученых. Севастополь, 06-10 апреля 2020 года - Севастополь : Федеральное государственное автономное образовательное учреждение высшего образования "Севастопольский государственный университет" , 2020. - С. 266-272.
70. Тимофеев П. С. Лексико-семантические шаблоны как инструмент декларативного описания языковых конструкций и лингвистического анализа текста / П. С. Тимофеев, Е. А. Сидорова // Системная информатика. - 2018. - № 13. -С. 35-48.
71. Титов А. М. Нейросетевые алгоритмы компьютерного контроля знаний: разработка и исследование : специальность 05.13.11 "Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей" : диссертация на соискание ученой степени кандидата технических наук / А. М. Титов. - Москва, 2008. - 174 с.
72. Хабибулина Н. Ю. Использование генератора индивидуальных заданий при разработке автоматизированной обучающей системы "Линейное программирование" / Н. Ю. Хабибулина, Е. И. Афанасьева // Электронные средства и системы управления. Материалы докладов международной научно-практической конференции. - 2011. - №1. - С. 230-234.
73. Шагбазян Д. В. Методы контроля знаний студентов вузов по програм-
мированию / Д. В. Шагбазян, А. А. Штанюк // Поколение будущего: взгляд молодых ученых сборник научных статей 4-й международной молодежной научной конференции: в 3 томах. Курск, 10-11 ноября 2016 года. Том 2. - Курск: Закрытое акционерное общество "Университетская книга", 2016. - С. 119-121.
74. Шаров Д. А. Автоматизация контроля знаний с применением синонимических рядов в автоматизированных системах управления образовательного назначения : специальность 05.13.06 "Автоматизация и управление технологическими процессами и производствами (по отраслям)" : диссертация на соискание ученой степени кандидата технических наук / Д. А. Шаров. - Москва, 2004. -179 с.
75. Шевелев М. Ю. Контроль знаний в компьютерном обучении. Неантропоморфный подход / М.Ю. Шевелев, Л.А. Вишнякова, Ю.П. Шевелев - Германия: LAP LAMBERT Academic Publishing, 2014. - 395 с.
76. Шипицына А. А. Подсистема контроля знаний на основе дедуктивного логического вывода / А. А. Шипицына, В. Ю. Мельцов // Общество. Наука. Инновации (НПК-2017): сборник статей. Всероссийская ежегодная научно-практическая конференция. Киров, 01-29 апреля 2017 года. - Киров : Вятский государственный университет, 2017. - С. 2431-2438.
77. Шихнабиева Т. Ш. Адаптивные семантические модели автоматизированного контроля знаний / Т. Ш. Шихнабиева // Педагогическое образование в России. - 2016. - №7. - С. 14-20.
78. Шокин Ю. И. Проблемы поиска информации / Ю. И. Шокин, А. М. Федотов, В. Б. Барахнин // Новосибирск: Наука, 2010. - 220 с.
79. Шумихина М. С. СДО Moodle в обучении программированию / М. С. Шумихина, И. А. Яшина // Актуальные проблемы авиации и космонавтики. -2018. - №4 (14). - С. 803-804.
80. Abdulmalek S. Levenstein's Algorithm On English and Arabic: A Survey / S. Abdulmalek, S. AL-Hagree, M. Alsurori, M. Hadwan, A. Aqlan, F. Alqasemi // 2021 International Conference of Technology, Science and Administration (ICTSA). 2021. Taiz, Yemen, March 22-24, 2021. - 6 p. - URL: https://ieeexplore.ieee.org/abstract/document/9406547 (access date: 11.10.2022). -DOI: 10.1109/ICTSA52017.2021.9406547.
81. Adamson G. W. The use of an association measure based on character structure to identify semantically related pairs of words and document titles / G. W.
Adamson, J. Boreham // Information Storage and Retrieval. - 1974 - Vol. 10, Is. 7-8. -P. 253-260. -DOI: 10.1016/0020-0271(74)90020-5.
82. Agbeyangi A. O. Authorship Verification of Yorùba Blog Posts using Character N-grams / A. O. Agbeyangi, O. Abegunde, S. I. Eludiora // 2020 International Conference in Mathematics, Computer Engineering and Computer Science (ICMCECS), Ayobo, Nigeria, March 18-21, 2020. - 6 p. - URL: https://ieeexplore.ieee.org/document/9077649 (access date: 11.10.2022). - DOI: 10.1109/ICMCECS47690.2020.246982.
83. Aggarwal C. C. Mining Text Data / C. C. Aggarwal, C. Zhai - Springer, 2012. - 527 p.
84. Barkman J. J. Phytosociology and ecology of cryptogamic epiphytes, including a taxonomic survey and description of their vegetation units in Europe / J. J. Barkman - Assen. Van Gorcum, 1958. - 628 p.
85. Besta M. Communication-Efficient Jaccard similarity for High-Performance Distributed Genome Comparisons / M. Besta, R. Kanakagiri, H. Mustafa, M. Karasikov, G. Rätsch, T. Hoefler, E. Solomonik // 2020 IEEE International Parallel and Distributed Processing Symposium (IPDPS). 2020. New Orleans, LA, USA, May 18-22, 2020. -11 p. - URL: https://ieeexplore.ieee.org/document/9139876 (access date: 11.10.2022). -DOI: 10.1109/IPDPS47924.2020.00118.
86. Binas M. Version Control System in CS1 course: Practical experience / M. Binas // 2013 IEEE 11th Int. Conf. on Emerging eLearning Technologies and Applications (ICETA). 2013. Stara Lesna, Slovakia, October 24-25, 2013. - 6 p. -URL: https://ieeexplore.ieee.org/document/6674398 (access date: 15.02.2022) - DOI: 10.1109/ICETA.2013.6674398.
87. Chomsky N. Three models for the description of language / N. Chomsky // IRE Transactions on Information Theory. - 1956. - Vol. 2, No. 3. - P. 113-124.
88. Damerau F. J. A technique for computer detection and correction of spelling errors / F. J. Damerau // Communications of the ACM. - 1964. - Vol. 7. Is. 3. - P. 171-176. -DOI: 10.1145/363958.363994.
89. Dice L. Measures of the Amount of Ecologic Association Between Species / L. Dice // Ecology. - 1945. - Vol. 26. - P. 297-302. - DOI: 10.2307/1932409.
90. difflib [electronicresource] //Pythondocumentation - [S. l.], [2022]. - URL: https://docs.python.org/3/library/difflib.html (access date: 20.09.2022).
91. Django [electronic resource] // Django - [S. l.], [2022]. - URL:
https://www.djangoproject.com/ (access date: 21.02.2022).
92. Eelbode T. Optimization for Medical Image Segmentation: Theory and Practice When Evaluating With Dice Score or Jaccard Index / T. Eelbode, J. Bertels, M. Berman, D. Vandermeulen, F. Maes, R. Bisschops, M. Blaschko // IEEE Transactions on Medical Imaging. - 2020. - Vol. 39, No. 11. - P. 3679-3690. - DOI: 10.1109/TMI.2020.3002417.
93. Ene A. Automatic generation of quizzes for C programming language / A. Ene, C. §tirbu // 2020 12th International Conference on Electronics, Computers and Artificial Intelligence (ECAI). 2020. Bucharest, Romania, June 25-27, 2020. - 4 p. -URL: https://ieeexplore.ieee.org/document/9223159 (access date: 21.09.2022) - DOI: 10.1109/ECAI50035.2020.9223159.
94. Farhoodi M. N-gram based text classification for Persian newspaper corpus / M. Farhoodi, A. Yari, A. Sayah // The 7th International Conference on Digital Content, Multimedia Technology and its Applications. 2021. Busan, Korea (South), August 1618, 2011. - 5 p. - URL: https://ieeexplore.ieee.org/document/6016631 (access date: 20.09.2022).
95. FastAPI [electronic resource] // FastAPI - [S. l.], [2022]. - URL: https://fastapi.tiangolo.com/ (access date: 21.02.2022).
96. Fernando B. Anticipating human actions by correlating past with the future with Jaccard similarity measures / B. Fernando, S. Herath // 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). 2021. Nashville, TN, USA, June 20-25, 2021. - 10 p. - URL: https://ieeexplore.ieee.org/document/9577590 (access date: 20.09.2022) - DOI: 10.1109/CVPR46437.2021.01302.
97. Franko Y. Method and Software for Solving the Problem of Fuzzy Matching of Records in Relative Databases / Y. Franko, N. Porplytsya, M. Ozhha, O. Potapchuk, Y. Franko // 2021 11th International Conference on Advanced Computer Information Technologies (ACIT). 2021. Deggendorf, Germany, September 15-17, 2021. - 4 p. -URL: https://ieeexplore.ieee.org/document/9548560 (access date: 12.10.2022) - DOI: 10.1109/ACIT52158.2021.9548560.
98. Gadag A. I. N-gram based paraphrase generator from large text document / A. I. Gadag, B. M. Sagar //2016 International Conference on Computation System and Information Technology for Sustainable Solutions (CSITSS). 2016. Bengaluru, India, October 06-08, 2016. - 4 p. - URL: https://ieeexplore.ieee.org/document/7779447 (access date: 12.10.2022) - DOI: 10.1109/CSITSS.2016.7779447.
99. Goodall D. W. Sample similarity and species correlation / D. W. Goodall // Handbook of Vegetation science. Pt 5. Ordination and Classification of vegetation. -1973.-P. 107-156.-DOI: 10.1007/978-94-009-7989-5_5.
100. Gueddah H. The filtered combination of the weighted edit distance and the Jaro-Winkler distance to improve spellchecking Arabic texts / H. Gueddah, A. Yousfi, M. Belkasmi // 2015 IEEE/ACS 12th International Conference of Computer Systems and Applications (AICCSA). 2015. Marrakech, Morocco, November 17-20, 2015. -6 p. - URL: https://ieeexplore.ieee.org/document/7507128 (access date: 12.10.2022)-DOI: 10.1109/AICCSA.2015.7507128.
101. Gulwani S. Automated clustering and program repair for introductory programming assignments / S. Gulwani, I. Radicek, F. Zuleger // Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation, ser. PLDI 2018. Philadelphia, PA, USA, June 18-22, 2018. - 16 p. -DOI: 10.1145/3192366.3192387.
102. Guo P. J. Online python tutor: Embeddable web-based program visualization for cs education / P. J. Guo // Proceeding of the 44th ACM Technical Symposium on Computer Science Education, ser. SIGCSE '13. 2013. Denver, Colorado, USA, March 06-09, 2013. - 6 p. - DOI: 10.1145/2445196.2445368.
103. Haidar M. A. Document-based Dirichlet class language model for speech recognition using document-based n-gram events / M. A. Haidar, D. O'Shaughnessy // 2014 IEEE Spoken Language Technology Workshop (SLT). 2014. South Lake Tahoe, NV, USA, December 07-10, 2014. - 6 p. - URL: https://ieeexplore.ieee.org/document/7078547 (access date: 12.10.2022) - DOI: 10.1109/SLT.2014.7078547.
104. Haidar M. A. Novel topic n-gram count LM incorporating document-based topic distributions and n-gram counts / M. A. Haidar, D. O'Shaughnessy // 2014 22nd European Signal Processing Conference (EUSIPCO). 2014. Lisbon, Portugal, September 01-05, 2014. - 5 p. - URL: https://ieeexplore.ieee.org/document/6952842 (access date: 12.10.2022).
105. Hamming R. W. Error detecting and error correcting codes / R. W. Hamming // The Bell System Technical Journal. - 1950. - Vol. 29, No. 2. - P. 147-160.
106. Hopcroft J. E. Introduction to automata theory, languages, and computation / J. E. Hopcroft, J. D. Ullman - Reading, MA: Addison-Wesley, 1979. - 418 p.
107. Jaccard P. Distribution de la flore alpine dans le Bassin des Dranses et dans
quelques regions voisines / P. Jaccard // Bulletin de la Société vaudoise des sciences naturelles. - 1901. - Vol. 37, Bd. 140. - P. 241-272.
108. Jaro M. A. Advances in Record-Linkage Methodology as Applied to Matching the 1985 Census of Tampa, Florida / M. A. Jaro // Journal of the American Statistical Association. - 1989. - Vol. 84. Is. 406. - P. 414-420. - DOI: 10.1080/01621459.1989.10478785.
109. Jayashree R. A Jaccards Similarity Score Based Methodology for Kannada Text Document Summarization / R. Jayashree, S. K. Vinay // 2020 International Conference on Advances in Computing, Communication & Materials (ICACCM). 2020. Dehradun, India, August 21-22, 2020. - 4 p. - URL: https://ieeexplore.ieee.org/document/9212848 (access date: 13.10.2022) - DOI: 10.1109/ICACCM50413.2020.9212848.
110. Vollrath J. An open access minimum automatic task generation live feedback system for electrical engineering / J. Vollrath //2015 IEEE Global Engineering Education Conference (EDUCON 2015). 2015. Tallinn, Estonia, March 18-20, 2015. -5 p. - URL: https://ieeexplore.ieee.org/document/7096015 (access date: 03.10.2022)-DOI: 10.1109/EDUC0N.2015.7096015.
111. Kim S.-H. Position-restricted approximate string matching with metric Hamming distance / S.-H. Kim, H.-G. Cho // 2017 IEEE International Conference on Big Data and Smart Computing (BigComp). 2017. Jeju, Korea (South), February 1316, 2017. - 7 p. - URL: https://ieeexplore.ieee.org/document/7881724 (access date: 03.10.2022)-DOI: 10.1109/BIGCOMP.2017.7881724.
112. Kleene S. C. Representation of events in nerve nets and finite automata / S. C. Kleene // Automata Studies, Ann. Math. Stud. - 1956. - No. 34. - P. 3-41.
113. Kloo I. Improving Record Linkage for Counter-Threat Finance Intelligence with Dynamic Jaro-Winkler Thresholds /1. Kloo, F. M. Dabkowski, S. H. Huddleston //2019 Winter Simulation Conference (WSC). 2019. National Harbor, MD, USA, December 08-11, 2019. - 15 p. - URL: https://ieeexplore.ieee.org/document/9004945 (access date: 05.10.2022) - DOI: 10.1109/WSC40007.2019.9004945.
114. Kondrak G. N-Gram Similarity and Distance / G. Kondrak // String Processing and Information Retrieval, Lecture Notes in Computer Science. - 2005. -Vol. 3772.-P. 115-126. - DOI: 10.1007/11575832_13.
115. lark-parser/lark [electronic resource] // GitHub - [S. l.], [2022]. - URL: https://github.com/lark-parser/lark (access date: 21.02.2022).
116. Lei H. Word-Conditioned Phone N-Grams for Speaker Recognition / H. Lei, N. Mirghafori // 2007 IEEE International Conference on Acoustics, Speech and Signal Processing - ICASSP '07. 2007. Honolulu, HI, USA, April 15-20, 2007. - 4 p. -URL: https://ieeexplore.ieee.org/document/4218085 (access date: 12.10.2022) - DOI: 10.1109/ICASSP.2007.366897.
117. Li X. Implementation of an extended Fellegi-Sunter probabilistic record linkage method using the Jaro-Winkler string comparator / X. Li, A. Guttmann, S. Cipiere, L. Maigne, J. Demongeot, Boire J., L. Ouchchane // IEEE-EMBS International Conference on Biomedical and Health Informatics (BHI). 2014. Valencia, Spain, June 01-04,2014. -4 p. - URL: https://ieeexplore.ieee.org/document/6864381 (access date: 27.10.2022)-DOI: 10.1109/BHI.2014.6864381.
118. Lovett A. M. Optimal Regular Expressions for Permutations / A. M. Lovett, J. Shallit // arXiv preprint arXiv:1812.06347. - 2018. - 14 p. - URL: https://arxiv.org/abs/1812.06347 (access date: 11.02.2022) - DOI: 10.48550/arXiv. 1812.06347.
119. Manaf K. Comparison of Carp Rabin Algorithm and Jaro-Winkler Distance to Determine The Equality of Sunda Languages / K. Manaf, S. Pitara, B. Subaeki, R. Gunawan, P. Rodiah, A. Bakhtiar // 2019 IEEE 13th International Conference on Telecommunication Systems, Services, and Applications (TSSA). 2019. Bali, Indonesia, October 03-04, 2019. - 5 p. - URL: https://ieeexplore.ieee.org/document/8985470 (access date: 05.10.2022) - DOI: 10.1109/TSSA48701.2019.8985470.
120. MoodleDocs [electronic resource] // MoodleDocs - [S. l.], [2022]. - URL: https://docs.moodle.org/dev/Main_Page (access date: 25.01.2022).
121. Nikolova E. Anomaly Based Intrusion Detection Using Data Mining and String Metrics / E. Nikolova, V. Jecheva // 2009 WRI International Conference on Communications and Mobile Computing. 2009. Kunming, China, January 06-08, 2009. - 5 p. - URL: https://ieeexplore.ieee.org/document/4797292 (access date: 17.10.2022) -DOI: 10.1109/CMC.2009.287.
122. Ochiai A. Zoogeographical studies on the soleoid fishes found in Japan and its neighhouring regions-II / A. Ochiai // Bulletin of the Japanese Society of Scientific Fisheries. - 1957. - Vol. 22 (9). - P. 526-530. - DOI: 10.2331/suisan.22.526.
123. Otsuka Y. The faunal character of the Japanese Pleistocene marine Mollusca, as evidence of the climate having become colder during the Pleistocene in
Japan / Y. Otsuka // Bulletin of the Biogeographical Society of Japan. - 1936. - Vol. 6 (16).-P. 165-170.
124. perlre - Perl regular expressions [electronic resource] // Perldoc Browser -[S. l.], [2022]. - URL: https://perldoc.perl.org/perlre (access date: 09.02.2022).
125. Ramos J. E-assessment of Matlab assignments in Moodle: Application to an introductory programming course for engineers / J. Ramos, M.A. Trenas, E. Gutiérrez, S. Romero // Computer Applications in Engineering Education. - 2013. - Vol. 21. No. 4. - P. 728-736.
126. Ratcliff J. Pattern matching: the gestalt approach / J. Ratcliff, D. Metzener // Dr. Dobb's journal. - 1988. - Vol. 13(7). - P. 46-51.
127. React - A JavaScript library for building user interfaces [electronic resource] //React- [S. l.], [2022]. -URL: https://reactjs.org/(accessdate: 21.02.2022).
128. Redux [electronic resource] // Redux - [S. l.], [2022]. - URL: https://redux.js.org/ (access date: 21.02.2022).
129. Reis R. Evaluating Feedback Tools in Introductory Programming Classes / R. Reis, G. Soares, M. Mongiovi, W. L. Andrade // 2019 IEEE Frontiers in Education Conference (FIE). 2019. Covington, KY, USA, October 16-19, 2019. - 7 p. - URL: https://ieeexplore.ieee.org/document/9028418 (access date: 24.01.2022). -DOI: 10.1109/FIE43999.2019.9028418.
130. Sankoff D. Time Warps, String Edits, and Macromolecules: The Theory and Practice of Sequence Comparison / D. Sankoff, J. Kruskal - CSLI Publications, 1999. -408 p.
131. Simpson G. G. Holarctic mammalian faunas and continental relationship during the Cenozoic / G. G. Simpson // Bulletin of the Geological Society of America. - 1947. - Vol. 58. - P. 613-688.
132. Survey of Text Mining I: Clustering, Classification, and Retrieval / Ed. by M. W. Berry - Springer, 2003. - 261 p.
133. Suzuki M. Improvements to N-gram Language Model Using Text Generated from Neural Language Model / M. Suzuki, N. Itoh, T. Nagano, G. Kurata, S. Thomas // ICASSP 2019 - 2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). 2019. Brighton, UK, May 12-17, 2019. - 5 p.-URL: https://ieeexplore.ieee.org/document/8683481 (access date: 11.10.2022). - DOI: 10.1109/ICASSP.2019.8683481.
134. Suzuki R. TraceDiff: Debugging unexpected code behavior using trace
divergences / R. Suzuki, G. Soares, A. Head, E. Glassman, R. Reis, M. Mongiovi, L. D'Antoni, B. Hartmann // 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). 2017. Raleigh, NC, USA, October 11-14, 2017. - 9 p. -URL: https://ieeexplore.ieee.org/document/8103457 (access date: 09.02.2022). - DOI: 10.1109/VLHCC.2017.8103457.
135. Szymkiewicz D. Une contribution statistique a la géographie floristique / D. Szymkiewicz // Acta Societatis Botanicorum Poloniae. - 1934. - Vol. 11, No. 3. - P. 249-265. - DOI: 10.5586/asbp.1934.012.
136. S0rensen T. A method of establishing groups of equal amplitude in plant sociology based on similarity of species and its application to analyses of the vegetation on Danish commons / T. S0rensen // Kongelige Danske Videnskabernes Selskab. -1948.-No. 4.-P. 1-34.
137. The Open Group Base Specifications Issue 7, 2018 edition IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008) [electronic resource] // The Open Group - [S. l.], [2022]. - URL: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html (access date: 09.02.2022).
138. Thompson K. Regular expression search algorithm / K. Thompson // Communications of the ACM. - 1968. - Vol. 11, Is. 6. - P. 419-422. - DOI: 10.1145/363347.363387.
139. Varma S. Jaccard Based Similarity Index in Graphs: A Multi-Hop Approach / S. Varma, S. Shivam, A. Thumu, A. Bhushanam, D. Sarkar // 2022 IEEE Delhi Section Conference (DELCON). 2022. New Delhi, India, February 11-13, 2022. - 4 p. - URL: https://ieeexplore.ieee.org/document/9753316 (access date: 11.11.2022). -DOI: 10.1109/DELCON54057.2022.9753316.
140. Vijaymeena M. K. A Survey on Similarity Measures in Text Mining / M. K. Vijaymeena, K. Kavitha // Machine Learning and Applications. - 2016. - Vol. 3. -P. 19-28.-DOI: 10.5121/mlaij.2016.3103.
141. Winkler W. E. String Comparator Metrics and Enhanced Decision Rules in the Fellegi-Sunter Model of Record Linkage / W. E. Winkler // Proceedings of the Section on Survey Research Methods. American Statistical Association. - 1990. - P. 354-359.
Приложение А Акты внедрения результатов диссертационной работы
Приложение Б Свидетельство о регистрации программы для ЭВМ
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.