IMS-QTI Hélène Giroire

Slides:



Advertisements
Présentations similaires
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
Advertisements

DTD Sylvain Salvati
Thème 3 : plate-forme de modélisation et de gestion de référentiels XML étapes modélisation des structures (UML) gestion du référentiel de modélisation.
Algorithmique.
Algorithmique et évaluation
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
L’architecture .net et ASP.net
Cours 5 : Les Web Services et WSDL Mars Version 1.0 -
Exercices Algorithmiques
le langage les éléments
Fabrication Assistée par Ordinateur
TP 3-4 BD21.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Titre conférence lundi 27 mars 2017
JOME, un Composant Logiciel pour le Télé-Enseignement des Mathématiques via le WEB, Compatible OpenMath et MathML Laurent DIRAT OVE / I3S-UNSA.
Point sur les « normes » AICC/SCORM
Initiation à la programmation et algorithmique cours 3
Introduction aux Web Services Partie 1. Technologies HTML-XML
Université Mouloud Mammeri de Tizi-Ouzou
Concepteur multimédia Consultant en éditique
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
XML-Family Web Services Description Language W.S.D.L.
le profil UML en temps réel MARTE
Tice (logiciels) et aide personnalisée.
Algorithmique et Programmation
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Initiation aux bases de données et à la programmation événementielle
Administration de bases de données spatiales avec SavGIS
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
Des outils pour le développement logiciel
XML: Syntaxe XML, DTD et Schémas
Notions sur le XML Réfs : manuel p 149. Introduction Le XML (eXtensible Markup Language) est un standard d'échange de données. Il fait partie comme le.
Standards pour les ressources documentaires description – organisation – diffusion – production Séminaire Normes et standards pour les TICE Saint-Clément-les-Places.
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 7 : Classes et fonctions paramétrables Département.
Master EIAH E-learning De la production à la mutualisation Brigitte de La Passardière Université Pierre et Marie Curie LIP6.
Ecaterina Giacomini Pacurar
Web dynamique PhP + MySQL AYARI Mejdi 2006
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
Module 2 : Préparation de l'analyse des performances du serveur
Le portail web netUniversité
Standard Template Library
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
JEFYCO Module Marché 17 Décembre Quoi de neuf? Les marchés ne sont plus liés à lexercice JEFYCO en cours Ils intègrent plus finement le nouveau.
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI Jean-Jacques DUMÉRY -1-
Patrons de conceptions de créations
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Animateur : Med HAIJOUBI
JavaScript.
Supports de formation au SQ Unifié
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Créer des packages.
 Syntaxe du langage PHP
Tutorat en bio-informatique
SMIL Synchronized Multimedia Integration Language
 Formulaires HTML : traiter les entrées utilisateur
La notion de « package » pour un cours en ligne Illustration avec la spécification Content Packaging (IMS-CP) Université Bordeaux 3 Cours MASTER 2 MULTIMEDIA.
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Initiation au JavaScript
Modélisation des documents: DTD et Schéma
Utiliser une plate-forme d’apprentissage en ligne
GÉNÉRATEUR DE DOCUMENTS 3D INTERACTIFS PDF U3D Projet de Bachelor | RICHARD Mathieu | 2009.
eXtensible Markup Language. Généralités sur le XML.
Introduction à MathML Par Katia Larrivée UQO Le 18 mars 2004.
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
LES TABLEAUX Définition: Création d’un tableau:
IMS-QTI Odette AUZENDE Travail collectif : O. Auzende, H. Giroire, F. Le Calvez Master-DUOctobre 2012.
Projet ALLEGRO IFLEG Développement d’outils sophistiqués pour l’apprentissage interactif des langues étrangères Treveur Bretaudière Encadrement: Guy Achard.
Visual Information Solutions IDL 7.0 Pour une utilisation optimale d’IDL.
Transcription de la présentation:

IMS-QTI Hélène Giroire Master-DU décembre 2011 1 1

Université Pierre et Marie Curie, Paris, France 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 Patrons d’exercices 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

Patron d’exercices: exemple 1 Enoncé: a/b de c est égal à: -a*c/b a*c/(b*c) 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 instances a*c est un multiple de b pour que le résultat soit un entier 5/12 de -12 est égal à : 5 -60/144 -5 6/20 de -20 est égal à : -6 6 -120/400

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 * √… + … a, b, c sont > 1 ainsi les 3 trous sont différents de 0. a et c ne sont pas des carré pour conserver les racines carrées dans les réponses. Une contrainte d’interdépendance entre a et c ainsi le troisième trou est un entier

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

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)

