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

Применение IMS QTI в электронных курсах в формате ePUB

ПрограммированиеАнализ и проектирование системXML
Из песочницы

Суть проблемы


В системах электронного обучения (СЭО), используемых в образовательных учреждениях, часто требуется помимо подключения электронного курса к СЭО, также импортировать его отдельные компоненты для формирования единых банков образовательных ресурсов. Такие банки используются в образовательном процессе, в том числе для создания междисциплинарных спецкурсов, итоговых тестирований по всему периоду обучения. Как правило, это в первую очередь тестовые задания, изображения, мультимедийные компоненты. Некоторые элементы контента, в частности тестовые задания, созданные без использования машиночитаемых форматов (CSV, JSON, XML, XLS), не поддаются эффективному автоматизированному импорту в СЭО. Особенно это касается HTML/CSS/JavaScript, применяемых в контейнере для электронных курсов и публикаций ePUB. Для решения этой задачи автором предлагается использовать описания тестов и отдельных тестовых вопросов в составе курса в машиночитаемом формате XML в соответствии со спецификацией IMS Question and Test Interoperability v.2.2 (IMS QTI).


Пару слов о ePUB v.3


ePUB версии 3, разработан ассоциацией IDPF и является стандартом для обмена и дистрибуции электронных публикаций. ePUB получил широкое распространение среди издателей электронных учебников и курсов. Формат поддерживается на большинстве мобильных платформ, и лег в основу ряда других подобных форматов, например, ibooks компании Apple.


Рисунок 1. Структура EPUB-контейнера
image


ePUB активно развивается и стал популярен среди издательств, благодаря тому, что он изначально создавался для электронных книг и представляет собой отчуждаемый пакет, который удобно распространять и контролировать соблюдение лицензионных соглашений через DRM-системы.
На формат также обратили внимание разработчики E-Learning систем (LMS), потому, что с одной стороны, с появлением ePUB версии 3, в формате предусмотрена поддержка мультимедийных объектов — поддерживаются HTML5, CSS, JavaScript, SVG, аудио, видео, растровые изображения и другие ресурсы, в том числе 3D объекты, что позволяет реализовать любой тип электронных образовательных ресурсов, а с другой — пришедший в 2013 году на смену устаревшему SCORM, стандарт xAPI (aka Tin Can) позволяет отправлять данные о действиях обучаемого прямо из ePUB без непосредственного участия LMS.


В основе ePUB — Open Packaging Format (OPF – открытый формат упаковки), это zip-контейнер, содержащий гипермедийный контент в формате HTML/XHTML и xml-файлы с описаниями. Структура ePUB представлена на рисунке 1.


Гипермедийный контент находится в каталоге OEBPS, название каталога обусловлено историческими причинами – так назывался формат электронных публикаций, предшествовавший формату ePUB.
Каталог META-INF содержит общие файлы описания содержимого контейнера. На рис. 2 видно, что внутри контейнера ePUB находится обычная иерархическая файловая структура, напоминающая структуру HTML-сайта. Действительно, содержание ePUB v.3 можно сравнить с офлайн версией веб-сайта или автономным веб-приложением, где языками программирования, разметки и визуализации является связка языков HTML5/CSS/JavaScript.


Сплошной оранжевой заливкой на рис. 1 выделены добавленные в ePUB элементы, повышающие интероперабельность формата. Это библиотеки xAPI (Tin Can) и коды на языке JavaScript, содержащиеся в каталоге xAPI JS libs, а также дополнительные xml-описания в формате IMS QTI, которые далее будут рассмотрены более подробно.


Добавляем IMS QTI в ePUB


Чтобы добавить описания тестов и тренажеров согласно спецификации IMS QTI, каждый ePUB контейнер должен содержать следующие xml-файлы:


  • 1 общий для ePUB контейнера файл imsmanifest.xml, который должен находиться в корневом каталоге первого уровня META-INF. Imsmanifest.xml должен содержать ссылки на все другие файлы контейнера, относящиеся к спецификации IMS QTI. Файл описывает общую структуру и взаимосвязь интерактивных элементов (тестов и тренажеров) электронного курса.
  • Каждый тест и тренажер должен содержать в себе по одному файлу qti_xxxxx.xml, описывающих его структуру и содержание заданий, правильные и неправильные ответы, их веса при расчете итогового балла, ссылки на иллюстрации и другие вспомогательные материалы, используемые в вопросах, а также настройки и логику задания. Данные файлы должны храниться в корневых подкаталогах, содержащих тесты и тренажеры (на рис.1 — test1…testX). Ссылки на описанные файлы должны присутствовать в файле метаинформации, содержащем описание ePUB контейнера content.opf с указанием типа: media-type= "text/xml".

