Применение 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

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