Modelling IMS QTI with Topic Maps

Post on 18-Dec-2014

425 views 1 download

description

This presentation is about how Topic Maps help to improve e-Learning applications.

transcript

W E B V E V E R I E T

Ravn Webveveriet AS, TMRA 2010, Leipzig

Reidar Bratsberg <reidar@ravn.no>Jan Schreiber <jans@ravn.no>, Terje Syversen <terje@ravn.no>

Modelling QTI in Topic Maps

“Get your facts first, then you can distort them as you please.”Mark Twain

W E B V E V E R I E T

Overview

• Our use case

• QTI and Topic Maps

• Embedded topics

• Other uses

W E B V E V E R I E T

Cappelen Damm

• Largest educational publisher in Norway

• Our largest customer

• > 300 e-learning sites/electronic school books

• All published data in topic maps

W E B V E V E R I E T

One Learning Resource

W E B V E V E R I E T

Web server

Postgresql

Topic Maps APITMAPI

Web publishing framework

Templates, presentation code

Browser Flash player

...other services...

MathML conversion

API for learning objects (REST)

Binary storage

Image conversion

Ravn Topic Maps engine

Import/exportGrep, RSS, XTM, LTM

...

W E B V E V E R I E T

QTI

CMS, Topic Maps Engine

Students'assessment

results/progress

Learning Objects inSCORM,

IMS-Content Package

In-browserQTI viewer

(Javascript, HTML)Flash

HTML

Editorial Content I18NUser

InterfaceDefinition

PDF,EPUB,etc...

W E B V E V E R I E T

QTI

• IMS Global Learning Consortium

• IMS Question & Test Interoperability Specification

• Share assessment content (+ results) between CMS, LMS, repositories and users

• Data model + XML Binding

• Common Cartridge: QTI v1.2.1 (with Content Packaging 1.2, LOM 1.0)

• Latest version: 2.0 and (sort of) 2.1

W E B V E V E R I E T

QTI Features

• Questions, assessments, results

• Modular, supports nested structures

• Outcome processing

• Control time limits, feedback, pre-conditions etc

• Can include XHTML, MathML

W E B V E V E R I E T

QTI standard woes• January 2005: v.2.0 Final release

• 2.0: Changes definition of items only

• 2.1: Changes the whole interaction model

• Large changes from version 1.2

• Version 2.1 as draft only

• Withdrawn and "depublished" early 2009

• Republished after lots of complaints

• Convert to some future standard may be non-trivial (i.e. requires manual work)

W E B V E V E R I E T

How to deal with this?• Acknowledge the value of content

• Represent our content richer than QTI in our topic map

• We must be able to represent the data model completely (complexity)

• Data/content for the long term

• Generate QTI in whatever version needed in the future

• Support other standards as well

W E B V E V E R I E T

QTI and Topic Maps

• Structure easily represented in Topic Maps

• Use case: Modelling "filling gaps" question type

• Gaps to be filled in by student

• Gaps can have a sound file attached

• QTI: Assessment Item: textEntryInteraction

W E B V E V E R I E T

W E B V E V E R I E T

W E B V E V E R I E T

W E B V E V E R I E T

W E B V E V E R I E T

Embedded Topics

• Need to refer to topics within occurrences

• Need to make statements about these(i.e. associate sounds with gaps in text)

• (Otherwise a simple markup would do)

• Must be able to represent in XML for usage in authoring tools (mainly XHTML editors)

W E B V E V E R I E T

The occurrence

W E B V E V E R I E T

1. Maria bringt das Buch mit.Ich weiß, dass Maria das Buch mitbringt.

2. Peter holt seine Freundin vom Bahnhof ab.Ich weiß, dass Peter seine Freundin vom Bahnhof abholt.

3. (...)

"mitbringt"uid:foo

uid:foo

"Formen Sie folgende Sätze um"

occurrence type:

gap-text

uid:bar

scope

instance of

topic type:gap

instance of

topic type:fill-the-gap

instance of

W E B V E V E R I E T

W E B V E V E R I E T

W E B V E V E R I E T

Authoring tools• Generic capability of editing any number of embedded

topics

• Interface fetched via ajax from the server, depends on type and context

• User interface wants to be a topic map? UI stored in a seperate topic map

• Plugin for TinyMCE editor for generic topic creation/editing/deletion

• The server maintains the necessary associations, topics, occurrences

W E B V E V E R I E T

W E B V E V E R I E T

W E B V E V E R I E T

1. Maria bringt das Buch mit.Ich weiß, dass Maria das Buch mitbringt.

2. Peter holt seine Freundin vom Bahnhof ab.Ich weiß, dass Peter seine Freundin vom Bahnhof abholt.

3. (...)

"mitbringt"uid:foo

uid:foo

"Formen Sie folgende Sätze um"

occurrence type:

gap-text

uid:bar

scope

instance of

topic type:gap

instance of

topic type:fill-the-gap

instance of

Sound: spoken

"mitbringt"

W E B V E V E R I E T

1. Maria bringt das Buch mit.Ich weiß, dass Maria das Buch mitbringt.

2. Peter holt seine Freundin vom Bahnhof ab.Ich weiß, dass Peter seine Freundin vom Bahnhof abholt.

3. (...)

"mitbringt"uid:foo

uid:foo

"Formen Sie folgende Sätze um"

occurrence type:

gap-text

uid:bar

scope

instance of

topic type:gap

instance of

topic type:fill-the-gap

instance of

Sound: spoken

"mitbringt"

"herbeibringt"Image

assc type:answer-

illustration

assc type:alternative-

answer

W E B V E V E R I E T

Other uses for this technique

• Inserting images in content

• Hyperlinks in the text: Internal associations and URIs

• Printer friendly articles with links on the side

• Embedding videos etc

• Example: Vocabulary in Deutch Drei Digital

W E B V E V E R I E T

W E B V E V E R I E T

W E B V E V E R I E T

W E B V E V E R I E T

W E B V E V E R I E T

To conclude...

• It solved our problem

• Used many places in our production code

• Flexible and easy for developers

• Occurrences with many embedded topics (hundreds) => performance tuning

W E B V E V E R I E T

Questions?Thank you.