Динамический электронный курс

Некоторое время назад я написал, про то, как можно собирать обратную связь о пользователей в слайдовом электронном курсе (Слайдовый электронный курс и обмен идеями).

Можно ли сделать так, чтобы поведение слайдового курса зависело от событий внешнего мира (например от того, принял ли человек участие в учебном мероприятии, результат которого учтен в LMS)? Т.е. можно ли делать слайдовые электронные курсы с динамической, а не статической структурой?

Вполне можно, и даже легко, если авторское средство устроено так, что структура курса описана в открытом коде (а не упакована в неведомый по формату swf файл) и LMS позволяет исполнять программный код, меняющий описание курса "на лету".

Вот как я сделал это с помощью Courselab и WebTutor:

1) я сделал курс в Courselab, в котором разместил 2 слайда - один на котором есть сообщение о том, что дальнейшее изучение курса невозможно без прохождения вебинара. Другой слайд - сообщает о возможности продолжения обучения. Курс опубликовал и загрузил в LMS WebTutor.



2) Т.к. курс сделанный в Courselab представляет собой XML файл, то в него легко с помощью любого редактора (например, Notepad) внести изменения. Что я и сделал.

3) В любой файл лежащий на сервере LMS WebTutor можно вставить программный код. Я вставил в код XML-файла с описанием курса , сделанного в Courselab, запрос к базе данных LMS с проверкой проходил ли текущий пользовтель нужный вебинар и в зависимости от результата запроса в if/else показал один из 2 слайдов (а не оба, как было изначально сделано в редакторе).


4) Заходим в курс. При этом LMS запрашивает структуру курса, которая строится динамически (в исходном файле выполняется программный код, который в зависимости от внешних данных добавляет в структуру один из слайдов), доходим до слайда с проверкой и изначально получаем сообщение о том, что дальше идти нельзя, т.к. вебинар не пройден



5) Захожу в LMS, завожу вебинар для моего пользователя и отмечаю его как пройденный.


6) Открываю заново курс, система возвращает меня на тот же слайд (номер не изменился), у которого изменилось содержание:


Таким образом можно строить динамические курсы, в которых показ контента зависит от любых данных хранящихся в LMS или других внешних источниках (например, базах данных), а также генерировать курсы "на лету" из источников в Интернет, например по данным из википедии или youtube.

Комментарии

Володимир написал(а)…
Алексей, было бы здорово, чтобы можно было внести такие правки прямо в Курслабе, чтобы не довносить каждый раз в блокноте ничего при изменении курса :)

В целом спасибо за туториал
Евгений Матвеев написал(а)…
Присоединяюсь. Не плохо было бы в будущих версиях КурсЛаба сделать функционал, который позволит выполнять различные действия в зависимости от событий в WT (без влезания в программный код).
Володимир написал(а)…
ИМХО, на данный момент достаточно было бы просто возможности внести програмный код, который останется в курсе в независимости от будущих правок.

Потому как можно и не вспомнить через сколько-нибудь лет, что вносились правки в файл в блокноте. А при обновлении курса они обязательно перетрутся

Популярные сообщения из этого блога

Какие инструменты необходимы для организации дистанционного обучения

С чего начать внедрение геймификации?

Как быстро перейти от очного обучения к онлайн-форматам?