Применение API-функций для создания дополнительных расширений в системе Moodle
Изучение API-функций системы Moodle, применение которых позволяет создавать работоспособные дополнительные модули. Практическая апробация программной реализации модуля сбора информации о состоянии проверки работ студентов в виртуальной обучающей среде.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 25.12.2017 |
Размер файла | 505,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Применение API-функций для создания дополнительных расширений в системе MOODLE
Т.М. Салий,
Д.В. Голощапов
В Инновационном Евразийском университете для реализации дистанционной образовательной технологии (ДОТ) применяется виртуальная обучающая среда Moodle, также известная как система дистанционного обучения (СДО). На момент второго квартала 2012 г. в системе насчитывается более 1000 курсов (дисциплин), количество зарегистрированных пользователей - более 1800 человек.
СДО Moodle позволяет не только предоставить студенту доступ к электронному учебно-методическому комплексу дисциплины, но и организовать контроль знаний обучающегося. Контроль знаний в основном осуществляется посредством тестирования и проверки результатов выполнения контрольных, курсовых, практических и лабораторных работ. В случае с тестированием участие преподавателя ограничивается созданием тестовых вопросов. Далее тестирование работает без участия преподавателя: автоматически формируется набор вопросов согласно правилам, указанным преподавателем при создании теста, а после завершения тестирования студента проверяются результаты и выставляется оценка. Что касается контрольных, курсовых и других работ, для проверки которых требуется непосредственное участие преподавателя, то СДО Moodle предоставляет лишь интерфейс загрузки в систему файла с результатами выполнения работы для студента и интерфейс оценивания и рецензирования для преподавателя. Причем, в СДО Moodle нет инструмента [1], позволяющего преподавателю в одном месте получить комплексную информацию о наличии непроверенных работ студентов по всем дисциплинам, за которыми преподаватель закреплен в системе.
Данная ситуация увеличивает трудоемкость проверки работ, что обусловлено «ручным обходом» всех дисциплин и далее уже в дисциплине обходом всех элементов контента, которые могут быть оценены. Данная проблема еще более остро встает для администратора системы, который ежемесячно формирует отчеты о состоянии проверки работ студентов в СДО Moodle.
Благодаря открытому исходному коду и развитой модульной архитектуре, СДО Moodle позволяет расширять возможности системы дополнительными модулями. В рамках магистерской диссертации реализован модуль, позволяющий организовать сбор информации о состоянии проверки работ студентов в СДО Moodle.
Данный модуль в системе Moodle представляет собой блок и создан на языке программирования PHP [2] с использованием API Moodle. API (Application Programming Interface - Интерфейс программирования приложений) - набор готовых классов, процедур, функций, структур и констант, предоставляемых системой Moodle для разработчика плагинов и модулей.
В Moodle имеются определенный набор правил к разработке блоков с использованием API-функций [3]:
1. Блок должен иметь уникальное название, состоящее только из латинских букв и арабских цифр, и не должен совпадать с названиями остальных блоков в системе.
2. В директории blocks корневого каталога системы Moodle необходимо создать папку с названием блока, в которой размещаются все скрипты разрабатываемого модуля.
3. Для блока должен быть реализован класс с названием block_<имя_блока>, расширяющий базовый класс block_base, в одноименном файле php-скрипта в папке модуля:
class block_fdo_cab extends block_base { }
4. Класс блока должен содержать как минимум два метода: init() и get_content(): function init() {
$this->title = get_string('title', 'block_fdo_cab');
$this->version = 2012032701;
}
function get_content() {
$context = get_context_instance(CONTEXT_SYSTEM); if (has_capability('block/fdo_cab:view', $context)) {
require_once(dirname(realpath(__FILE )).'/lib.php');
$this->content = new stdClass;
$this->content->text = $FDO->get_block_link($FDO->userid); return $this->content;
}
}
Метод init() инициализирует класс, определяя два обязательных свойства title и version. Метод get_content возвращает текст, который будет отображаться в блоке в системе Moodle. В данном случае в блоке будет отображаться ссылка на скрипт, реализующий интерфейс модуля.
5. Для указания допускаемых для отображения блока контекстных уровней в системе Moodle используется функция applicable_formats():
function applicable_formats() { return array('site' => true);
}
В данном случае блок будет доступен для отображения только на главной странице системы.
6. Для отображения локализованных строк в интерфейсе модуля используется специальная директория lang в папке модуля. Данная папка имеет иерархическую структуру, содержащую родительские папки языков. Родительская папка ru_utf8 означает, что языком является русский в кодировке Unicode. Внутри родительской папки языка необходимо создать файл с таким же названием файла, как у основного скрипта модуля (block_fdo_cab.php). В данном файле Moodle хранит все строки локализаций в хэш-массиве $string:
$string['title'] = 'ФДО Кабинет';
$string['main_link_tutor'] = 'Кабинет тьютора';
$string['studwork'] = 'Проверка работ';
Строки из хэш-массива $string доступны с помощью API-функции get_string().
7. Для ограничения доступа к информации модуля используются специальные API-функции: get_context_instance() и has_capability().
Функция get_context_instance() создает объект context, если он еще не существует. Объект context указывает, на каком уровне предполагается работа с системой.
Функция has_capability() проверяет имеет ли текущий пользователь разрешение на выполнение указанного действия в рамках объекта context.
Следующий код проверяет, имеет ли текущий пользовать разрешение на просмотр информации блока на глобальном уровне системы:
$context = get_context_instance(CONTEXT_SYSTEM);
if (has_capability('block/fdo_cab:view', $context)) {}
8. Для определения прав доступа к блоку в каталоге модуля используется специальная директория db, внутри которой создается файл access.php. В данном файле описывается, на каком уровне, какое действие, для каких ролей разрешается либо запрещается выполнять
$block_fdo_cab_capabilities = array(
'block/fdo_cab:view' => array( 'captype' => 'read',
'contextlevel' => CONTEXT_SYSTEM, 'legacy' => array(
'user' => CAP_ALLOW,
'guest' => CAP_PREVENT
)
)
);
Структура данного файла строго регламентирована системой Moodle. В данном случае видно, что для всех пользователей СДО Moodle с ролью user (прошедшие аутентификацию) будет доступно действие «чтение» на глобальном уровне системы. Фактически это означает, что всем пользователям с ролью user в системе Moodle информация в блоке доступна для отображения. Остальным (guest - гость) блок будет недоступен.
В ИнЕУ на основе API Moodle и внутреннего класса модуля fdo_cab_control, описанного в файле fdo_cab.php каталога lib в директории модуля, представленного объектом $FDO, разработан модуль, собирающий информацию о состоянии проверки работ студентов с формированием комплексного отчета. Данный модуль доступен на главной странице сайта в разделе «Дистанционное» на доске объявлений (рисунок 1).
программный виртуальный обучающий модуль
Рисунок 1 - Кабинет администратора
Текст блока изменяется в зависимости от роли пользователя в системе (кабинет администратора, кабинет тьютора, кабинет преподавателя). Данную функцию реализует метод get_block_link() класса fdo_cab_control.
Переход по ссылке блока позволяет перейти к пользовательскому интерфейсу модуля, функционал которого также зависит от роли текущего пользователя в системе Moodle. Функционал модуля представлен в виде меню. Очевидно, что наиболее полный функционал будет в кабинете администратора.
Полнота и вид отчета о состоянии проверки работ студентов варьируется в зависимости от количества дисциплин, в которых задействован текущий пользователь. Таким образом, для преподавателя отчет будет формироваться только по тем дисциплинам, в которых он в системе дистанционного обучения Moodle назначен на роль преподавателя.
Тьютор кафедры имеет более полный отчет, охватывающий все дисциплины его кафедры. В то же время тьютор является преподавателем на кафедре и так же осуществляет преподавательскую деятельность. В этом случае отчет будет представлен двумя таблицами, отображающими информацию по дисциплинам преподавания и по остальным дисциплинам кафедры (рисунок 2).
Рисунок 2 - Вид отчета в кабинете тьютора
Для администратора системы реализован комплексный отчет по всем дисциплинам всех кафедр (рисунок 3).
Рисунок 3 - Вид отчета в кабинете администратора
Для удобства проверки работ названия дисциплин и названия элементов в контенте дисциплин, на которые была загружена работа студентом, оформлены в виде ссылок, переход по которым позволяет сразу открыть страницу с контентом дисциплины либо отобразить интерфейс оценивания и рецензирования работ студентов.
Выборку данных о состоянии проверки работ студентов из базы данных moodle осуществляется на основы многотабличного запроса. В Database API Moodle имеются несколько функция для формирования запросов в БД. Но единственной функцией, позволяющей осуществлять многотабличные запросы, возвращающий массив записей, является get_records_sql(). В разработанном модуле реализована следующая схема многотабличного запроса (рисунок 4).
Рисунок 4 - Схема многотабличного запроса выборки данных
Схема включает следующие таблицы:
· mdl_grade_grades (хранит информация о всех оценках);
· mdl_grade_items (содержит информация о всех элементах, которые могут быть оценены);
· mdl_course_modules (хранит информация и связях курса, элементов контента и модулей);
· mdl_course (основная таблица курсов);
· mdl_course_categories (хранит информация о категориях);
· mdl_context (хранит информацию о местоположении объекта в структуре системы);
· mdl_role_assignments (содержит информация о распределении ролей по контекстам системы ). Разработанный модуль, представленный в системе дистанционного обучения Moodle в виде блока, позволяет тьюторам кафедр, преподавателям и администратору системы в автоматическом режиме получать комплексную информацию о состоянии проверки работ, загружаемых студентами в виртуальную обучающую среду Инновационного Евразийского университета.
Литература
1. http://docs.moodle.org Moodle 1.9
2. Jonathan Moore, Michael Churchward - Moodle 9 Extension Development. -- Packt Publishing, 2010.-- 320 c.
3. Зандстра М. PHP. Объекты, шаблоны и методики программирования, 3-е издание. -- М.: Вильямс, -- 560 с.
Размещено на Allbest.ru
...Подобные документы
"Moodle" - модульная объектно-ориентированная динамическая среда обучения, ее использование для разработки систем дистанционного обучения. Общее представление о дистанционном практикуме по программированию. Разработка структуры данных и алгоритмов.
дипломная работа [1,2 M], добавлен 09.11.2016Система управления обучением Moodle. Компьютерное тестирование как элемент контроля и обучения. Проектирование компьютерных тестов в системе дистанционного обучения Moodle. Наполнение банка тестовых заданий. Создание теста и настройка его параметров.
дипломная работа [5,4 M], добавлен 10.11.2010Аналитический обзор системы управления курсами Moodle, программное построение ее модулей. Разработка структурной схемы и базы знаний экспертной системы. Создание дерева вопросов и выбор алгоритма поиска решений. Анализ возможных угроз и защита информации.
дипломная работа [534,7 K], добавлен 14.12.2013Анализ подходов к расширению возможностей системы Moodle. Интеграция мультиагентных сервисов системы дистанционного обучения в модульную объектно-ориентированную динамическую учебную среду Moodle. Рекомендации по защите пользователей от излучений ЭВМ.
дипломная работа [845,1 K], добавлен 14.03.2013Основные принципы создания системы управления обучением Moodle. Рассмотрение категорий, структуры курсов и возможностей преподавателя. Ознакомление с работой деятельностного элемента "Лекция". Использование тестовых технологий и анализ его результатов.
дипломная работа [3,0 M], добавлен 01.04.2011Особенности дистанционного образования. Анализ функциональных характеристик среды дистанционного образования Moodle. Функционально-ориентированное проектирование электронного практикума. Разработка, тестирование и оценка надежности программного продукта.
дипломная работа [2,0 M], добавлен 12.08.2017Управление электронным обучением. Технологии электронного обучения e-Learning. Программное обеспечение для создания e-Learning решений. Компоненты LMS на примере IBM Lotus Learning Management System и Moodle. Разработка учебных курсов в системе Moodle.
курсовая работа [146,6 K], добавлен 11.06.2009Характеристика та основні напрями діяльності друкарні "Добробут". Особливості дистанційної системи навчання "Moodle", сутність програми "Learning Space 5.0". Основне призначення діаграми використання, її склад: блоки використання, зовнішні користувачі.
дипломная работа [2,9 M], добавлен 12.04.2012Разработка информационной образовательной технологии на основе системы управления обучением Moodle. Теоретические основы электронного образования и программные платформы для организации электронного обучения, преимущества и недостатки такого обучения.
дипломная работа [1,7 M], добавлен 07.07.2012Настройка интерфейса в MOODLE. Создание и настройка профилей, управление курсами. Форматы представления, создание и настройка ресурсов курса. Организация коллективной работы. Установка и настройка необходимого программного обеспечения. Создание ролей.
дипломная работа [378,5 K], добавлен 20.11.2013Типы учебных материалов, используемых при дистанционном образовании, стандарты в области образовательных технологий. Система управления обучением Moodle, установки и разделы курса, текстовый редактор, управление файлами. Создание банка тестовых вопросов.
дипломная работа [3,6 M], добавлен 10.11.2010Угрозы в сфере информационного обеспечения. Цели и задач и создания комплексной системы защиты информации на предприятии. Применение скрытия и уничтожения информации, дезинформации противника, легендирования. Анализ функций системы защиты предприятия.
курсовая работа [60,7 K], добавлен 23.06.2012Современные образовательные технологии: понятие, структура, содержание. Дистанционные технологии подготовки будущих специалистов. Программная среда ДО "Moodle": основы и общее описание интерфейса. Коммуникативные возможности системы. Редактирование курса.
дипломная работа [100,4 K], добавлен 20.11.2013Использование передовых технологий в образовании. Дистанционное обучение как метод представления учебных данных в электронном виде и использовании Internet технологий для доставки электронных учебников пользователям. Программное обеспечение Moodle.
дипломная работа [3,9 M], добавлен 10.11.2010Понятие географических информационных технологий. Современное состояние уровня и направлений развития ГИС в лесной отрасли. Обоснование выбора системы дистанционного обучения. Возможности СДО Moodle. Создание базы данных. Проверка настроек веб-сервера.
диссертация [1,2 M], добавлен 02.11.2015Общая характеристика дистанционного образования. Описание приложений и ресурсов, с помощью которых осуществляется дистанционное обучение. Правила размещения курсов в СДО "Moodle". Разработка структуры курса "Правовые основы прикладной информатики".
курсовая работа [1,8 M], добавлен 20.12.2015Огляд існуючого програмного забезпечення для управління дистанційним навчанням. Структура системи дистанційного навчання Moodle, її встановлення та налаштування. Розрахунок експлуатаційних витрат і показників економічного ефекту від розробки проекту.
дипломная работа [2,1 M], добавлен 16.02.2013Сутність модульно об'єктно-зорієнтованого середовища навчання. Робота з домашньою сторінкою курсу. Можливості кредитно-модульної системи, її переваги для викладача і студента, недоліки. Перелік вищих навчальних закладів України, що використовують Moodle.
реферат [15,1 K], добавлен 08.12.2010Практика построения графиков с использованием функций и работа с мастером диаграмм в ПП Microsoft Excel. Применение встроенных функций работы с матрицами для решения системы линейных уравнений. Практика создания запросов при работе с базами данных.
контрольная работа [436,1 K], добавлен 08.08.2011Общие сведения о системе Mathcad. Окно программы Mathcad и панели инструментов. Вычисление алгебраических функций. Интерполирование функций кубическими сплайнами. Вычисление квадратного корня. Анализ численного дифференцирования и интегрирования.
курсовая работа [522,7 K], добавлен 25.12.2014