Как стать автором
Обновить

xAPI vs SCORM. Битва, которая не произойдет

Время на прочтение5 мин
Количество просмотров4.1K
image

В прошлой статье про использование xAPI (https://habr.com/ru/post/508624/) я писал о том, как практически организовать взаимодействие с LRS. К моему удивлению, я получил массу писем и вопросов относительно того, а зачем вообще использовать новые стандарты xAPI/CMI5 если есть SCORM? Какие преимущества они дают? Выслушал массу мнений относительно невозможности использования такого абстрактного подхода (как им кажется) xAPI, что его слабо поддерживают многие LMS и т.д.

Я лично перешел на xAPI (TinCan) уже как 4 года. И точно представляю себе разницу между этими спецификациями. Часто специалисты пытаются сравнить «в лоб» xAPI и SCORM. Как IMS CP и SCORM или как SCORM 1.1 и SCORM 2004v4. Причем при решении одних и тех-же задач в одних и тех-же условиях. А делать этого категорически не нужно. SCORM безусловно удобен и его обязательно нужно использовать, если:

  • Электронный образовательный ресурс должен храниться в LMS
  • Все что нужно в плане отчетности от этого ресурса — это время затраченное на его изучение и текущая «оценка» (выполнен/не выполнен, прогресс (% выполненных заданий), «правильность» выполнения заданий)
  • «Оценка» должна быть учтена в общем курсе по какой-либо дисциплине, наряду с тестами и другими не-SCORM элементами курса.

Действительно, если сделать тоже-самое на xAPI никаких значимых преимуществ не будет, но сложность возрастет значительно. Сразу же нужно будет решать вопрос о том какую LRS использовать, как ее подключить к LMS, как включать оценки из LRS в курс LMS и т.д. И в таком случае можно реально прийти к выводу о том, что стандарт «плохой»/«сырой»/«слишком абстрактный»/«непонятно зачем нужный» и т.д. Что я часто и слышу от специалистов.

Но согласитесь странно подумать, что уважаемые консорциумы и организации такие как ADL, много лет занимающиеся вопросами спецификации SCORM, провели огромную работу, огромное количество консультаций с известными специалистами в этой области и… вдруг взяли и решили выпустить абсолютно бесполезный стандарт? Когда я задаю этот вопрос «сторонникам SCORM», ответить на него не может никто… А потом еще эту спецификацию «подхватили» и выпустили CMI5. И вот тут начинают приходить мысли о том, что, наверное, может быть, это кому-то нужно? Но кому и зачем?

Чтобы ответить на этот вопрос, давайте временно забудем весь наш опыт по SCORM и рассмотрим одну интересную задачу…

Необходимо разработать имитатор для группового обучения например специалистов по работе с каким-либо оборудованием. Не будем углубляться в требования к 3D, VR и т.д.



Имитатор должен предоставлять для инструкторов, которые проводят обучение некоторый отчет о выполнении, который содержит не только оценки и время выполнения, но, например должен предоставлять:

  • графики отчетов исследования опасности и связанных с ней проблем (HAZOP);
  • диаграммы возможных последствий несрабатывания или аварии системы («дерева неисправностей», FТА);
  • диаграммы возможных последствий события («дерева событий», ЕТА) и т.д.;

Например в таком виде…


Вероятности событий, связанных с человеческим фактором на диаграмме ETA


Вероятности событий, связанных с человеческим фактором на диаграмме FTA

Причем именно результаты группы с указанием всех кто в эту группу входил. + результаты по каждому обучаемому из этой группы.

Или еще интереснее —

image

Теперь вспомним SCORM и решим, что, в принципе, мы можем записать необходимую информацию для этих графиков, используя cmi.interactions.X.description, cmi.comments_from_learner.X.comment и т.д., но ловим себя на мысли, что данные возможности были созданы не для этих задач и мы просто используем эти «поля данных» для хранения нужной нам информации. Но дальше еще интереснее. Допустим инструкторы хотят просмотреть данные графики, как нам их отобразить? Переписывать исходные коды LMS, которые показывают отчет по SCORM?, писать плагины для Moodle? Внешнюю программу мы не можем использовать, т.к. все LMS хранят данные по отчетам по разному. Интерфейса по получению данных из LMS внешним приложением у нас нет. Все, приплыли.

Теперь вспоминаем что есть xAPI. Изучаем books.ifmo.ru/file/pdf/1772.pdf. Тут же обнаруживается что:

1. Как раз «ненужная абстрактность» поможет нам строго описать все данные по этим диаграммам, ровно так, как это нам нужно.

Используя подход xAPI (actor — verb — object — extensions — result) можно выстраивать отчеты, на порядки сложнее чем это возможно в SCORM.

Пример из официальной документации:

{
  "actor": {
    "name": "Sally Glider",
    "mbox": "mailto:sally@example.com"
  },
  "verb": {
    "id": "http://adlnet.gov/expapi/verbs/completed",
    "display": { "en-US": "completed" }
  },
  "object": {
    "id": "http://example.com/activities/hang-gliding-test",
    "definition": {
      "type": "http://adlnet.gov/expapi/activities/assessment",
      "name": { "en-US": "Hang Gliding Test" },
      "description": {
        "en-US": "The Solo Hang Gliding test, consisting of a timed flight from the peak of Mount Magazine"
      },
      "extensions": {
        "http://example.com/gliderClubId": "test-435"
      }
    }
  },
  "result": {
    "completion": true,
    "success": true,
    "score": {
      "scaled": 0.95
    },
    "extensions": {
      "http://example.com/flight/averagePitch": 0.05
    }
  },
  "context": {
    "instructor": {
      "name": "Irene Instructor",
      "mbox": "mailto:irene@example.com"
    },
    "contextActivities":{
      "parent": { "id": "http://example.com/activities/hang-gliding-class-a" }
      "grouping": { "id": "http://example.com/activities/hang-gliding-school" }
    },
    "extensions": {
      "http://example.com/weatherConditions": "rainy"
    }
  },
  "timestamp": "2012-07-05T18:30:32.360Z",
  "stored": "2012-07-05T18:30:33.540Z",
  "authority": {
    "name": "Irene Instructor",
    "mbox": "mailto:irene@example.com"
  }
}

2. Обнаруживаем, что у нас есть механизм получения данных из LRS сторонней программой, чем мы сразу и пользуемся для показа красивых отчетов инструкторам. Инструкторы просят нас показать сложные выборки по результатам обучение групп в разных городах, нет проблем. Собираем и анализируем данную информацию.

В этом месте обычно начинаются возражения, например, а как-же оценки в LMS? Интеграция в LMS. Ответ очень прост. При желании учебный ресурс xAPI/CMI5 можно без проблем встроить в курс LMS. В конце концов это просто ссылка. Тренажер из примера запускается по ссылке simulation://virtual.oilfield.test. Также не сложно написать SCORM-пакет, который при запуске просит выбрать запись из LRS и публикует ту-же оценку в LMS (если это очень нужно). Это актуально, когда персонал обучается на месторождении, где нет интернета. В таком случае результаты могут поступать в LMS в тот момент когда эта связь появляется (что для SCORM не доступно, т.к. «сессия» не может быть разорвана). LMS теперь может «не быть», что также часто просто необходимо (условия связи например).

Я надеюсь, что эта статья поможет лучше понять суть xAPI и больше не сравнивать эти 2 спецификации, т.к. по моему личному мнению, они созданы для решения абсолютно разных задач.
Теги:
Хабы:
Всего голосов 4: ↑4 и ↓0+4
Комментарии14

Публикации