Спецификация IMS QTI v2.2 позволяет описать большинство используемых в электронных курсах типов вопросов. Спецификация выделяет определенные группы, среди которых наиболее часто используются:


  • Вопрос типа «Множественный выбор с единственным правильным вариантом ответа» с иллюстрациями или без.
  • Вопрос типа «Множественный выбор с несколькими правильными вариантами ответа» с иллюстрациями или без.
  • Задание на сопоставление «Установите соответствие» текст-текст, текст-изображение, изображение-изображение, текст-иной объект (ячейка, графа и т.п.)

Для каждого типа в стандарте IMS QTI существует определенный набор XML тегов и особенностей синтаксиса для описания содержания и логики задания (вопроса). Эти теги и синтаксис будут рассмотрены ниже, в том числе на конкретных примерах.


Общий файл пакета imsmanifest.xml


Общая структура файла imsmanifest.xml согласно спецификации представлена на рисунке 2:


Рисунок 2. Общая структура файла imsmanifest.xml
image


Для большинства электронных курсов некоторые элементы файла imsmanifest.xml, предусмотренные спецификацией, являются избыточными и не используются.


Ниже в листинге 1 для примера приведены выдержки из файла imsmanifest.xml относящегося к электронному курсу по биологии. Курс содержит тесты (тестовые вопросы) и тренажеры. В контексте данного электронного курса «тест» или «тестовый вопрос» являются элементами проверки знаний, и результат их выполнения отправляется в базу данных. Тренажер, хотя по форме и может быть похож на тестовый вопрос, имеет своей целью через многократное прохождение задания закрепить материал, помочь учащемуся запомнить правильный ответ. Данные о прохождении учащимся заданий тренажеров не попадают в общую ведомость успеваемости.


Листинг 1. Файл imsmanifest.xml


<?xml version="1.0" encoding="UTF-8"?>
<manifest identifier="ePUB_id"
    version="1.1"
    xmlns="http://www.imsproject.org/xsd/imscp_rootv1p1p2"
    xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_rootv1p2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsproject.org/xsd/imscp_rootv1p1p2 imscp_rootv1p1p2.xsd http://www.imsglobal.org/xsd/imsmd_rootv1p2p1 imsmd_rootv1p2p1.xsd http://www.adlnet.org/xsd/adlcp_rootv1p2 adlcp_rootv1p2.xsd">
    <metadata>
      <uname>ИМЯ_УРОКА</uname>
      <version>1.2 (ВЕРСИЯ УРОКА)</version>
      <filename>ИМЯ_ePUB_файла</filename>
   </metadata>
   <organizations>
      <organization  type="tutor">
         <title>Тренажеры</title>
         <item identifier="tutor1" refnumber="2"> 
              <title>Живой организм: строение и изучение 1</title>
         </item>         
        <!--------- Другие элементы item ---------->
         <item identifier="tutor5" refnumber="8">
              <title>Живой организм: строение и изучение 7</title>
         </item>
      </organization>
      <organization  type="quiz">
         <title>Тесты</title>
         <item identifier="test1" refnumber="9">
              <title>Живой организм: строение и изучение 1</title>
         </item>         
        <!--------- Другие элементы item ---------->
         <item identifier="test7" refnumber="11">
              <title>Живой организм: строение и изучение 3</title>
         </item>
      </organization>
   </organizations>
   <resources>
      <resource identifier="tutor1" type="tutor">
               <file href="/OEBPS/tutor1/qti_tutor1.xml"/>
      </resource>
        <!--------- Другие элементы resource ---------->
      <resource identifier="test001" type="quiz">
               <file href="/OEBPS/test1/qti_test1.xml"/>
      </resource>
   </resources>
</manifest>

Файл imsmanifest.xml, как и любой xml файл начинается прологом, затем следуют мета-описания (тег <metadata>), где указывается имя курса, версия, имя ePUB файла. Далее следуют описания общей структуры интерактивных тестов и тренажеров (тег <organizations>) и ссылки на файлы qti_xxxxx.xml, содержащие подробное описание каждого отдельного теста или тестового вопроса (тег <resourses>).


Файлы отдельных тестов или тестовых вопросов qti_xxxxx.xml


В рассматриваемом примере ePUB, тесты и тренажеры хранятся как объекты в одноименных подкаталогах (например test1, test2…testX, tutor1, tutor2…tutorX). Имена тестов и тренажеров имеют уникальные значения в рамках ePUB контейнера, и они же используются во всех xml файлах описаний в качестве идентификаторов.


Для соответствия спецификации и обеспечения возможности автоматического импорта структуры и содержания тестов и тренажеров, каждый тест или тренажер должен комплектоваться файлом вида qti_xxxxx.xml, где ххххх – имя идентификатора и одноименного каталога, содержащего данный тест или тренажер.


Файлы описаний структуры тестов и тренажеров также должны быть перечислены в файле метаинформации content.opf с указанием media-type="text/xml".


