In e-learning systems (SEA) used in educational institutions, it is often required, in addition to connecting the e-course to SEA, to also import its individual components to form unified banks of educational resources. Such banks are used in the educational process, including the creation of interdisciplinary special courses, final testing throughout the entire training period. As a rule, these are primarily test items, images, multimedia components. Some content elements, in particular test items created without the use of machine-readable formats (CSV, JSON, XML, XLS), are not amenable to effective automated import into SEA. This is especially true of HTML / CSS / JavaScript used in the container for electronic courses and publications ePUB . To solve this problem, the author proposes to use the descriptions of tests and individual test questions as part of a course in machine-readable XML format in accordance with the IMS Question and Test Interoperability v.2.2 specification (IMS QTI).
ePUB version 3, developed by the IDPF Association and is the standard for the exchange and distribution of electronic publications. ePUB has become widespread among publishers of electronic textbooks and courses. The format is supported on most mobile platforms, and formed the basis of a number of other similar formats, for example, Apple's ibooks.
Figure 1. The structure of the EPUB container
ePUB is actively developing and has become popular among publishers, due to the fact that it was originally created for e-books and is a reusable package that is convenient to distribute and monitor compliance with license agreements through DRM systems .
The format was also noticed by the developers of E-Learning systems ( LMS ), because on the one hand, with the advent of ePUB version 3, the format provides support for multimedia objects - HTML5, CSS, JavaScript, SVG, audio, video, bitmaps and other resources, including 3D objects, which allows you to implement any type of electronic educational resources, and on the other - the replacement of the outdated SCORM , which came in 2013, the xAPI standard (aka Tin Can) allows you to send data about the student’s actions directly from ePUB without direct participation Lms.
At the heart of ePUB - Open Packaging Format (OPF - open packaging format), this is a zip-container containing hypermedia content in HTML / XHTML format and xml-files with descriptions. The ePUB structure is shown in Figure 1.
The hypermedia content is in the OEBPS catalog, the name of the catalog is due to historical reasons - this is the name of the format of electronic publications that preceded the format of ePUB.
The META-INF directory contains general container content description files. In fig. Figure 2 shows that inside the ePUB container there is a regular hierarchical file structure resembling the structure of an HTML site. Indeed, the content of ePUB v.3 can be compared with an offline version of a website or a stand-alone web application, where programming, markup and visualization languages ​​are a bunch of HTML5 / CSS / JavaScript languages.
Solid orange fill in fig. 1 highlighted added to the ePUB elements that increase the interoperability of the format. These are xAPI libraries (Tin Can) and JavaScript codes contained in the xAPI JS libs directory, as well as additional xml descriptions in IMS QTI format, which will be further discussed in more detail.
To add test descriptions and simulators according to the IMS QTI specification, each ePUB container must contain the following xml files:
The IMS QTI v2.2 specification allows you to describe most of the types of questions used in e-courses. The specification identifies certain groups among which are most often used:
For each type in the IMS QTI standard, there is a specific set of XML tags and syntax features for describing the content and logic of the task (question). These tags and syntax will be discussed below, including specific examples.
The general structure of the imsmanifest.xml file according to the specification is presented in Figure 2:
Figure 2. General structure of the imsmanifest.xml file
For most electronic courses, some of the elements of the imsmanifest.xml file provided by the specification are redundant and are not used.
Below in Listing 1, for example, are excerpts from the imsmanifest.xml file related to the e-biology course. The course contains tests (test questions) and simulators. In the context of this electronic course, “test” or “test question” are elements of a knowledge test, and the result of their execution is sent to the database. The simulator, although in form and may be similar to a test question, has as its purpose, through the repeated passage of a task, to consolidate the material, to help the student remember the correct answer. Data on the passage of students of tasks simulators do not fall into the general list of progress.
Listing 1. File 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>
The imsmanifest.xml file, like any xml file, starts with a prologue, followed by meta descriptions (<metadata> tag), where the course name, version, ePUB file name is indicated. The following are descriptions of the general structure of interactive tests and simulators (the <organizations> tag) and links to the qti_xxxxx.xml files containing a detailed description of each individual test or test question (the <resourses> tag).
In this example, ePUB, tests and simulators are stored as objects in the same subdirectories (for example, test1, test2 ... testX, tutor1, tutor2 ... tutorX). The names of tests and simulators have unique meanings within the ePUB container, and they are also used in all xml description files as identifiers.
To meet the specification and provide the ability to automatically import the structure and content of tests and simulators, each test or simulator should be completed with a file of the type qti_xxxxx.xml, where xxxxx is the name of the identifier and the directory of the same name containing this test or simulator.
Files describing the structure of tests and simulators should also be listed in the meta information file content.opf indicating media-type = "text / xml".
Figure 3. The question “Multiple choice with the only correct answer”
The question is depicted in Figure 3, in the structure of the ePUB container, it is named test1. In this question, the student is given the opportunity to answer the question and get acquainted with the correct answer option in the case of a failed attempt. The question is accompanied by a file describing its structure, with an indication of the correct answer, in accordance with the IMS QTI v2.2 specification - qti_test1.xml (Listing 2).
Listing 2. The qti_test1.xml file
<?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>
This XML file allows for importing information about the type of question and the structure of the task contained in the question, the correct answers and their number. In the considered example, the <correctResponse> tag in combination with the <value> tag specifies the correct answer.
Figure 4. The question “Multiple choice with several correct answers”
The question is depicted in Figure 4. In this question, the student is given the opportunity to choose several answers, each of which has a positive or negative weight and affects the resultant score on the question. The question in the structure of the ePUB container has the name and directory of test2 and is accompanied by a file describing its structure - qti_test2.xml, which also shows the paths to the illustrations inside the ePUB container (Listing 3).
Listing 3. The qti_test2.xml file
<?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>
In Listing 3, the <correctResponse> tags give the correct answers to the question, and the <mapping> tags give the weights for each correct and incorrect answer. Since there may be several correct answers, the total score for the question will be equal to the sum of the correct and incorrect answers. Thus, choosing only the correct answers, the student increases his total score for the task. In contrast, if the student chooses the wrong answer, which is assigned a negative weight (-1) by the <mapEntry> tag, the total amount is reduced, which worsens the final result. The <mapping> tag also specifies the maximum possible upper (upperBound) and minimum possible lower (lowerBound) points for the task as a whole; these values ​​cannot be overcome, regardless of the final calculated sum of correct or incorrect answers. In this example, lowerBound = 0, this means that even if the student chooses only incorrect answers (-1-1-1 = -3), then the resulting grade for the task will be = 0. For each answer, the <mg> tag is associated with a certain illustration from the number images stored in ePUB container.
Figure 5. “Match Match” Question
The question is depicted in Figure 5, in the structure of the ePUB-container, named test3. The student must match pairs of values, in this case, correctly map the illustrations and captions to them. For each correctly made correspondence a certain point is accrued, which is summed up as a final score for a task. Invalid matches are not counted, no penalties are imposed. The question is accompanied by a description file - qti_ test3.xml (Listing 4), which also contains links to illustrations in the ePUB container.
Listing 4. The qti_test3.xml file
<?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>
In the above example, the correct pairs of matches are specified inside the <correctResponse> tags, and inside the <mapping> tags, points are assigned that will be assigned to each correctly constructed match. Images and phrases that should be matched to them are set by <simpleAssociableChoice> tags.
The article discusses the use of specifications and standards that allow to increase the interoperability of the e-course. The examples considered in the article are basic and can be complicated depending on actual requirements. To do this, refer to the IMS QTI Implementation Guide documentation.
Source: https://habr.com/ru/post/325980/