Программные решения оптимизации процессов управления и составления электронных учебных материалов в LMS Moodle

Рассмотрение специфики опыта Лаборатории фундаментальных и прикладных проблем виртуального образования по разработке программного обеспечения для оптимизации процессов администрирования LMS Moodle и "быстрой разработки" отдельных модулей системы.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 10.05.2022
Размер файла 24,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Программные решения оптимизации процессов управления и составления электронных учебных материалов в LMS Moodle

А.И. Горожанов

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

Описывается опыт Лаборатории фундаментальных и прикладных проблем виртуального образования ФГБОУ ВО МГЛУ по разработке программного обеспечения для оптимизации процессов администрирования LMS Moodle и «быстрой разработки» отдельных модулей системы: баз данных и тестовых заданий, в том числе на множественный выбор с одним правильным вариантом ответа. Приводятся листинги кода программ на Python, осуществляющих преобразование текстовых файлов с учебными материалами в файлы CSV и XML и позволяющие импортировать эти материалы в систему управления обучением. Делается вывод о том, что найденные программные решения являются эффективными и экономически оправданными. moodle виртуальное образование администрирование

Ключевые слова: дистанционное обучение; автоматизация процессов; оптимизация; генерация файлов; LMS Moodle; Python.

A. I. Gorozhanov

Ph.D., Professor, Department of German Language Grammar and History, Faculty for German Language, Head of Laboratory for Fundamental and Applied Issues of Virtual Education

SOFTWARE SOLUTIONS FOR OPTIMIZATION

OF MANAGEMENT AND COMPOSITION OF ELECTRONIC LEARNING MATERIALS IN THE LMS MOODLE

The article describes the experience of the Laboratory for Fundamental and Applied Issues of Virtual Education of Moscow State Linguistic University in creating software for optimizing the LMS Moodle administration processes and for the “rapid development” of its modules (databases and quizzes, including multiple choice tests with one correct answer). The listings of Python programs are provided that convert TXT files with learning materials to CSV and XML files and allow to import these materials into the learning management system. It is concluded that the software found solutions are effective and economically viable.

Key words: E-Learning; automatization of processes; optimization; generation of files; LMS Moodle; Python.

Введение

В настоящее время системы управления обучением (англ. Learning Management System - LMS) являются основным средством обеспечения учебного процесса в условиях дистанционного образования, хотя в актуальной предметно-специальной литературе упоминаются и другие инструменты, например, WhatsApp [Khan 2020; Mpungose 2020; Sherine 2020], Instagram [Загуменная 2017], Skype [Страмной 2020; Vagvala 2020;] и Google Class [Malik 2018; Samper 2017]. Среди современных систем управления обучением наибольшей популярностью, наряду с Blackboard и Edmodo, пользуется LMS Moodle [The 20 MPLMS]. Она имеет 191 млн. пользователей и 145 тыс. инсталляций в 241 стране мира [Moodle Statistics 2020]. Встроенные инструменты LMS Moodle, как впрочем, и всякой другой системы подобного рода, не всегда удобны для так называемой «быстрой разработки» От англ. rapid development. компонентов курсов и для оперирования большим количеством учетных записей пользователей, поэтому необходимо создание программных продуктов, которые бы решали эти задачи с минимальными затратами времени и ресурсов. На основании эмпирических данных, полученных в ходе разработки дистанционных образовательных программ и администрирования LMS Moodle, были выявлены процессы, требующие совершения большого количества однообразных действий, т. е. действий по определенному алгоритму. Это позволило сделать вывод о том, что в отношении этих процедур возможно применение программных решений. Далее приводятся результаты работы по созданию программного обеспечения на языке программирования Python, проведенной в Лаборатории фундаментальных и прикладных проблем виртуального образования ФГБОУ ВО МГЛУ в период с 2018 по 2020 гг.

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

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

Регистрация нового пользователя «вручную» требует выполнения следующих действий (здесь и далее приводятся пункты англоязычного интерфейса):

1. Открыть страницу «Site administration ^ Users ^ Accounts ^ Add a new user».

2. Заполнить поле «Username» (предварительно составить имя пользователя).

