НОВОСТИ CMI5, или Жизнь после SCORM

BDFpromo
Оффлайн

BDFpromo

.
.
Регистрация
23.09.18
Сообщения
12.347
Реакции
176
Репутация
0
cwxlyzgvpg65eqggu2flze6baao.png



В детстве я мечтала стать учителем. Детская мечта частично сбылась: мои взрослые рабочие будни проходят «в школе». И хотя я не учитель в реальном классе, а программист системы дистанционного обучения (СДО), цель у меня та же: сделать обучение доступным, а его процесс интересным. Правда, программисту для этого необходимо умение «жонглировать» не мелом и указкой, а стандартами дистанционного обучения. Я предлагаю совершить путешествие во времени на 20 лет назад, чтобы узнать, как эволюционировали стандарты дистанционного обучения и какие средства в арсенале программистов СДО есть сейчас.

В 1999 году, когда мои ровесники обводили карандашом в кружок теорему Пифагора в учебнике геометрии, компания ADL стартовала проект, в котором скучные учебники планировали заменить электронными курсами. В 2001 ею была выпущена первая официальная версия SCORM (Sharable Content Object Reference Model) — формального языка и спецификации для создания обучающих курсов и их интеграции в СДО. 

ADL — не единственная компания, которая пыталась стандартизировать дистанционное обучение. На создание SCORM ее вдохновила разработанная компанией AICC одноименная спецификация. AICC первоначально предназначалась для авиации, но в результате стала популярна и за ее пределами.

SCORM «под капотом» — это:

  • описание структуры учебных блоков и пакетов учебного материала (Content Aggregation Model) — метаданных и ресурсов (изображения, HTML-файлы, Flash и т.д.);
  • требования к среде выполнения: правила запуска курсов, ECMAScript API для коммуникации SCORM-клиента с СДО, структура модели данных;
  • правила организации учебных материалов и навигации между ними в зависимости от успеваемости ученика.

Несмотря на то, что реализация курса и его поддержки на стороне СДО — задача непростая, SCORM выглядел привлекательным со многих сторон:

  • Конфигурация SCORM-курсов не завязана на конкретной СДО. Однажды созданные курсы могут быть использованы в любых системах, поддерживающих SCORM. Справедливо и обратное: для СДО не важно, кто является провайдером курса. Достаточно того, чтобы курс соответствовал стандарту.
  • SCORM-курс может содержать проверочные тесты, обучающие модули, интерактивные игры в любом формате, поддерживаемом браузерами. 
  • СДО получает информацию о прогрессе ученика: оценку, если это тест, процент прохождения курса, время, затраченное на обучение, и т. д.
  • Курсы хорошо структурированы, блоки и модули следуют друг за другом в заданном порядке.
  • Ученик может прервать курс и продолжить в любое другое время. СДО позаботится о том, чтобы в следующий раз курс открылся на том месте, на котором был остановлен.

xAPI


Со временем SCORM показал свои слабые стороны.

  • Исторически сложилось, что большинство курсов реализовано на некогда популярном Flash. Решение о прекращении поддержки Flash привело к тому, что обновленные браузеры «не хотят» добровольно запускать такие SCORM-курсы.
  • Мобильные гаджеты, оснащенные приложениями для обучения, стали конкурировать с ПК за «место на парте», и зависимый от браузера SCORM остался не у дел.
  • SCORM-курс не способен существовать отдельно от СДО: и хоститься они вынуждены вместе, чтобы избежать кроссдоменных конфликтов, и сам по себе такой курс вне СДО становится бесполезным.
  • Обнаружилось, что взломать SCORM-курс способен даже школьник («спасибо» ECMAScript API).

ADL решила не латать дыры в SCORM, а создать новую спецификацию, которая не повторит ошибок SCORM и в будущем станет его достойной заменой. Так появился xAPI (или TinCan).

wgd40tes7wflqzeaeqfigk2nyi4.png