Format de représentation d’exercices 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

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

Spécification IMS-QTI 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

Format de représentation d’exercices 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

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 variables x 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

Mais - Patron d’exercices: exemple 1 Enoncé: a/b de c est égal à: -a*c/b a*c/(b*c) 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 instances a*c est un multiple de b pour que le résultat soit un entier 5/12 de -12 est égal à : 5 -60/144 -5 6/20 de -20 est égal à : -6 6 -120/400 22 22

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 * √… + … a, b, c sont > 1 ainsi les 3 trous sont différents de 0. a et c ne sont pas des carré pour conserver les racines carrées dans les réponses. Une contrainte d’interdépendance entre a et c ainsi le troisième trou est un entier 23 23

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 premier avec b <templateConstraint> <equal> <gcd> <variable identifier="a" /> <variable identifier="b" /> </gcd> <baseValue baseType="integer">1</baseValue> </equal> </templateConstraint>

QTI étendu - a multiple de b <templateConstraint> <equal> <integerModulus> <variable identifier="a" /> <variable identifier="b" /> </integerModulus> <baseValue baseType="integer">0</baseValue> </equal> </templateConstraint>

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 ou c multiple de b ou e premier avec f <templateConstraint> <or> <not> <equal><variable identifier="a" /><variable identifier="c"/> </equal> </not> <equal> <integerModulus><variable identifier="c" /> <variable identifier="b“ /> </integerModulus> <baseValue baseType="integer">0</baseValue> <gcd><variable identifier="e" /><variable identifier="f"/></gcd> <baseValue baseType="integer">1</baseValue> </or> </templateConstraint>

Limites de IMS-QTI 2.1-2006 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

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>

Propositions d’extensions à QTI 2.1 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)

Editer les exercices

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

Edition et jeu d’exercices (2) Saisie d’un exercice à trous à 4 paramètres a, b, c, d

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 QTI area MathML area Ceci est l’interface de l’éditeur de contraintes qui eprmet de déclarer effectivement les paramètres, les contraintes en tre paramètres , des listes et des contraintes sur les listes. Les déclarations apparaissent en MathML area et en QTI V2.1 étendu 40 40

Version MathML Version QTI étendu 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

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 En fait en décembre 2011 CE génère bien JSP et PHP car ces resté en place mais en fait ce n’est pas utilisé car maintenant c’est pages qui interprète le QTI étendu et crée lui-même les JSP et PHP Le programme java permet à l’éditeur génère dynamiquement les valeurs des paramètres vérifiant les contraintes , si ça donne des valeurs , quand on sert de CE ,l’éditeur compile le programme java et l’exécute et vérifie si ça s’arrête, ie si un jeu de valeurs est trouvé. Sinon il avertit et on peut dans l’éditeur modifier les contraintes. Le fichier MathML permet de “relire” les contraintes , permet de visualiser, via un navigateur, les déclarations et les contraintes, Le fichier QTI correspond à ces déclarations et contraintes au format QTI v2 « étendu » Le fichier java est une application permettant de générer des valeurs des variables respectant les contraintes QTI-CE (QTI-Constraint Editor) est inclus dans QTI-Editor Il permet de déclarer les paramètres du patron d'exercice et les contraintes entre ces paramètres Déclarations et contraintes apparaissent dans l'interface en MathML et en QTI V2.1 étendu.

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…

Les points saillants de QTI-EFITOR Champs de texte avec des trous : Remarquer la présence de trous dans la partie gauche des équations : chose rare dans les exercices numériques que l’on peut trouver sur le web.

Les points saillants de QTI-Editor Exercices avec des expressions calculées ou non calculées: Une instance de ce patron: Patron d’exercice: Contraintes: a et b entiers a et b entre 20 et 50 a 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é) Nous pouvons définir un exercice avec des expression calculées ou non calculées comme nous le voyons dans l’exercices QCM ci-contre 3 éléments seront affichés calculés, le quatrième correspond à une forme où seuls les paramètres seront remplacés par leur valeurs Ceci sera indiqué dans itemBody, partie de la description en QTI, correspondant à l’affichage de l’énoncé.

Points saillants Feedbacks différenciés : Le feedback peut être différencié quand le lecteur a plusieurs réponses à donner.

Deux instances du même patron Ici nous voyons 2 instances du même patron. Les valeurs des paramètres sont changées dynamiquement. 48 48

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