3. Заполнить форму «New password» (предварительно составить безопасный пароль, который должен содержать не менее восьми символов, включая минимум одну заглавную букву, одну строчную букву, одну цифру и один другой символ, например, «#» или «$»).

4. Заполнить форму «First name» (в соответствии с паспортными данными слушателя).

5. Заполнить форму «Surname» (в соответствии с паспортными данными слушателя).

6. Заполнить форму «Email address».

LMS Moodle позволяет загружать новых пользователей списком из файла CSV с разделителем по запятой. Файл должен иметь заголовок, в котором указываются поля страницы: «Site administration ^ Users ^ Accounts ^ Add a new user»; в нашем случае: «username,ema il,firstname,lastname,password».

Составлять такой файл в ручном режиме неудобно, поэтому приемлемым решением является «ручное» составление файла TXT, который затем программно трансформируется в файл CSV. Определим содержание файла TXT таким образом, чтобы каждая его строка представляла данные одного пользователя, например: «iivanov, student@ student.my, Иван, Иванов».

Разработанная программа имеет следующий код (см. Листинг 1):

Листинг 1. Код программы генерации файла CSV

from random import sample, choice

chrs = «123456789ABCDEFGHJKLMNPQRSTUVWXYZ»

Ingth = 8

result = 'username,email,firstname,lastname,password\n'

f = open('mails.txt', 'r', encoding='utf-8')

lines = f.readlines()

f.close()

num = 1

for line in lines:

password = ''.join(sample(chrs,lngth)) + «a#»

result += line.split(',')[0] + ',' + line.split(',')[1] + ',' + line.split(',')[2] + ',' + line. split(',')[3][:-1] + ',' + password + '\n'

num += 1

f = open('users.csv', 'w', encoding='utf-8')

f.write(result[:-1])

f.close()

Программа содержит всего 16 строк, однако позволяет не только безошибочно сформировать файл CSV, но также и генерирует уникальный и сколь угодно сложный пароль для каждого пользователя. Полученный файл загружается в LMS Moodle на странице «Site administration ^ Users ^ Accounts ^ Upload users».

Далее необходимо записать каждого нового слушателя на определенную образовательную программу (курс). Если все новые слушатели будут изучать один и тот же курс, то можно воспользоваться опцией создания «когорт». В «когорту» объединяется определенное число учетных записей с тем, чтобы они автоматически распределялись на тот или иной курс, попадая в «когорту». Для этого первая строка импортируемого файла CSV расширяется одним пунктом:

“usemame,email,firstname,lastname,password,cohort1”

В код программы вносятся соответствующие изменения (переменная «result» в строках 4 и 11 кода Листинга 1).

2. Наполнение базы данных

База данных является важным модулем LMS Moodle, в котором удобно располагать списки глагольных форм языковых курсов. Приведем пример такой базы данных для форм русских глаголов «Курса русского языка как иностранного (начальный уровень, на основе английского и испанского языков)»Альварес Солер А. А., Горожанов А. И., Кочеткова Ю. А. Свидетельство о реги-страции электронного ресурса № 24232 от 01.11.2019 г. URL : drive.google.com/drive/ folders/1bMhY9k5PdNeIm-Ja00Lmzh000S0m-tye.. База данных содержит два поля: «Verb/Verbo» и «Form/Formas». Первое принимает простой текст, а второе предусматривает возможность разметки HTML.

Для «ручного» добавления записи в базу данных необходимо выполнить следующие действия:

1. Активировать вкладку «Add entry».

2. Заполнить поле «Verb/Verbo».

3. Заполнить поле «Form/Formas» (соблюдая правила разметки HTML).

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

Листнинг 2. Файл CSV одной записи базы данных

“Verb / Verbo”, “Forms / Formas”

делать,“<по1іпк><р>Ітр7</р>

<p>Pres.: я делаю, ты делаешь, он / она / оно делает, мы делаем, вы делаете, они делают<^>

<p>Pret.: я / ты / он делал (m), я / ты /она делала (f), оно делало, мы / вы / они делали<^>

<p>Imp.: делай! делайте!</p>

</nolink>”

Здесь отдельные ячейки записи дополнительно отделены друг от друга знаком кавычек. Таким образом, разделителем является запятая вне кавычек. Для более удобного внесения записей в базу данных была разработана программа, конвертирующая файл TXT в файл CSV (см. Листинг 3):

Листинг 3. Код программы генерации файла CSV для базы данных

result = "'Verb / Verbo”,”Forms / Formas”\n'

f = openfbdlines.txt', 'r', encoding='utf-8')

lines = f.readlines()

f.close()

num = 1

for line in lines:

line = line.replace(«!!!», «</p>»).replace(«!!», «<p>»)

line = line.replace(«***», «</b>»).replace(«**», «<b>»)

line = line.replace(«???», «</nolink>»).replace(«??», «<nolink>»)

line = line.replace('»', «'»)

result += '»' + line[:-1] + '»'

if num % 2 == 1:

result += ','

else:

result += '\n'

num += 1

f = open('bdlines.csv', 'w', encoding='utf-8')

f.write(result[:-1])

f.close()

Программа не только производит построчное преобразование фала TXT в файл CSV, но и меняет оформление контента по определенным правилам. В процессе заполнения второго поля, предусматривающего возможность разметки HTML, необходимо постоянно переключать раскладку клавиатуры для ввода тегов, если набор основного текста происходит не на английском языке. В коде Листинга 3 предусмотрена замена последовательности символов «!», «*» и «?» на открывающиеся и закрывающиеся теги “<p>”, “<b>” и “<nolink>” соответственно. Опытные данные показывают, что именно эти теги используются чаще всего для разметки поля глагольных форм. Полученный файл XML загружается в базу данных через страницу «Database activity administration ^ Import entries».

3. Генерация тестовых заданий

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

Самым простым тестовым заданием является выбор из двух («да/нет»), хотя с увеличением количества заданий в рамках одного тестового модуля вероятность выполнить модуль на 100 %, «угадывая», значительно снижается. Испытуемому предлагается некоторое утверждение, на которое он должен ответить положительно или отрицательно. От составителя теста требуется ввести всего лишь три параметра: наименование задания, утверждение и верный вариант ответа, однако ввод этих данных вручную занимает много времени, в связи с необходимостью постоянно перезагружать страницу редактора тестовых заданий.

Программное решение заключается в генерации файла XML из файла TXT, в котором построчно введены указанные три параметра с разделителем «вертикальная черта», например:

“question_name_001|question_text_001|1”

Параметр «1» означает, что приведенное в задании утверждение верно. Программа имеет следующий код (см. Листинг 4):

Листинг 4. Код программы генерации файла XML для заданий «да/нет»

result = «»»<?xml version=»1.0» encoding=»UTF-8»?><quiz>»»»

f = open('truefalse.txt', 'r', encoding='utf-8')

lines = f.readlines()

f.close()

for line in lines:

result += «»»<question type=»truefalse»>

<name><text>»»» + line.split(«|»)[0] + «»»</text></name>

<quеstiоntеxt format=»html»>

<text><![CDATA[«»» + line.split(«|»)[1] + «»»]]></text>

</quеstiоntеxt>

<gеnеralfееdbaсk format=»html»>

<text></text>

</gеnеralfееdbaсk>

<defaultgrade>1.0000000</defaultgrade>

<penalty>1.0000000</penalty>

<hidden>0</hidden>»»»

if line.split(«|»)[2][:-1] == '0':

result += «»»<answer fraction=»0» format=»moodle_auto_fQrmat»>

<text>true</text>

<feedback format=»html»><text></text></feedback>

</answer>

<answer fraction=»100» format=»moodle_auto_format»>

<text>false</text>

<feedback format=»html»><text></text></feedback>

</answer>

</question>»»»

else:

result += «»»<answer fraction=»100» format=»moodle_auto_format»>

<text>true</text>

<feedback format=»html»><text></text></feedback>

</answer>

<answer fraction=»0» format=»moodle_auto_format»>

<text>false</text>

<feedback format=»html»><text></text></feedback>

</answer>

</question>»»»

result += «</quiz>»

f = open('truefalse.xml', 'w', encoding='utf-8')

f.write(result)

f.close()

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

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

“quest_name_001|quest_text_001|True variant|2|false variant1|false variant2”

Разделителем для отдельных параметров также является «вертикальная черта». Для всех тестовых заданий параметр «перемешивания» ответов включен по умолчанию, опции нумерации ответов и автоматического комментария отключены. Полученная программа имеет следующий код (см. Листинг 5):

Листинг 5. Код программы генерации файла XML для заданий на множественный выбор с одним верным вариантом ответа

result = «»»<?xml version=»1.0» encoding=»UTF-8»?><quiz>»»»

f = open('multichoice_radio.txt', 'r', encoding='utf-8')

lines = f.readlines()

f.close()

for line in lines:

result += «»»<question type=»multichoice»>

<name><text>»»» + line.split(«|»)[0] + «»»</text></name>

<questiontext format=»html»>

<text><![CDATA[«»» + line.split(«|»)[1] + «»»]]></text>

</questiontext>

<generalfeedback format=»html»><text></text></generalfeedback>

<defaultgrade>1.0000000</defaultgrade>

<penalty>0.3333333</penalty>

<hidden>0</hidden>

<single>true</single>

<shuffleanswers>true</shuffleanswers>

<answernumbering>none</answernumbering>

<correctfeedback fcrmat=»html»>

<text><![CDATA[<p>Your answer is correct.</p>]]></text>

</correctfeedback>

<partiallycorrectfeedback fcrmat=»html»>

<text><![CDATA[<p>Your answer is partially correct.</p>]]></text>

</partiallycorrectfeedback>

<incorrectfeedback format=»html»>

<text><![CDATA[<p>Your answer is incorrect.</p>]]></text>

</incorrectfeedback>

<shownumcorrect/>»»»

result += «»»<answer fraction=»100» fcrmat=»html»>

<text><![CDATA[«»» + line.split(«|»)[2] +»»» ]]></text>

<feedback fcrmat=»html»>

<text></text>

</feedback>

</answer>»»»

for i in range(int(line.split(«|»)[3])):

if i == int(line.split(«|»)[3]) - 1:

result += «»»<answer fraction=»0» format=»html»>

<text><![CDATA[«»» + line.split(«|»)[4+i][:-1] + «»»]]></text>

<feedback fcrmat=»html»><text></text></feedback>

</answer>»»»

else:

result += «»»<answer fraction=»0» format=»html»>

<text><![CDATA[«»» + line.split(«|»)[4+i] + «»»]]></text>

<feedback fcrmat=»html»><text></text></feedback>

</answer>»»»

result += «</question>»

result += «</quiz>»

f = open('multichoice_radio.xml', 'w', encoding='utf-8')

f.write(result)

f.close()

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

Полученные файлы XML загружаются в банк вопросов на странице «Course administration ^ Question bank ^ Import».

Заключение

Приведенные выше программные решения призваны оптимизировать процесс обработки данных пользователей LMS Moodle Лаборатории фундаментальных и прикладных проблем виртуального образования ФГБОУ ВО МГЛУ, а также помочь преподавателю (или администратору в роли преподавателя) относительно быстро создавать электронные учебные и справочные материалы для курсов LMS Moodle, минимизируя количество ошибок за счет высокого уровня автоматизации. В самом деле, выполняя рутинные операции, человек часто может сделать опечатку в тексте или ошибку в настройках (например, перепутать правильный и неправильный ответы в составляемом задании). Программное обеспечение в высокой степени защищает пользователя от этого, так как последнему приходится выполнять меньшее количество «ручных» действий. Оно позволяет автору учебных материалов сосредоточиться на методических вопросах, не отвлекаясь на выполнение однообразных механических действий. Небольшой объём программ преобразования файлов позволяет сделать вывод о том, что найденные решения являются эффективными и экономически оправданными, так как в полной мере решают поставленные перед ними задачи и не требуют привлечения дополнительных трудовых ресурсов.

СПИСОК ЛИТЕРАТУРЫ

1. Горожанов А. И. Формирование обучающей виртуальной среды в контексте новых информационных технологий : дис. ... д-ра филол. наук. М., 2018. 535 с.

2. Загуменная А. А., Темербекова А. А. Возможности Инстаграм в системе образования // Информация и образование: границы коммуникаций. 2017. № 9 (17). С. 47-48.

3. Страмной А. В. Методология и технология инновационного урока английского языка // Мир науки, культуры, образования. 2020. № 1. С. 142-144. DOI: 10.24411/1991-5497-2020-00058.

4. Khan, A., Usmani, A., Khaliq, T. WhatsApp an informal learning and communication tool: Perception of medical officers working in low resource setting: A focus Group Discussion // The Journal of the Pakistan Medical Association. Vol. 70. Iss. 2. Islamabad : Pakistan Medical Association, 2020. P 225-230. DOI:10.5455/JPMA.17802.

5. Malik, M. A., Badolo, M. B. Internet-Based Learning Management Model to Improve the Student's Mathematic Problem Solving Ability // Journal of Physics Conference Series. Bristol : IOPscience, 2018. Vol. 1028. P 1-7. DOI: 10.1088/1742-6596/1028/1/012128.

6. Moodle Statistics. URL : stats.moodle.org (дата обращения: 29.03.2020).

7. The 20 Most Popular Learning Management Systems. URL : www.teachthought. com/technology/the-20-most-popular-learning-management-systems (дата обращения: 29.03.2020).

8. Mpungose, C. B. Is Moodle or WhatsApp the preferred e-learning platform at a South African university? first-year students' experiences // Education and Information Technologies. Early Access. NY : Springer, 2020. P 927-941. DOI: DOI: 10.1007/s10639-019-10096-0.

9. Samper, M. D., Garcia-Garcia, D., Ferri, J. M., Carbonell-Verdu, A., Lopez-Martinez, J. Implementation of the platform GOOGLE CLASROOM in the subject “Treatment of Residues” for the realization of flipped class experience / Con- greso nacional de innovacion educativa y docencia en red. Valencia: Univ Po- litecnica Valencia, 2017. P 429-437. DOI: 10.4995/INRED2017.2017.6818.

10. Sherine, A., Seshagiri, A. V. S., Sastry, M. M. Impact of WhatsApp Interaction on Improving L2 Speaking Skills / International Journal of Emerging Technologies in Learning. Vol. 15. Iss. 3. Kassel: Kassel Univ Press, 2020. P 250-259. DOI: 10.3991/ijet.v15i03.11534.

11. Vagvala, S. H., Tolat, P. P, Hohenwalter, M. D., Duvnjak, P. Skype as a Tool for Resident Education on Call / Journal of the American College of Radiology. Vol. 17. Iss. 1. NY: Elsevier, 2020. PP 75-77. DOI: 10.1016/j. jacr.2019.08.012.

REfERENCES

1. GorozhanovA. I. formirovanie obuchajushhej virtual'noj sredy v kontekste novyh informacionnyh tehnologij : diss. ... d-ra filol. nauk. M., 2018. 535 s.

2. Zagumennaja A. A., Temerbekova A. A. Vozmozhnosti Instagram v sisteme obra- zovanija // Informacija i obrazovanie: granicy kommunikacij. 2017. № 9(17). S. 47-48.

3. Stramnoj A. V. Metodologija i tehnologija innovacionnogo uroka anglijskogo jazyka // Mir nauki, kul`tury, obrazovanija. 2020. № 1. S. 142-144. DOI: 10.24411/1991-5497-2020-00058.

4. Khan, A., Usmani, A., Khaliq, T. WhatsApp an informal learning and communication tool: Perception of medical officers working in low resource setting: A focus Group Discussion // The Journal of the Pakistan Medical Association. Vol. 70. Iss. 2. Islamabad: Pakistan Medical Association, 2020. P 225-230. DOI:10.5455/JPMA.17802.

5. Malik, M. A., Badolo, M. B. Internet-Based Learning Management Model to Improve the Student's Mathematic Problem Solving Ability // Journal of Physics Conference Series. Bristol: IOPscience, 2018. Vol. 1028. P 1-7. DOI: 10.1088/1742-6596/1028/1/012128.

6. Moodle Statistics. URL: stats.moodle.org (retrieved on 29.03.2020).

7. The 20 Most Popular Learning Management Systems. URL: www.teachthought. com/technology/the-20-most-popular-learning-management-systems (retrieved on 29.03.2020).

8. Mpungose, C. B. Is Moodle or WhatsApp the preferred e-learning platform at a South African university? first-year students' experiences // Education and Information Technologies. Early Access. NY: Springer, 2020. P 927-941. DOI: 10.1007/s10639-019-10096-0.

9. Samper, M. D., Garcia-Garcia, D., Ferri, J. M., Carbonell-Verdu, A., Lopez- Martinez, J. Implementation of the platform GOOGLE CLASROOM in the subject “Treatment of Residues” for the realization of flipped class experience // Congreso nacional de innovacion educativa y docencia en red. Valencia: Univ Politecnica Valencia, 2017. P 429-437. DOI: 10.4995/ INRED2017.2017.6818.

10. Sherine, A., Seshagiri, A. V. S., Sastry, M. M. Impact of WhatsApp Interaction on Improving L2 Speaking Skills / International Journal of Emerging Technologies in Learning. Vol. 15. Iss. 3. Kassel: Kassel Univ Press, 2020. P 250-259. DOI: 10.3991/ijet.v15i03.11534.

11. Vagvala, S. H., Tolat, P. P, Hohenwalter, M. D., Duvnjak, P. Skype as a Tool for Resident Education on Call / Journal of the American College of Radiology. Vol. 17. Iss. 1. NY: Elsevier, 2020. P 75-77. DOI: 10.1016/j.jacr.2019.08.012.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.