Примеры тестовых вопросов и листинги файлов qti_xxxxx.xml, содержащих их описания


Вопрос «Множественный выбор с единственным правильным вариантом ответа»

Рисунок 3. Вопрос «Множественный выбор с единственным правильным вариантом ответа»
image


Вопрос изображен на рисунке 3, в структуре ePUB-контейнера он имеет имя test1. В данном вопросе учащемуся предоставляется возможность ответить на вопрос и ознакомиться с правильным вариантом ответа в случае неудачной попытки. Вопрос сопровождается файлом описания его структуры, с указанием правильного ответа, в соответствии со спецификацией IMS QTI v2.2 – qti_test1.xml (листинг 2).


Листинг 2. Файл qti_test1.xml


<?xml version="1.0" encoding="UTF-8"?>
<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p1 http://www.imsglobal.org/xsd/imsqti_v2p1.xsd"
    identifier="choice" title="Живой организм: строение и изучение 1" adaptive="false" timeDependent="false">
    <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="identifier">
        <correctResponse>
            <value>ChoiceA</value>
        </correctResponse>
    </responseDeclaration>
    <itemBody>
        <p>Выберите правильный ответ.</p>
        <choiceInteraction responseIdentifier="RESPONSE" shuffle="false" maxChoices="1">
            <prompt>Животные, также как и растения, </prompt>
            <simpleChoice identifier="ChoiceA">растут и развиваются</simpleChoice>
            <simpleChoice identifier="ChoiceB">растут в течение всей жизни</simpleChoice>
            <simpleChoice identifier="ChoiceC">развиваются, но не растут</simpleChoice>
            <simpleChoice identifier="ChoiceD">растут до определенного возраста</simpleChoice>
        </choiceInteraction>
    </itemBody>
</assessmentItem>

Данный XML-файл, позволяет при импорте получить информацию о типе вопроса и структуре содержащегося в вопросе задания, правильных ответах и их количестве. В рассмотренном примере тег <correctResponse> в сочетании с тегом <value> задает правильный ответ.


Вопрос «Множественный выбор с несколькими правильными вариантами ответа»

Рисунок 4. Вопрос «Множественный выбор с несколькими правильными вариантами ответа»
image


Вопрос изображен на рисунке 4. В данном вопросе учащемуся предоставляется возможность выбрать несколько ответов, каждый из которых имеет положительный или отрицательный вес и влияет на результирующий балл по вопросу. Вопрос в структуре ePUB-контейнера имеет имя и каталог test2 и сопровождается файлом описания его структуры – qti_test2.xml, в котором также указаны пути к иллюстрациям внутри ePUB-контейнера (листинг 3).


Листинг 3. Файл qti_test2.xml


<?xml version="1.0" encoding="UTF-8"?>
<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2  http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
    identifier="choiceMultiple" title="Живой организм: строение и изучение 1" adaptive="false" timeDependent="false">
    <responseDeclaration identifier="RESPONSE" cardinality="multiple" baseType="identifier">
        <correctResponse>
            <value>S</value>
            <value>P</value>
            <value>M</value>
        </correctResponse>
        <mapping lowerBound="0" upperBound="3" defaultValue="-3">
            <mapEntry mapKey="S" mappedValue="1"/>
            <mapEntry mapKey="P" mappedValue="1"/>
            <mapEntry mapKey="M" mappedValue="1"/>
            <mapEntry mapKey="K" mappedValue="-1"/>
            <mapEntry mapKey="G" mappedValue="-1"/>
            <mapEntry mapKey="L" mappedValue="-1"/>
        </mapping>
    </responseDeclaration>
    <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
    <itemBody>
        <choiceInteraction responseIdentifier="RESPONSE" shuffle="true" maxChoices="0">
            <prompt>Выберите из предложенных рисунков те, на которых изображены живые организмы</prompt>
            <simpleChoice identifier="K" fixed="false">Комета
                <p><img src="../k.png" alt="Комета"/></p></simpleChoice>
            <simpleChoice identifier="S" fixed="false">Сосна
                <p><img src="../s.png" alt="Сосна"/></p></simpleChoice>
            <simpleChoice identifier="G" fixed="false">Гейзер
                <p><img src="../g.png" alt="Гейзер"/></p></simpleChoice>
            <simpleChoice identifier="L" fixed="false">Тающий лед
                <p><img src="../l.png" alt="Тающий лед"/></p></simpleChoice>
            <simpleChoice identifier="P" fixed="false">Подберезовик
                <p><img src="../p.png" alt="Подберезовик"/></p></simpleChoice>
            <simpleChoice identifier="M" fixed="false">Мох сфагнум
                <p><img src="../m.png" alt="Мох сфагнум"/></p></simpleChoice>
        </choiceInteraction>
    </itemBody>