Изюминки нового стандарта — это основанная на REST архитектура и Learning Record Store (LRS) — отдельно выделенное хранилище, которое получает информацию о каждом шаге учащегося и выдает ее по запросу. Что это дало пользователям и разработчикам xAPI?

  • Стало возможным обучаться на мобильном устройстве.
  • Формат контента курса безграничен. Устаревший Flash, произвольные HTML-страницы, аудио, видео, обучающие игры и симуляторы — из всего этого можно «приготовить» контент. 
  • Курсовой контент и LRS могут быть размещены где угодно, а не только на том сервере, где «живет» СДО.
  • Курсы доступны даже офлайн. Информация о прохождении курса не будет потеряна, как это происходит в SCORM, а синхронизируется с LRS сразу, как только восстановится связь. Также ученик может продолжить обучение на любом другом устройстве с того места, где он остановился, а не проходить курс заново. 
  • Неограниченные возможности для сбора аналитики.
  • Наконец, курсы стали доступны вне СДО. Теперь всю работу по хранению и выдаче аналитики выполняет за нее LRS.

xAPI + СДО =?


Хотя xAPI и выглядит как серебряная пуля для электронного обучения, на практике оказалось, что отдельные xAPI-курсы не могут заменить полноценную СДО. Попытка же подключать такие курсы к СДО сильно осложнилась тем, что язык xAPI лишен жестких правил. Так, например, нет способа систематизировать и однозначно идентифицировать действия учащегося, если в одном курсе глагол, означающий завершение курса, — это “completed”, а в другом — “passed”. 

В 2016 появился CMI5 (Computer Managed Instruction) — совместное «детище» компаний AICC и ADL, известное как xAPI, модифицированная для использования в СДО. Создатели спецификации утвердили единую структуру курса, правила взаимодействия курса и СДО, словарь слов, описывающих действия учащегося. В итоге CMI5 унаследовала лучшие качества SCORM и xAPI: гарантированную совместимость курсов и СДО и большие возможности для обучения и аналитики процесса обучения. 

ee_mllsoqbszgars6wwwrjus_-i.png



CMI5 в действии


Рассмотрим простейший CMI5-курс для изучения русского языка.

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

xu9qeablrh1ntyvmeynuj9udsw8.png



Модуль «Падежи» — только для чтения. При нажатии на кнопку Продолжить будет сгенерировано событие «Иван Иванов изучил 'Падежи'. », или на языке CMI5 “Ivan Ivanov experienced 'Падежи'.”. На запрос информации о произошедшем событии LRS ответит следующим JSON:

Ivan Ivanov experienced 'Падежи'.

{
"id": "5f174065-3b34-4995-97d9-9ed542a85c91",
    "actor": {
        "account": {
            "homePage": " ",
            "name": "test"
        },
        "objectType": "Agent",
        "name": "Ivan Ivanov"
    },
    "verb": {
        "id": " ",
        "display": {
            "en-US": "experienced"
        }
    },
    "context": {
        "extensions": {
" ": "bb6253b8-9470-405b-962c-6e12b1cb4e18"
        },
        "registration": "3f0210f7-82fc-4adf-bea8-0b5b6c7555ab",
        "contextActivities": {
            "grouping": [
                {
                    "id": " ",
                    "objectType": "Activity"
                }
            ],
            "parent": [
                {
                    "id": " ",
                    "objectType": "Activity"
                }
            ]
        }
    },
    "timestamp": "2020-02-15T16:29:59.000Z",
    "stored": "2020-02-15T16:29:59.494Z",
    "authority": {
        "account": {
            "homePage": " ",
            "name": "test"
        },
        "objectType": "Agent",
        "name": "Ivan Ivanov"
    },
    "version": "1.0.0",
    "object": {
        "id": " ",
        "definition": {
            "name": {
                "ru-RU": "Падежи"
            },
            "type": " "
        },
        "objectType": "Activity"
    }
}

В этой структуре можно разглядеть следующую информацию:

  • actor — описывает того, кто проходит обучение. В приведенном примере обучающийся — один человек («objectType»: «Agent»), но проходить модуль может также и группа из нескольких людей («objectType»: «Group»).
  • verb — глагол, обозначающий действие учащегося. То, что отличает CMI5 от xAPI, — это утвержденные 9 глаголов-действий: Launched, Initialized, Terminated, Passed, CompletedAndPassed, CompletedOrPassed, Not Applicable, Failed, Abandoned, Waived, Satisfied;
  • timestamp — фиксированный момент времени прохождения модуля;
  • stored — время, когда событие было записано в LRS;
  • authority — информация об авторизованном пользователе; 
  • object описывает текущий модуль. 

