1
IMS-QTI Hélène Giroire
Master-DU décembre 2011
2
Un environnement pour l’édition de patrons d’exercices et de tests
dans un format standard, pour leur rangement dans une base de données, pour leur exécution sur une plateforme ou sur des serveurs Web. Odette Auzende, Hélène Giroire, Françoise Le Calvez
MOCAH Team (LIP6)Université Pierre et Marie Curie, Paris, France
TICE et formation
Cours, exercices, tests en ligne en mathématiques, 16 à 24 millions de pages sont
consultées par semaine Patrons d’exercices
descriptions d’exercices s’appuyant sur des paramètres
paramètres instanciés à chaque exécution obtention d’un grand nombre d’exercices différents
(clones) à partir d’un même patron
TICE et formation
Outils de création d’exercices mathématiques Euler, WIMS, outils d’éditeurs… permettent de
créer des patrons d’exercices, généralement écrits dans un langage propriétaire
Certaines plates-formes d’e-learning permettent de générer des schémas XML spécifiques (Moodle, Sakai), d’importer certains types de fichiers XML, mais n’assurent pas l’interopérabilité globale
Contexte (1) Projet RIAM : développer une chaîne automatique
de production de contenus interactifs Intervenants : éditeur Odile Jacob Multimédia
(OJM), équipe MOCAH du LIP6 Existant OJM : plusieurs centaines de patrons
d’exercices de mathématiques niveau collège, codés dans un langage spécifique complexe et installés sur la plate-forme propriétaire Babel
6
Patron d’exercices: exemple 1 Enoncé:
a/b de c est égal à: o -a*c/b o a*c/(b*c) o a*c/b
Paramètres et contraintes: a, b, c entiers. 1≤ a ≤10; 2 ≤ b ≤ 20; -20 ≤ c ≤ -10 a*c multiple de b
Quelques instances6/20 de -20 est égal à :
o -6 o 6 o -120/400
5/12 de -12 est égal à : o 5 o -60/144 o -5
7
Patrons d’exercices : exemple 2 Enoncé:
Complète : √a * (… + √c) = b * √… + … Paramètres et contraintes:
a, b, c entiers entre 2 et 20 a ≠ 4, a ≠ 9, a ≠ 16, c ≠ 4, c ≠ 9, c ≠ 16 a*c est un carré
Quelques instances: √8 * (… + √2) = 13 * √… + … √3 * (… + √12) = 6 * √… + …
8
Contexte du projet ANR C3 (2) Exemple de fichier OJM
Des balises propriétaires Des paramètres Du tirage aléatoire Des appels à des
fonctions java
9
Contexte (3) Objectif : créer des exercices dynamiques qui
pourraient être exécutés sur la plupart des serveurs Web et des plates-formes existantes.
Matériel : une base de patrons d’exercices de centaines d’exercices mathématiques pour le niveau collège Ces patrons contiennent des paramètres Les professeurs ont défini des contraintes entre ces
paramètres Les contraintes rendent ces paramètres
interdépendants.
Caractéristiques souhaitées
Possibilité de saisie et de contrôle par l’auteur des contraintes relatives aux paramètres de l’exercice
Variabilité : changement de valeurs des paramètres à chaque exécution, en respectant les contraintes spécifiées par l’auteur
Interopérabilité : écriture des fichiers d’exercices conformément à une norme ou une spécification pour autoriser les transferts entre plates-formes
Représentation d’objets mathématiques Des normes et spécifications existent : MathML, OpenMath, OMDoc
Elles permettent de représenter les objets mathématiques, mais la représentation d'un exercice comporte aussi la représentation : des interactions des principes de l’évaluation du retour à l’apprenant
IMS - Learning Design
IMS-LD : dédié essentiellement au e-learning
Documents de référence : http://www.imsglobal.org/
Définition d’un méta-langage autorisant la description des ressources, objectifs, instructions, types d’interactions, activités, stratégies…
IMS - QTI Un « learning object » de la spécification IMS-
LD est censé contenir des questionnaires pour vérifier l’acquisition des connaissances
D’où définition de la spécification IMS-QTI (Question and Test Interoperability), modèle de questionnaires et de tests
But de IMS-QTI : permettre l’échange de questionnaires et de tests entre différents Learning Management System (LMS)
Etape 1 : analyse des exercices OJM Types de paramètres : entiers, décimaux, réels, chaînes de
caractères, tableaux de nombres, de chaînes Types de contraintes entre paramètres
Etape 2 : étude de plateformes existantes et des formats de représentation d’exercices. Critères : format de représentation (propriétaire ou non) possibilité de définir des paramètres et des contraintes plateforme propriétaire ou non Capacités et formats d’import / export d’exercices Emergence de la spécification IMS-QTI comme format d’import / export
Format de représentation d’exercices
14
IMS - QTI version 1.2 IMS-QTI version 1.2 (2002) Spécification encore en vigueur pour
l’importation et l’exportation de questions et de tests sur les plates-formes LMS qui supportent cette spécification
Arrivée des versions 2 (2005 et 2006) : suggère la fin probable de la version 1.2
XSD successives publiées par le consortium IMS IMS-QTI 1.0, 1.1 et 1.2 (de 2000 à 2004) IMS-QTI 2.0 (2005) et 2.1 (2006)
Proposent 17 types d’interaction Autorisent la création de paramètres : templateVariable Instancient des paramètres sous contraintes via des
templateCondition Servent de format d’import et/ou export pour plusieurs
outils ou plateformes (QuestionMark, Moodle, Claroline) XSD de IMS-QTI 2.1 en cours de révision en 2011
16
Elément racine : assessmentItem Déclaration des variables
associées aux réponses : responseDeclaration de sortie (score et feedback) : outcomeDeclaration paramètres : templateDeclaration
Initialisations : templateProcessing Corps de l’exercice : itemBody
Les formules mathématiques sont exprimées en MathML Règles d’analyse de la réponse fournie par l’élève :
responseProcessing Retours à l’apprenant : modalFeedback
17
Format de représentation d’exercices
Initialisation des variables
Les possibilités sont limitées Deux exemples d’initialisations possibles :
* x et y sont des entiers
x vaut 2 ou 3
si x = 2, alors y est compris entre 3 et 7, sinon y
est compris entre 4 et 10
* a et b sont des décimaux
a est compris entre 6.2 et 10.5
b est compris entre 2 et a
IMS - QTI version 2 Exemple de déclaration et initialisation
de variablesx entier, vaut 2 ou 3
si x = 2, alors y vaut 3, 5 ou 7
sinon, y vaut 4, 7 ou 10
n = 120 / x
RESPONSE = 120 / y
Voir fichier
initialisations nécessairement SEQUENTIELLES : x d’abord, puis y, puis n et enfin RESPONSE
IMS - QTI version 2
Limites de ces déclarations la conditionnelle si / sinon impose l’initialisation des
variables de manière séquentielle : il est impossible de revenir sur une variable qui a déjà été affectée d’une valeur
les contraintes sur plusieurs variables ne peuvent pas être prises en compte
les opérateurs proposés sont insuffisants pour rendre compte de la diversité des types d’exercice
IMS - QTI version 2
Exemple : les variables a, b et c sont telles que
2 <= a < 7 et a != 4
2 <= b < 7 et b != 4
a et b premiers entre eux
2 <= c < 5
2 <= d < 5
si a et b sont choisis entre 2 et 6, on ne peut plus revenir sur ce choix pour imposer qu’ils soient, en plus, différents de 4
contrainte entre deux variables impossible à formuler
22
Mais - Patron d’exercices: exemple 1 Enoncé:
a/b de c est égal à: o -a*c/b o a*c/(b*c) o a*c/b
Paramètres et contraintes: a, b, c entiers. 1≤ a ≤10; 2 ≤ b ≤ 20; -20 ≤ c ≤ -10 a*c multiple de b
Quelques instances6/20 de -20 est égal à :
o -6 o 6 o -120/400
5/12 de -12 est égal à : o 5 o -60/144 o -5
23
Mais - Patrons d’exercices : exemple 2 Enoncé:
Complète : √a * (… + √c) = b * √… + … Paramètres et contraintes:
a, b, c entiers entre 2 et 20 a ≠ 4, a ≠ 9, a ≠ 16, c ≠ 4, c ≠ 9, c ≠ 16 a*c est un carré
Quelques instances: √8 * (… + √2) = 13 * √… + … √3 * (… + √12) = 6 * √… + …
Mais : définition de tableaux Exemple 3 : calculer la moyenne de n nombres
entiers sous les contraintes :
* n est un entier compris entre 8 et 12
* t est un tableau de taille n
* chaque élément du tableau est un entier compris entre 5 et 15
nécessite de pouvoir générer un tableau dont la taille est elle-même une variable, ce qui est impossible en QTI 2.1
Projet C3 : Proposition de l’équipe MOCAH du LIP6
étendre IMS-QTI 2 pour déclarer des contraintes plus riches que celles proposées actuellement par la spécification
proposer que ces extensions soient prises en compte dans le développement des futurs players QTI 2 :
développer entre-temps des outils « jouets » permettant de visualiser les exercices au format QTI 2 « étendu »
Propositions d’extensions (1) Les contraintes d'interdépendance des
variables ne peuvent pas être exprimées en QTI 2.1
Nous enrichissons donc la classe templateProcessing d’une sous-classe appelée templateConstraint
Chaque élément templateConstraint contient une expression correspondant à une contrainte sur les variables
Propositions d’extensions (1)
C’est ensuite l’interprétation des différents éléments templateConstraint qui doit faire réitérer le processus d’instanciation des variables jusqu’à ce qu’elles satisfassent toutes les contraintes
Cette interprétation doit être faite par un programme (player QTI ou autre) qui peut implémenter différentes stratégies pour aboutir à l’instanciation des variables
QTI étendu
- a différent de b<templateConstraint>
<not><equal>
<variable identifier="a" />
<variable identifier="b" />
</equal></not>
</templateConstraint>
QTI étendu - a p re m ie r a v e c b
< te m p la te C o n s tra in t>< e q u a l>< g c d >< v a ria b le id e n tifie r= "a " />< v a ria b le id e n tifie r= "b " />< /g c d >< b a s e V a lu e b a s e T y p e = "in te g e r"> 1 < /b a s e V a lu e >< /e q u a l>
< /te m p la te C o n s tra in t>
QTI étendu- a m u ltip le d e b
< te m p la te C o n s tra in t>< e q u a l>< in te g e rM o d u lu s >< v a ria b le id e n tifie r= "a " />< v a ria b le id e n tifie r= "b " />< /in te g e rM o d u lu s >< b a s e V a lu e b a s e T y p e = "in te g e r"> 0 < /b a s e V a lu e >< /e q u a l>
< /te m p la te C o n s tra in t>
QTI étendu
a n’est pas multiple de 3 <templateConstraint>
<not>
<equal>
<integerModulus>
<variable identifier="a" />
<baseValue baseType="integer">3</baseValue>
</integerModulus>
<baseValue baseType="integer">0</baseValue>
</equal>
</not>
</templateConstraint>
QTI étendu- a != c o u c m u ltip le d e b o u e p re m ie r a v e c f< te m p la te C o n s tra in t>< o r>< n o t>< e q u a l> < v a ria b le id e n tifie r= "a " /> < v a ria b le id e n tifie r= "c "/>< /e q u a l> < /n o t>< e q u a l>< in te g e rM o d u lu s > < v a ria b le id e n tifie r= "c " />< v a ria b le id e n tifie r= "b “ />< /in te g e rM o d u lu s >< b a s e V a lu e b a s e T y p e = "in te g e r"> 0 < /b a s e V a lu e >< /e q u a l>< e q u a l> < g c d > < v a ria b le id e n tifie r= "e " /> < v a ria b le id e n tifie r= "f"/> < /g c d >< b a s e V a lu e b a s e T y p e = "in te g e r"> 1 < /b a s e V a lu e >< /e q u a l>< /o r>< /te m p la te C o n s tra in t>
Le contenu d’un tableau est énuméré : sa taille est déterminée par le nombre d’éléments cités et ne peut donc varier
On ne peut référencer un élément du tableau qu’avec un entier spécifié (pas une variable entière)
Pour calculer la somme ou le produit des éléments d’un tableau, il faut faire le calcul explicitement
Or des exercices nécessitent d’autres mécanismes : Calculer la moyenne de 8 à 12 entiers compris chacun entre
10 et 40 Trouver le nième nombre premier (n <= 20), où les 20
premiers nombres premiers figurent dans un tableau
33
Limites de IMS-QTI 2.1-2006
Propositions d’extensions (2)
Nous enrichissons également la classe expression en lui ajoutant les sous-classes : repeat pour définir des tableaux dont la taille est
elle-même une variable sumContainer pour imposer une valeur à la
somme des éléments d’un tableau
IMS - QTI version 2 « étendu » Exemple : tableau t de n entiers aléatoires (n compris entre 8 et 10) compris
entre 20 et 60 et de somme 400
<setTemplateValue identifier="t"> partie déclaration<ordered>
<repeat time="n"><randomInteger min="20" max="60" />
</repeat></ordered>
</setTemplateValue>
<templateConstraint> partie contrainte<equal>
<sumContainer><variable identifier="t" /></sumContainer>
<baseValue baseType="integer">400</baseValue></equal>
</templateConstraint>
Devenir de ces extensions Présentées et argumentées lors de cinq réunions
internationales du groupe QTI Birmingham (septembre 2008) Glasgow (juin 2010) Coblence (août 2010) avec présentations publiques Utrecht (février 2011) Paris (juin 2011)
Acceptées par vote du groupe QTI fin 2010 Modification : sumContainer remplacé par sum, dont la
définition est étendue aux éléments d’un tableau Intégrées dans la nouvelle XSD de QTI 2.1 publiée
très prochainement : IMS-QTI 2.1 (2011)
36
Propositions d’extensions à QTI 2.1
Editer les exercices
38
QTI-Editor pour du IMS-QTI v 2.1 étendu
Nous avons construit QTI-Editor qui permet : d’entrer les patrons d’exercices en spécifiant les
interactions avec l’élève, de déclarer paramètres et contraintes via notre
Editeur de Contraintes (QTI-CE) de définir les réponses attendues et les feedbacks
QTI-Editor permet l’édition de patrons : d’exercices à trous d’exercices à choix multiples (QCM) d’exercices à liste de sélection
39
Edition et jeu d’exercices (2)
Saisie d’un exercice à trous à 4 paramètres a, b, c, d
40
QTI areaMathML area
QTI-CE (QTI-Constraint Editor) fait partie de QTI-Editor, il permet de déclarer les paramètres d’un patron d’exercice et les contraintes entre ces paramètres
Déclaration de variable
Déclaration d’expression
Déclaration de contrainte simple
Déclaration de contrainte complexe (et, ou)Déclaration de tableau
Enregistrement
Version MathML Version QTI étendu
Logiciel Contraintes Permet à des enseignants non -
informaticiens de déclarer de manière naturelle des variables, expressions, tableaux ainsi que les contraintes qui les lient
Génère trois fichiers : un fichier MathML : exercice-mml.xml
un fichier QTI v2 « étendu » : exercice-qti.xml
un fichier java : exercice.java
QTI Constraint Editor (3) Exemple de déclarations de contraintes :
a et b sont des entiers tels que 2 ≤ a ≤10, 2 ≤ b ≤ 40, a et b sont premiers entre eux et a+b multiple de 10
Résultat du fichier MathML Quelque résultats du programme java
a=7 b=3
a=3 b=17
a=9 b=31
a=7 b=33
a=9 b=11
…
Logiciel Contraintes
Le fichier QTI v2 « étendu » de déclarations et contraintes est intégré dans le fichier complet de l’exercice : ajout de l’énoncé, des réponses attendues, du feedback, du score…
45
Les points saillants de QTI-EFITOR Champs de texte avec des trous :
46
Les points saillants de QTI-Editor
Contraintes:a et b entiersa et b entre 20 et 50a différent de b
Enoncé :
Quelle est la valeur de a * b ?
Choix:a + b (calculé)b * a (non calculé)a – b (calculé)a * b (calculé)
Exercices avec des expressions calculées ou non calculées:
Une instance de ce patron:Patron d’exercice:
1
Points saillants Feedbacks différenciés :
48
Deux instances du même patron
Jouer les exercices
Secondes questions Comment les étudiants peuvent-ils
s'entraîner en utilisant des templates ? Existe-t-il un environnement gérant la
spécification QTI V2.1 ?
Avec notre extension, comment l'utiliser ?
Y a-t-il d'autres solutions ?
Nos réponses : les chaînes éditoriales
54
Comment les élèves peuvent-ils utiliser les patrons ?
Nous avons développé un “clone engine” qui crée des fichiers en IMS-QTI 2.1 dans lesquels les paramètres sont instanciés.Ces fichiers peuvent être utilisé dans d’autres LMS
author
Wording
Parameters and constraints
Expected answers
Feedback
QTI-EDITOR
QTI-CE
CLONE-ENGINE
LMS PLATFORM with
future QTI 2.1 viewer
Standard QTI 2.1 file
LMS PLATFORM with
future QTI 2.1 viewer
future extended Viewer
Extended QTI 2.1 filejava files
Extended QTI 2.1 file
learners
Permettant à partir de fichiers IMS-QTI 2.1 (2011) de générer à chaque exécution un fichier clone IMS-QTI 2.1 (2006) où les paramètres sont instanciés en respectant les contraintes
Dans un clone, les valeurs des paramètres restent identiques. Pour obtenir de nouvelles valeurs des paramètres, il faut relancer le cloneEngine
Les fichiers générés peuvent dès lors être joués par les outils et plateformes acceptant les fichiers IMS-QTI 2.1 (2006)
55
Un cloneEngine
56
Comment les élèves peuvent-ils utiliser les patrons ?
Wording
Parameters and constraints
Expected answers
Feedback
QTI-EDITOR
author
QTI-CE
Extended QTI 2.1 file
PHP files generation
JSP files generation
QTI-WPG learners
Apache server
Moodle platform
…
Tomcat server
Sakaï platform
…
Question Diagnosis PHP pair
Question Diagnosis JSP pair
dynamic pages
Les technologies actuelles du web offrent une solution alternative qui permet aujourd’hui d’exécuter les patrons de façon efficace sur différentes plateformes : à partir de fichiers en IMS-QTI étendu QTI-WPG crée des pages dynamiques
Prend en entrée un fichier IMS-QTI 2.1 (2006 ou 2011)
Traduit simultanément en PHP et en java les initialisations des paramètres et les contraintes
Génère en PHP et en JSP un couple de pages Web dynamiques (une page question, une page retour à l’apprenant)
Permet ainsi de faire exécuter les exercices sur les serveurs Web Apache et Tomcat
Sur chaque serveur, les paramètres sont instanciés à chaque exécution
57
Un générateur de pages Web dynamiques (WPG)
58
Plusieurs jeux du même patron
59
Un feedback
Classification des exercices
Structuration d’une base de données basée sur une classification des notions du
domaine, choisie par les enseignants complétée par un graphe de compétences et de
sous-compétences déterminés par les enseignants Classifications étudiées
En mathématiques, Math NSDL1 Taxonomy : 4 niveaux
Pour le C2i, classification du ministère : 4 niveaux Pour l’apprentissage de l’informatique, Computer
Science Curriculum : 3 niveaux61
Classification d’exercices (1)
62
Classification d’exercices (2)Extrait de la Math NSDL1
63
Classification d’exercices (3)Extrait de la classification C2i
64
Classification d’exercices (4)Extrait du curriculum d’apprentissage de l’informatique
Admin-BD, interface Web pour : créer une base de données mySQL correspondant
à la classification choisie (3 ou 4 niveaux) étoffer cette classification par un graphe de
compétences et sous-compétences Une compétence est composée de sous-compétences Une sous-compétence, associée à une compétence,
peut nécessiter d’autres compétences référencer les exercices par rapport à une ou
plusieurs sous-compétences générer des feuilles d’exercices progressifs
65
Outils de classification d’exercices
66
Outil de classification d’exercices (6)
67
Outil de classification d’exercices (7)
Request BD : interface Web destinée aux élèves Pour parcourir la base, choisir
une compétence et faire librement les exercices correspondants
Pour parcourir une feuille d’exercices créée par l’enseignant
Les outils admin-BD et request BD nécessitent uniquement un serveur Web Apache Ils sont exploités en
mathématiques et pour le C2i
68
Outil de classification d’exercices (8)
Test interactif dynamique
IMS - QTI version 2 Les questions,
référencées dans les sections par leur identifiant, font l’objet d’instances séparées
Tests et questions possèdent désormais des racines différentes, respectivement assessmentTest et assessmentItem
71
Test IMS-QTI v2.1 Un test IMS-QTI est un assessmentTest,
ensemble d’éléments assessmentItemRef référençant des items
Chaque test est divisé en parts; chaque part peut être divisé en sections et sub-sections contenant des items
La variabilité du Test est assuré par des preCondition and branchRule
72
Au niveau d’une part /section/item on peut définir des preCondition and branchRule : Une preCondition est une condition évaluée
au début de la part/section/item, qui détermine si la part/section/item doit être sautée ou non
Une branchRule est un règle évaluée à la fin de la part/section/item, pour déterminer une autre cible pour la prochaine part/section/item du test
73
Exemple d’un test dynamique (section1)
Section 1: Si le score obtenu pour squareroot1 est
le score maximal, l’item suivant est squareroot4(branchRule)
squareroot3 est exécuté seulement si le score obtenu à squareroot2 est zero (preCondition)
Si le score obtenu à squareroot3 est différent du score maximal, le test s’arrête (branchRule)
Si le score obtenu à squareroot4 est le score maximal, le test continue par la section suivante
squareroot6 est exécuté seulement si le score obtenu à squareroot5 est zéro
Si le score obtenu à squareroot6 est zero, le test s’arrête
squareroot1
squareroot2
squareroot3
squareroot4
squareroot5
squareroot6
score1=max
score3<>max
score2=0
score4=max
EXIT SECTION
score5=0
Score6=0
EXIT TEST
74
Exemple d’un test dynamique (section1)
Section 1: Si le score obtenu pour squareroot1 est
le score maximal, l’item suivant est squareroot4(branchRule)
squareroot3 est exécuté seulement si le score obtenu à squareroot2 est zero (preCondition)
Si le score obtenu à squareroot3 est différent du score maximal, le test s’arrête (branchRule)
Si le score obtenu à squareroot4 est le score maximal, le test continue par la section suivante
squareroot6 est exécuté seulement si le score obtenu à squareroot5 est zéro
Si le score obtenu à squareroot6 est zero, le test s’arrête
squareroot1
squareroot2
squareroot3
squareroot4
squareroot5
squareroot6
score1=max
score3<>max
score2=0
score4=max
EXIT SECTION
score5=0
Score6=0
EXIT TEST
75
Exemple d’un test dynamique(section1)
Section 1: Si le score obtenu pour squareroot1 est le
score maximal, l’item suivant est squareroot4(branchRule)
squareroot3 est exécuté seulement si le score obtenu à squareroot2 est zero (preCondition)
Si le score obtenu à squareroot3 est différent du score maximal, le test s’arrête (branchRule)
Si le score obtenu à squareroot4 est le score maximal, le test continue par la section suivante
squareroot6 est exécuté seulement si le score obtenu à squareroot5 est zéro
Si le score obtenu à squareroot6 est zero, le test s’arrête
squareroot1
squareroot2
squareroot3
squareroot4
squareroot5
squareroot6
score1=max
score3<>max
score2=0
score4=max
EXIT SECTION
score5=0
Score6=0
EXIT TEST
76
Exemple d’un test dynamique(section1)Section 1: Si le score obtenu pour squareroot1 est le
score maximal, l’item suivant est squareroot4(branchRule)
squareroot3 est exécuté seulement si le score obtenu à squareroot2 est zero (preCondition)
Si le score obtenu à squareroot3 est différent du score maximal, le test s’arrête (branchRule)
Si le score obtenu à squareroot4 est le score maximal, le test continue par la section suivante
squareroot6 est exécuté seulement si le score obtenu à squareroot5 est zéro
Si le score obtenu à squareroot6 est zero, le test s’arrête
squareroot1
squareroot2
squareroot3
squareroot4
squareroot5
squareroot6
score1=max
score3<>max
score2=0
score4=max
EXIT SECTION
score5=0
Score6=0
EXIT TEST
77
Exemple d’un test dynamique(section1)
Section 1: Si le score obtenu pour squareroot1 est le
score maximal, l’item suivant est squareroot4(branchRule)
squareroot3 est exécuté seulement si le score obtenu à squareroot2 est zero (preCondition)
Si le score obtenu à squareroot3 est différent du score maximal, le test s’arrête (branchRule)
Si le score obtenu à squareroot4 est le score maximal, le test continue par la section suivante
squareroot6 est exécuté seulement si le score obtenu à squareroot5 est zéro
Si le score obtenu à squareroot6 est zero, le test s’arrête
squareroot1
squareroot2
squareroot3
squareroot4
squareroot5
squareroot6
score1=max
score3<>max
score2=0
score4=max
EXIT SECTION
score5=0
Score6=0
EXIT TEST
78
Exemple d’un test dynamique(section1)
Section 1: Si le score obtenu pour squareroot1 est le
score maximal, l’item suivant est squareroot4(branchRule)
squareroot3 est exécuté seulement si le score obtenu à squareroot2 est zero (preCondition)
Si le score obtenu à squareroot3 est différent du score maximal, le test s’arrête (branchRule)
Si le score obtenu à squareroot4 est le score maximal, le test continue par la section suivante
squareroot6 est exécuté seulement si le score obtenu à squareroot5 est zéro
Si le score obtenu à squareroot6 est zero, le test s’arrête
squareroot1
squareroot2
squareroot3
squareroot4
squareroot5
squareroot6
score1=max
score3<>max
score2=0
score4=max
EXIT SECTION
score5=0
Score6=0
EXIT TEST
79
Exemple d’un test dynamique(section1)
Section 1: Si le score obtenu pour squareroot1 est le
score maximal, l’item suivant est squareroot4(branchRule)
squareroot3 est exécuté seulement si le score obtenu à squareroot2 est zero (preCondition)
Si le score obtenu à squareroot3 est différent du score maximal, le test s’arrête (branchRule)
Si le score obtenu à squareroot4 est le score maximal, le test continue par la section suivante
squareroot6 est exécuté seulement si le score obtenu à squareroot5 est zéro
Si le score obtenu à squareroot6 est zero, le test s’arrête
squareroot1
squareroot2
squareroot3
squareroot4
squareroot5
squareroot6
score1=max
score3<>max
score2=0
score4=max
EXIT SECTION
score5=0
Score6=0
EXIT TEST
ICCE 2009 - LIP6 - UPMC - Paris - France 80
Exemple d’un test dynamique(2)
Partie correspondant pour la section 1 :
81
QTI_Test_Editor Nous avons implémenté un éditeur de tests,
QTI_Test_Editor L’enseignant déclare parts, sections et sub-sections
auxquelles il attache des patrons d’exercices (choisis en utilisant les compétences )
Il peut attribuer des poids aux scores des exercices Il peut définir branchRules et preConditions pour
adapter le parcours dans le test d’un apprenant en foncion des résultats partiels qu’ils obtient.
L’éditeur crée un fichier QTI représentant l’ assessmentTest
ICCE 2009 - LIP6 - UPMC - Paris - France 82
QTI_Test_Editor (2)
2 parts
ICCE 2009 - LIP6 - UPMC - Paris - France 83
QTI_Test_Editor (2)
2 parts
Insérer parts, sections, sub-sections et items
84
QTI_Test_Editor (2)
2 parts
To insert parts, sections, sub-sections and items
Path in the data base
ICCE 2009 - LIP6 - UPMC - Paris - France 85
QTI_Test_Generator
A partir du fichier IMS-QTI d’un assessmentTest, il crée une page PHP guidant l’apprenant en fonction de ses resultats
Par exemple, pour la section 1, si la réponse au premier exercise est correct, l’exercice suivant proposé est:
86
Conclusion (1) Notre but est de faire bénéficier les enseignants des
nouvelles technologies Les ressources sur lesquelles nous avons travaillé sont
les patrons d’exercices et les tests dynamiques offrant des parcours différents en fonction des réponses
Pour obtenir des ressources inter-operables, nous avons utilisé la spécification IMS-QTI v2.1
Nous avons défini une structure pour la base d’exercices s’appuyant sur une taxonomie du domaine enrichie par un graphe de compétences et de sous-compétences Utilisée pour choisir des exercices pertinents pour les tests
Conclusion (2) Nous avons construit une éditeur de tests
qui crée des fichiers QTI et un QTI test generator qui à partir de ces fichiers crée des fichiers PHP pour serveurs Apache Deux applications ont été menées:
Avec notre base d’exercices de mathématiques Et avec une base d’exercices pour le C2I
Enrichissement de la spécification IMS-QTI 2.1 Pour la génération d’exercices à paramètres interdépendants
Chaîne éditoriale complète Outils simples d’emploi Utilisés par les enseignants des Editions Pole Plus de 400 exercices en ligne sur le site de Pole
Contraintes techniques minimales Pour les exercices, disposer d’un serveur Apache ou Tomcat Aucun Web-service à installer Pour les feuilles d’exercices et les tests, disposer d’un
serveur de bases de données mySQL Site : http://qti-work.lip6.fr
88
Conclusion (3)
En cours : transfert des fichiers d’exercices PHP sur Moodle Réalisé : exécution des exercices PHP sur Moodle A faire : la mémorisation des résultats dans Moodle
Enrichissement des mécanismes de branchement et de précondition dans les tests Mécanismes très peu utilisés jusqu’à présent par les utilisateurs
de la spécification IMS-QTI 2.1 Susceptibles d’être enrichis en s’appuyant sur d’autres
indicateurs que les seuls scores Difficulté à prévoir : autres modifications de la spécification ???
Couplage avec un logiciel de géométrie Nécessité d’une installation plus complexe Problème : comment récupérer les résultats des constructions ?
89
Perspectives
Structuring of Pedagogical Resource Repositories and its Implementation in Two Fields, ICERI 2010
Innovative Technologies in Education: Creating Dynamic and Interactive Tests, ICCE 2009
Using Competencies to Search for Suitable Exercises, ICALT 2009 Caractériser les exercices pour les retrouver rapidement, EIAH 2009 A chain from teacher to student. Generating template exercises in a
standard format and executing them on LMS or directly on Web servers, ICERI 2008
Towards Dynamic and Interoperable Educational Contents: Creating an Editorial Chain, ICALT 2008
Extension of IMS-QTI to express constraints on template variables in mathematics exercises, AIED 2007
Propositions d'extensions à IMS-QTI 2.1 pour l'expression de contraintes sur les variables d'exercices mathématiques, EIAH 2007
Merci de votre attention
90
Publications
FIN ! Pour plus d’information, vous pouvez
contacter [email protected] [email protected] [email protected]
Site sur ce projet http://qti-work.lip6.fr
1