Суть проблемы
В системах электронного обучения (СЭО), используемых в образовательных учреждениях, часто требуется помимо подключения электронного курса к СЭО, также импортировать его отдельные компоненты для формирования единых банков образовательных ресурсов. Такие банки используются в образовательном процессе, в том числе для создания междисциплинарных спецкурсов, итоговых тестирований по всему периоду обучения. Как правило, это в первую очередь тестовые задания, изображения, мультимедийные компоненты. Некоторые элементы контента, в частности тестовые задания, созданные без использования машиночитаемых форматов (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-контейнера
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
Для большинства электронных курсов некоторые элементы файла 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. Вопрос «Множественный выбор с единственным правильным вариантом ответа»
Вопрос изображен на рисунке 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. Вопрос «Множественный выбор с несколькими правильными вариантами ответа»
Вопрос изображен на рисунке 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. Вопрос на сопоставление «Установите соответствие»
Вопрос изображен на рисунке 9, в структуре 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.
ссылка на оригинал статьи https://habrahabr.ru/post/325980/
Добавить комментарий