Другой модуль курса — проверочный. От учащегося требуется выбрать несколько правильных ответов из предложенных вариантов.

c34r-2llc8nmqix_jyqocat2lus.png



Наш неграмотный ученик частично ошибается, выбрав 3 и 4 варианты. JSON-отчет для этого события выглядит так:

Ivan Ivanov incorrectly answered 'Выберите предложения, в которых -бы пишется РАЗДЕЛЬНО.' with response '2,3' with score 0%.

{
"id": "e0d2bc32-31f4-478e-83cf-f5a29c707c64",
"actor": {
"account": {
"homePage": " ",
"name": "test"
},
"objectType": "Agent",
"name": "Ivan Ivanov"
},
"verb": {
"id": " ",
"display": {
"en-US": "answered"
}
},
"result": {
"score": {
"scaled": 0,
"raw": 0,
"min": 0,
"max": 10
},
"success": false,
"response": "2[,]3",
"duration": "PT0H0M21S"
},
"context": {
"extensions": { " ": "bb6253b8-9470-405b-962c-6e12b1cb4e18"
},
"registration": "3f0210f7-82fc-4adf-bea8-0b5b6c7555ab",
"contextActivities": {
"grouping": [
{
"id": " ",
"objectType": "Activity"
}
],
"parent": [
{
"id": " ",
"objectType": "Activity"
}
]
}
},
"timestamp": "2020-02-15T16:30:12.000Z",
"stored": "2020-02-15T16:32:06.654Z",
"authority": {
"account": {
"homePage": " ",
"name": "test"
},
"objectType": "Agent",
"name": "Ivan Ivanov"
},
"version": "1.0.0",
"object": {
"id": " ",
"definition": {
"name": {
"ru-RU": "Выберите предложения, в которых -бы пишется РАЗДЕЛЬНО."
},
"description": {
"ru-RU": "Выберите предложения, в которых -бы пишется РАЗДЕЛЬНО."
},
"type": " ",
"correctResponsesPattern": [
"1[,]2"
],
"choices": [
{
"id": "0",
"description": {
"ru-RU": "Ира делает селфи, что(бы) привлечь внимание Димы."
}
},
{
"id": "1",
"description": {
"ru-RU": "Что(бы) ни опубликовал Иван в Инстаграме, Маше все нравилось."
}
},
{
"id": "2",
"description": {
"ru-RU": "\"Что(бы) заказать: суши или вок?\" - думала Вика."
}
},
{
"id": "3",
"description": {
"ru-RU": "Что(бы) быть в тренде, Антон купил пальто."
}
}
],
"interactionType": "choice"
},
"objectType": "Activity"
}
}

Объект result содержит результат прохождения теста: ответ ученика, набранные учеником очки, максимальное и минимальное количество очков, время, затраченное на тест и т.д. Объект object описывает содержимое теста, включая список вариантов и правильный ответ.

Заключение


В 2019 году компания Rustici Software опубликовала статистику курсов, загружаемых на SCORM Cloud.

c0uzknw6qqsfnwzsvqaibte0h00.png



Согласно статистике, процент использования xAPI-курсов растет с каждым годом, хотя спецификация все еще далека по популярности не только от различных версий SCORM, а даже от его прародителя AICC. 

Причин для этого несколько. Самые очевидные — трудовые и финансовые затраты, необходимые для внедрения xAPI. К тому же большое число СДО доступны только в браузере, и если исключить проблемные Flash-курсы, то сложно придумать весомый повод для того, чтобы отказаться от рабочих SCORM-курсов и переписать их на xAPI.  

Процент CMI5-курсов на этом графике минимальный. При этом CMI5 отлично справляется со своей главной миссией: обеспечивает совместимость LRS и xAPI-подобных курсов с СДО и, как следствие, выступает более мощной и современной альтернативой SCORM.

Есть ли жизнь после SCORM? Однозначно есть. И она объективно более интересная, более технологичная и разнообразная, чем та, что помещается в браузерное окно.

Ссылки на материалы, использованные в статье:


 
Сверху Снизу