Comment les élèves peuvent-ils utiliser les patrons ? 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 future QTI 2.1 viewer future extended Viewer Extended QTI 2.1 file java files learners 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 Pour permettre aux étudiants de s’entrainer nous avons un générateur de pages Web Nous partons d’un fichier en QTI 2.1 d’un patron d’exercice (un assessmentItem) et un mécanisme (PHP program) qui permet l’intanciation des paramètres qui satisfont les contraintes . A partir de la, il est possible de construire 2 pages web : une qui affiche la question, l’autre assurent le feedback à l’apprenant A chaque exécution de ces pages, les paramètres sont instanciés en satisfiant les contraintes

Un cloneEngine 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)

Comment les élèves peuvent-ils utiliser les patrons ? 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 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 Pour permettre aux étudiants de s’entrainer nous avons un générateur de pages Web Nous partons d’un fichier en QTI 2.1 d’un patron d’exercice (un assessmentItem) et un mécanisme (PHP program) qui permet l’intanciation des paramètres qui satisfont les contraintes . A partir de la, il est possible de construire 2 pages web : une qui affiche la question, l’autre assure le feedback à l’apprenant A chaque exécution de ces pages, les paramètres sont instanciés en satisfiant les contraintes

Un générateur de pages Web dynamiques (WPG) 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

Plusieurs jeux du même patron

Un feedback

Classification des exercices

Classification d’exercices (1) 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 niveaux

Classification d’exercices (2) Extrait de la Math NSDL1

Classification d’exercices (3) Extrait de la classification C2i

Classification d’exercices (4) Extrait du curriculum d’apprentissage de l’informatique

Outils de classification d’exercices 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

Outil de classification d’exercices (6)

Outil de classification d’exercices (7)

Outil de classification d’exercices (8) 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

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

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 71

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 72

Exemple d’un test dynamique (section1) 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 score1=max squareroot2 score2=0 squareroot3 score3<>max squareroot4 score4=max squareroot5 score5=0 squareroot6 Score6=0 EXIT TEST 73 EXIT SECTION

Exemple d’un test dynamique (section1) 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 score1=max squareroot2 score2=0 squareroot3 score3<>max squareroot4 score4=max squareroot5 score5=0 squareroot6 Score6=0 EXIT TEST 74 EXIT SECTION

Exemple d’un test dynamique(section1) 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 score1=max squareroot2 score2=0 squareroot3 score3<>max squareroot4 score4=max squareroot5 score5=0 squareroot6 Score6=0 EXIT TEST 75 EXIT SECTION

Exemple d’un test dynamique(section1) 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 score1=max squareroot2 score2=0 squareroot3 score3<>max squareroot4 score4=max squareroot5 score5=0 squareroot6 Score6=0 EXIT TEST 76 EXIT SECTION

Exemple d’un test dynamique(section1) 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 score1=max squareroot2 score2=0 squareroot3 score3<>max squareroot4 score4=max squareroot5 score5=0 squareroot6 Score6=0 EXIT TEST 77 EXIT SECTION

Exemple d’un test dynamique(section1) 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 score1=max squareroot2 score2=0 squareroot3 score3<>max squareroot4 score4=max squareroot5 score5=0 squareroot6 Score6=0 EXIT TEST 78 EXIT SECTION

Exemple d’un test dynamique(section1) 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 score1=max squareroot2 score2=0 squareroot3 score3<>max squareroot4 score4=max squareroot5 score5=0 squareroot6 Score6=0 EXIT TEST 79 EXIT SECTION

Exemple d’un test dynamique(2) Partie correspondant pour la section 1 : ICCE 2009 - LIP6 - UPMC - Paris - France 80

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 81

ICCE 2009 - LIP6 - UPMC - Paris - France QTI_Test_Editor (2) 2 parts ICCE 2009 - LIP6 - UPMC - Paris - France 82

ICCE 2009 - LIP6 - UPMC - Paris - France QTI_Test_Editor (2) 2 parts Insérer parts, sections, sub-sections et items ICCE 2009 - LIP6 - UPMC - Paris - France 83

QTI_Test_Editor (2) 2 parts To insert parts, sections, sub-sections and items Path in the data base 84

ICCE 2009 - LIP6 - UPMC - Paris - France 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: ICCE 2009 - LIP6 - UPMC - Paris - France 85

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 86

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

Conclusion (3) 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

Perspectives 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 ?

Merci de votre attention Publications 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

FIN ! Pour plus d’information, vous pouvez contacter Odette.Auzende@lip6.fr Helene.Giroire@lip6.fr Francoise.Le-Calvez@lip6.fr Site sur ce projet http://qti-work.lip6.fr