УДК 004.4
ПРОЕКТИРОВАНИЕ ФУНКЦИОНАЛЬНОГО ВЗАИМОДЕЙСТВИЯ И РАЗРАБОТКА МОДУЛЯ ПЕРСОНАЛИЗАЦИИ ДЛЯ СИСТЕМЫ MOODLE
В. Г. Ковалев Научный руководитель - Ю.Б. Козлова
Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева
Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
E-mail:snouwer@gmail.com
Рассматривается способ реализации модуля для системы Moodle, осуществляющего персо-нализацию выдачи учебных материалов.
Ключевые слова: персонализация дистанционного обучения, Moodle.
DESIGNING THE FUNCTIONAL INTERACTIONAND DEVELOPINGTHE PERSONALIZATION MODULE FOR THE MOODLE SYSTEM
V. G. Kovalev Scientific Supervisor - Y. B. Kozlova
Reshetnev Siberian State University of Science and Technology 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail:snouwer@gmail.com
The research describes a method for implementing a module for the Moodle system which can personalize the delivery of educational materials
Keywords: adaptive e-learning, Moodle.
Развитие компьютерных технологий и интернета оказало влияние на разные сферы человеческой жизни, в том числе и на процессы образования. Способы подачи и получения знаний расширились, активно слали внедряться дистанционные формы обучения. Системы дистанционного обучения позволяют получить доступ к образовательному материалу из любого места и в любой момент. Одной из таких систем является Moodle, которая позволяет управлять курсами, а также используется для разработки, управления и распространения учебных онлайн-материалов. Несмотря на то, что её функционал является достаточно обширным, в ней нет встроенной возможности по персонализации выдаваемых учебных материалов на основе психофизиологических особенностей обучающегося.
Исходя из этих особенностей, у человека есть определенные суточные колебания физиологической готовности к достижению результата. Это означает, что если при записи обучающегося на курс совместно с ним составить график недельной или двухнедельной нагрузки, то это позволит увеличить эффективность и комфортность такого обучения [1].
Помимо этого, для лучшего усвоения материала, рекомендуется возвращаться к нему повторно в течение некоторого времени, и с определенным промежутком [2]. Так как та информация, которую обучающийся может считать усвоенной с первого же прочтения, может забыться через несколько дней.
Кроме того, при выполнении теста, который связан с какой-либо лекцией из курса, обучающийся может открыть эту лекцию, выделить оттуда лишь те фрагменты, которые отвечают на текущие вопросы из теста, сдать этот тест, и закрыть лекцию, забыв используемые фрагменты. Если перед выполнением теста, студенту будет предложено повторить данную лекцию, и лишь
Актуальные проблемы авиации и космонавтики - 2019. Том 2
потом приступить за тест, то это повысит шанс на то, что тест он выполнит самостоятельно, на основе полученных от лекции знаний.
Эти психофизиологические особенности были рассмотрены для дальнейшего проектирования алгоритма, который будет осуществлять выборку учебных элементов для выдачи их обучающемуся.
Таким образом, модуль персонализации должен иметь следующий функционал:
- взаимодействие с другими элементами курса и учет их семантики (лекция должна предшествовать тесту);
- взаимодействие с обучающимся с помощью интерфейса заполнения расписания, а также интерфейса показа предлагаемых элементов курса;
- взаимодействие с администратором курса с помощью интерфейса расстановок семантических свойств у элементов курса.
Moodle поддерживает более 50 различных типов модулей, каждый из которых воздействует на определенную часть данной системы [3]. Так как часть функционала работает в контексте курса, а часть в контексте личной страницы пользователя (показ интерфейса предлагаемых элементов по всем персонализированным курсам), имеет смысл разделить модуль на два подмодуля, которые имеют тип activitymodule (подмодуль активности) и blockmodule (подмодуль пользовательской страницы).
Подмодуль активности добавляется в курс так же, как и любой другой учебный элемент - опрос, тест, лекция. В настройках подмодуля, при его добавлении в курс, будут загружены все элементы курса, у каждого из которых необходимо заполнить семантические свойства: продолжительность, вес, категория, либо отметить, что элемент должен игнорироваться.
Для получения информации обо всех элементах курса, используется ActivityCompletionAPI в Moodle, которое возвращает кэшированную информацию об элементах, без необходимости выполнения запросов к БД, которые могут сказываться на производительности. У каждого элемента есть уникальный идентификатор, который состоит из связки Course ID и Module ID. Этот идентификатор также используется во внутренних таблицах разработанного модуля, чтоб хранить информацию о свойствах элементов курсов, без создания конфликтов между ними.
Когда обучающийся впервые заходит в элемент курса, который соответствует подмодулю активности, ему показывается форма с заполнением расписания в табличном виде. При этом для взаимодействия интерфейса подмодуля с браузером обучающегося, используется скрипт, написанный на JavaScript, и подключенный посредством вызова из РНРфайла метода «$PAGE->requires->js_call_amd (относительный путь до скрипта, JSфункция для первоначального вызова);». Этот же скрипт обрабатывает событие «Submit» у формы с расписанием, которое вызывается при нажатии на «Сохранить». После чего, отправляетсяPOSTзапрос на определенный РНРфайл подмодуля, который сохраняет изменения в одну из своих таблиц, соответствующую расписанию обучающегося. Когда получены все данные, обучающемуся предлагается перейти в личный кабинет, на котором продолжит работу уже другой подмодуль - подмодуль пользовательской страницы.
Подмодуль пользовательской страницы является модулем типа block в терминологии Moodle. Он практически не имеет собственных функций, так как использует функционал подмодуля активности. В системе Moodle, функции модуля, определенные в его файле lib.php, доступны всем остальным модулям. Данный подмодуль собирает информацию обо всех курсах, куда записан обучающийся, и где присутствует инициализированный подмодуль активности, и у каждого такого подмодуля вызывает функцию получения идентификаторов элементов, которые предлагаются обучающемуся для дальнейшего изучения.
Алгоритм получения персонализированных элементов выглядит следующим образом - с помощью Activity Completion API формируется список элементов курса, которые обучающийся еще не прошел, то есть на которых свойство completionstate установлено в 0. Затем элементы группируются по заданным у них категориям. У каждой группы находится проверочный элемент - тест, задание и т. п., и лекционные элементы. Если лекция еще не была прочитана, то предлагается она. После её прочтения, предлагается пройти проверочный элемент. Если элемент пройден успешно, то данная категория больше не появляется в персонализированных элементах. Если же
проверочный элемент не удалось пройти, то данная категория снова будет предложена пользователю через несколько дней. Но продолжительность, необходимая для прохождения лекции данной категории, будет уменьшена в 2 раза, так как предполагается, что так как обучающийся уже читал данную лекцию, её повторное чтение займет меньше времени. Как только количество повторных предложений данной категории дойдет до того, что продолжительность установится в ноль, данная категория перестанет даваться пользователю, а администратор курса будет уведомлен о том, что у обучающегося не удалось её освоить.
При определении того, какую именно категорию дать обучающемуся, учитываются несколько факторов. В течение периода работы, его продуктивность будет иметь синусоидный вид, то есть в начале периода продуктивность будет максимальной, но потом постепенно падать, пока не отдохнет, и снова идти на подъем. Поэтому в периоды спада, если нет других уже начатых задач, обучающемуся будут даваться те категории, в которых он провалил проверочные элементы, так как повторение уже ранее изученного дается проще, чем изучение новых тем. Кроме того, модуль в реальном времени учитывает прогресс по курсу и если обучающийся идет по расписанию, и потенциально успевает закончить курс к заранее просчитанной дате, то под конец суток, ему будет предложено отдохнуть и вернуться на следующей день.
Таким образом, благодаря модульной архитектуре Moodle, был расширен функционал курсов без редактирования исходного кода всей системы. В систему была внедрена возможность персо-нализации обучения каждого из обучающихся, с помощью составления вместе с ними комфортного расписания, а также учета психофизиологических факторов, которые влияют на продуктивность обучения в течение дня. Таким образом, обучающийся будет мотивирован на более грамотное распределение своего времени, так как система сама ему подскажет, за какой элемент курса ему лучше взяться. В дальнейшем, планируется расширить функционал данного модуля, добавив туда возможность назначать лекционным элементам курса взаимосвязи типа «облегченная версия другой лекции», которые будут учитываться, если у обучающегося возникла проблема с пониманием основной лекции.
Библиографические ссылки
1. Козлова, Ю.Б. Комфортная продолжительность обучения для дистанционных форм дополнительного образования// Материалы Всероссийской с международным участием научной интернет-конференции «Сетевая организация дополнительного профессионального образования университета опыт и перспективы развития», КГПУ им. В.П. Астафьева. - Красноярск, 2016. -Режим доступа: www.dpo.kspu.ru.
2. H. Ebbinghaus. Memory: A Contribution to Expérimental Psychology. Martino Fine Books, 2011. 134 c.
3. PluginTypes - MoodleDocs [Электронныйресурс]. URL: docs.moodle.org/dev/Plugin_types (датаобращения: 21.03.2019).
© Ковалев В. Г., 2019