Chaîne éditoriale d'exercices (projet C3)

Extensions à IMS-QTI 2.1

IMS-QTI 2.1 permet de déclarer les paramètres d'un patron d'exercices, de décrire l'initialisation des paramètres et des réponses, de définir des expressions à l'aide d'opérateurs mathématiques. Ainsi, il est possible de définir deux paramètres entiers a et b, de préciser que le paramètre a est compris entre 2 et 6 et de déclarer que la valeur de b dépend de celle de a : par exemple, si a est supérieur à 4, alors b est compris entre 2 et 6 ; sinon, b est compris entre 10 et 15.
Dans cet exemple, a et b sont liés, mais b ne peut pas être initialisé avant que a le soit. Il y a donc une dépendance séquentielle entre a et b.

Or il est indispensable de pouvoir exprimer l'interdépendance de paramètres dans les exercices mathématiques au niveau collège.
Exemple 1 : a et b sont des entiers tels que a est compris entre 2 et 10, b est compris entre 2 et 40, b est impair et a+b est multiple de 10.
Exemple 2 : n est un entier compris entre 10 et 12 ; t est un tableau de n entiers compris entre 4 et 10 dont la somme des éléments est égale à 65.

L'interdépendance ne peut pas être spécifiée en IMS-QTI 2.1.
Nous avons donc proposé des extensions à IMS-QTI 2.1 permettant de pallier cette limitation [AIED 2007]   [EIAH 2007].

Fichier imsqti_v2p1_upmc.xsd Fichier imsqti_v2p1_upmc.dtd

Déclarations des extensions

Nous proposons d'enrichir la classe templateRule en lui ajoutant la classe templateConstraint pour décrire les contraintes (voir figure 2), et d'enrichir la classe expression en lui ajoutant de nouveaux opérateurs : repeat, sumContainer, et d'opérateurs mathématiques usuels tels que gcd, lcm (voir figure 3).

Figure 2 : extension de la spécification pour templateRule
Figure 3 : déclaration de la classe templateConstraint

Utilisation de l'opérateur "repeat" pour enrichir templateRule

Dans les versions 2 d'IMS-QTI, des collections ordonnées peuvent être définies par un élément templateRule qui contient autant d'éléments templateVariables que nécessaire.

Mais il est impossible de définir une collection dont la taille est elle-même un élément templateVariable. Notre opérateur repeat permet de définir une telle collection.
Par exemple, si l'on souhaite que l'apprenant calcule la moyenne de n entiers compris entre 10 et 80, la collection sera définie comme le montre la figure 5.

Figure 5 : déclaration d'une collection de taille n

Utilisation de templateConstraint

La sémantique de templateConstraint est la suivante : les paramètres doivent être évalués de façon à satisfaire les contraintes les liant entre eux. Les opérateurs utilisés pour décrire ces contraintes sont les mêmes que ceux utilisés dans les expressions. C'est l'interprétation du templateConstraint dans le templateProcessing qui permet de réitérer le processus d'attribution des valeurs aux paramètres jusqu'à ce que les valeurs vérifient les contraintes.

Premier exemple

2≤A<10
2≤B<40
si A=6 alors B≠7 et B≠15
L'expression de ces contraintes est maintenant possible en utilisant templateConstraint.
La contrainte liant A et B est une implication (A=6) ==> ((B≠7) .AND. (B≠15)) qui peut s'exprimer sous la forme normale conjonctive ((A≠6) .OR. (B≠7)) .AND. ((A≠6) .OR. (B≠15)).
Nous pouvons aussi l'exprimer comme deux templateConstraints (A≠6).OR.(B≠7) et (A≠6).OR.(B≠15), voir figure 6.

Figure 6 : expression des contraintes du premier exemple

Second exemple

2≤A<10
2≤B<40
B impair
A+B est multiple de 10
La troisième contrainte peut être exprimée sous la forme gcd(B,2)=1 en utilisant l'extension de la classe expression.
La quatrième contrainte est exprimée en déclarant l'expression S = A+B et la contrainte S est multiple de 10, voir figure 7.

Figure 7 : expression des contraintes pour le deuxième exemple

Utilisation de sumContainer

Pour les contraintes sur les éléments d'une collection, nous proposons l'opérateur sumContainer qui calcule la somme des éléments de la collection.
Dans l'exemple de la figure 5, si l'enseignant souhaite que la somme des éléments soit égale à 850, la contrainte sera celle présentée sur la figure 8.

Figure 8 : expression d'une contrainte sur une collection

Retour au sommaire