</assessmentItem>

В листинге 3 в тегах <correctResponse> задаются правильные ответы вопроса, а также тегами <mapping> задаются веса для каждого правильного и неправильного ответов. Поскольку правильных ответов может быть несколько, то общий балл за вопрос будет равен сумме правильных и неправильных ответов. Таким образом, выбирая только правильные ответы, учащийся повышает свой итоговый балл за задание. Напротив, если учащийся выбирает неправильный ответ, которому тегом <mapEntry> назначен отрицательный вес (-1), то общая сумма уменьшается, что ухудшает итоговый результат. В теге <mapping> также задаются максимально возможный верхний (upperBound) и минимально возможный нижний (lowerBound) балл за задание в целом, эти значения не могут быть преодолены, не зависимо от итоговой вычисленной суммы правильных или неправильных ответов. В данном примере lowerBound = 0, это означает, что даже если учащийся выберет только неправильные ответы (-1-1-1= -3), то результирующий балл за задание будет = 0. Каждому ответу тегом <mg> сопоставлена определенная иллюстрация из числа изображений хранящихся в ePUB-контейнере.


Вопрос на сопоставление «Установите соответствие»

Рисунок 5. Вопрос на сопоставление «Установите соответствие»
image


Вопрос изображен на рисунке 5, в структуре ePUB-контейнера имеет имя test3. Учащийся должен сопоставить пары значений, в данном случае – правильно сопоставить иллюстрации и подписи к ним. За каждое правильно составленное соответствие начисляется определенный балл, который суммируется как итоговый балл за задание. Некорректные соответствия не учитываются, штрафы не назначаются. Вопрос сопровождается файлом описания – qti_ test3.xml (листинг 4), в котором также содержатся ссылки на иллюстрации в ePUB-контейнере.


Листинг 4. Файл qti_test3.xml


<?xml version="1.0" encoding="UTF-8"?>
<assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2  http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
    identifier="associate" title="Живой организм: строение и изучение 3" adaptive="false" timeDependent="false">
    <responseDeclaration identifier="RESPONSE" cardinality="multiple" baseType="pair">
        <correctResponse>
            <value>CAT R</value>
            <value>FROG M</value>
            <value>PUMA S</value>
            <value>BIRD N</value>
        </correctResponse>
        <mapping defaultValue="0">
            <mapEntry mapKey="CAT R" mappedValue="1"/>
            <mapEntry mapKey="FROG M" mappedValue="1"/>
            <mapEntry mapKey="PUMA S" mappedValue="1"/>
            <mapEntry mapKey="BIRD N" mappedValue="1"/>
        </mapping>
    </responseDeclaration>
    <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
    <itemBody>
        <associateInteraction responseIdentifier="RESPONSE" shuffle="true" maxAssociations="4">
            <prompt>Установите соответствие</prompt>
            <simpleAssociableChoice identifier="CAT" matchMax="1"><p><img src="../c.png" alt="Кошка"/></p></simpleAssociableChoice>
            <simpleAssociableChoice identifier="FROG" matchMax="1"><p><img src="../f.png" alt="Лягушка"/></p></simpleAssociableChoice>
            <simpleAssociableChoice identifier="PUMA" matchMax="1"><p><img src="../p.png" alt="Пума"/></p></simpleAssociableChoice>
            <simpleAssociableChoice identifier="BIRD" matchMax="1"><p><img src="../b.png" alt="Птица"/></p></simpleAssociableChoice>
            <simpleAssociableChoice identifier="R" matchMax="1">Раздражительность</simpleAssociableChoice>
            <simpleAssociableChoice identifier="M" matchMax="1">Размножение</simpleAssociableChoice>
            <simpleAssociableChoice identifier="N" matchMax="1">Питание</simpleAssociableChoice>
            <simpleAssociableChoice identifier="S" matchMax="1">Движение</simpleAssociableChoice>
        </associateInteraction>
    </itemBody>
</assessmentItem>

В рассмотренном примере внутри тегов <correctResponse> задаются правильные пары соответствий, а внутри тегов <mapping> задаются баллы, которые будут назначены для каждого правильно составленного соответствия. Изображения и фразы, которые должны им сопоставляться задаются тегами <simpleAssociableChoice>.


Заключение


В статье рассмотрены вопросы применения спецификаций и стандартов, которые позволяют повысить интероперабельность электронного курса. Рассмотренные в статье примеры являются базовыми и могут быть усложнены в зависимости от реальных требований. Для этого требуется обратиться к документации IMS QTI Implementation Guide.

Теги:IMS QTIePUBe-learningxmltincanxAPI
Хабы: Программирование Анализ и проектирование систем XML
Всего голосов 12: ↑12 и ↓0+12
Просмотры5.6K

Похожие публикации

Лучшие публикации за сутки