Новости HRTech, интересные идеи о Digital HR в нашем канале в Telegram: https://t.me/WebsoftHR

Online рейтинги обучающихся в курсах

На elearningpro.ru был задан вопрос: «Как создать рейтинг учащихся проходящих курс внутри самого курса?»
И Алексей Корольков и я уже неоднократно намекали на такую возможность в этом блоге!

Например (в хронологическом порядке):


Еще раз расписывать, зачем это надо не буду. Перечислю только что можно таким образом сделать:
  • Вывести рейтинг (выполнения отдельного упражнения или теста по разделу/курсу как в текущем модуле, так и в любом модуле/курсе);
  • Организовать «сбор идей» и обсуждение этих идей;
  • Организовать голосование.
Недавно прочел статью Елены Тихомировой «Чего не хватает в электронном курсе?». Так вот с помощью описанной ниже технологии к слайдам можно добавлять (и в последствии смотреть или печатать) комментарии, ставить лайки и выводить рейтинги слайдов с лайками. (есть рабочий прототип. Хотя в нем реализована более сложная задача – лайкаются варианты, написанные самими учащимися)

Итак, универсальный алгоритм в общем виде выглядит следующим образом:
  1. создаем таблицу в базе данных для хранения результатов.
  2. создаем 2 html-страницы (одна –для записи данных в таблицу, вторая – для выборки данных и манипуляции с ними).
  3. встраиваем эти страницы в курс.

Далее описание для связки WT 3 (c базой SQL) – CL2.7. Изначально конструкция делалась в WT2.7.

1. Создаем таблицу.
В разделе Дизайнер создаем новый Тип документов. Мы создали одну универсальную таблицу для всех курсов.
Примечание: чтобы в приведенном ниже примере вносить минимум изменений, делайте строго по инструкции. Не понравится – потом переделаете!
Имя объекта - course
Поля:
  • Поле: course. Название: course code. Тип поля: Строка. (сюда записываем код курса. Таблица используется для всех возможных курсов)
  • Поле: task. Название: task name. Тип поля: Строка. (идентификатор источника записи – любой текст идентифицирующий активность в курсе)
  • Поле: user. Название: user. Тип поля: Ссылка на объект. Объект: Сотрудник (идентификатор пользователя)
  • Поле: var_name. Название: var name. Тип поля: Строка (имя переменной, но уже сюда можно записывать некоторые результаты)
  • Поле: var_val. Название: var value. Тип поля: Строка (сама переменная)
  • Поле: date. Название: date. Тип поля: Дата (тоже переменная, но в формате даты)

В поля var_name и var_val можно записывать массивы переменных или текст неопределенной длинны.
Шести полей с указанными типами нам пока хватало!
Внимание! Чтоб система «увидела» таблицу потребуется перезагрузка сервера и перестройка каталогов (насколько я помню).



Результат выглядит вот так:

Главное что все данные доступны для редактирования администратором (цензура!).

2. Создаем html-страницу для сохранения результата (при условии что источник – упражнение/игра/тест уже созданы. Данные из них передаются в переменные).

В этой странице (к приведенному в конце статьи примеру) из курса передаются идентификатор сессии пользователя (sid – по которому определяется id пользователя) и переменная из курса (rez, который записывается в поле var_val).
Как передать значения см ниже.
Все остальное константы, которые вписываются непосредственно в стр и функция определения текущей даты.

3. Встраиваем страницу на слайд/кадр с помощью объекта Встроенное окно. Подробно механизм описан здесь.
Для сохранения данных Встроенное окно можно разместить за границами слайда.
Особенность: на кнопку, которая сохраняет результат, вешаем Действие JAVASCRIPT.


В последней строке Действие JAVASCRIPT: g_arSlideVars['url'] = window.location.protocol+'//sdo.voz.ru/webtutor/vb19/1/user/rez1.html?sid=' + g_sAiccSid+'&rez='+g_arSlideVars['rez_var'];
где:
sid=' + g_sAiccSid - идентификатор сессии пользователя
rez='+g_arSlideVars['rez_var'] – значение переменной на слайде rez_var.

Внимание! При первом импорте курса в WT на сервере создается папка с именем = код курса (в данном примере vb19. У нас эта папка создается здесь //sdo.voz.ru/webtutor! Как у вас – смотрите на сервере и меняйте в примере!!!

4. Создаем html-страницу для вывода данных.


Данные берутся из созданной таблицы и, в данном примере, выводятся в виде таблицы, а можно просто текстом, списком или графиком (о построении графиков я писал здесь).

5. Для вывода данных так же используем Встроенное окно. Наполняется окно точно как описано здесь на Действие JAVASCRIPT может выглядеть проще – g_arSlideVars['url'] = window.location.protocol+'//sdo.voz.ru/webtutor/vb19/1/user/rez2.html';



Вот и все!
Проект для примера здесь.

Предупреждения!
  1. Без достаточного опыта работы с КурсЛабом, WT и написания кода экспериментировать с данным примером не советую! (навряд ли что-то сломаете, но возможно разочарование).
  2. В примерах страниц для сохранения и вывода данных использован простейший код. Манипуляции с данными и их оформление – ваша ответственность.
  3. Страницы в примере настроены на кодировку utf-8 для WT 3.0.
  4. Аналогично можно настроить работу с системами отличными от WS (проверено), но создание таблицы и страниц будет подчиняться правилам уже тех систем.
Спасибо за внимание!
Вопросы и предложения в комментарии.


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

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

Как создать курс для мобильного устройства без специальных знаний?

Обновленная версия Courselab Online

Новый вирутальный класс Websoft

Каждому по потребностям: кафетерий льгот Ростелеком на платформе WebTutor