Ce document présente le package Rexams permettant de créer un qcm et de l’importer simplement dans Moodle (Caseine).

Tests Moodle-Caseine écrits avec RStudio

Introduction

Complémentarités Moodle et R

La combinaison de R et de Moodle permet de tirer profit de leurs complémentarités. En effet, ils ont adopté un même standard de fichier pour les qcm : xml.

Le package Rexams de R permet d’écrire les questions (avec réponse et corrigé) dans un format compatible avec Moodle: format xml.

Ainsi, on peut rédiger ses questions sous RStudio en local. Les stocker, les organiser, les modifier, en local.

Puis les exporter vers Moodle ; aussi simplement que vers pdf, word, html, ppt, etc. !

RStudio: vers une plateforme unique de génération de documents dynamiques !

Points forts de Moodle

Avec un peu d’expérience sur Moodle, on découvre rapidement les possibilités offertes et à structurer des qcm, les exercices, et les questions en fonction de ces possibilités.

  1. Les possibilités de structure des qcm de Moodle permettent
  • d’écrire plusieurs questions successives pour former un exercice
  • inutile alors de forcer une question à tout faire !

MAIS cela implique que + c’est une question fixe et identique pour tous (pas de tirage aléatoire de la question) + Les questions apparaissent dans des blocs séparés.

Il est recommandé d’explorer Caseine et de tester l’importation de fichiers avant d’écrire ses 1ères questions sous R


Configurer un test Moodle-Caseine

Importation du fichier xml depuis Moodle-Caseine

On importe un fichier d’extension xml. il peut contenir soit:

  • une seule question: on importe alors uniquement cette question.
  • une serie de questions: on importe une succession de questions, qui vont donc apparaître dans la banque de questions de Moodle comme une série d’exercices.
    Cette série de questions peut constituer un exercice (de plusieurs questions). Un ordre entre les questions doit être respecter. Les questions sont importees dans l’ordre du fichier xml.
  • un test complet: on importe toutes les questions d’un test d’un bloque et Moodle les importe dans l’ordre du fichier xml. On peut ensuite changer l’ordre, intégrer de l’aléa dans sur tout ou partie de l’ordre des questions, etc.

Caseine crée alors un groupe de question, un label, sous lequel sont regroupées la ou les question(s) importées.

On peut ensuite faire appel au groupe de questions entier ou à chaque question dans le groupe selon les besoins.

Remarques

Attention : on peut charger un test entier (plusieurs questions).

Elles apparaîssent dans un même groupe.

Caseine crée un label pour chaque tentative d’importation. On n’écrase pas les questions ou labels de même nom. Il conserve donc chaque version importée.

à chaque chargement du fichier .Xml on créé un nouveau groupe: les questions sont dupliquées, elles ne remplacent pas les précédentes.

Attention à l’usage de certains éléments bloquant l’import : ex. \mathcal{}

Sous Caseine

  • On ajoute une question dans la Banque de questions: espace commun aux cours de l’enseignant.

  • A partir de la Banque de Questions

  • Onglet Importer

  • sélectionner le format Xml

  • sélectionner le fichier d’extension.Xml

  • Cela créé un ‘groupe’ dans la banque (une sorte de tiroir)

  • Ce ‘groupe’ \(\neq\) catégorie

  • Les questions sont à ajouter : à partir du test : “ajouter depuis la Banque de Questions


Configuration du test

Moodle-Caseine permet de créer des sections dans un test. Une section regroupe plusieurs questions. Dans une même section les questions seront traitées de la même façon (tirage aléatoire, conditions d’affichage, etc.)

  • Structure par section
    • permet des questions successives pour constituer un exercice
    • permet de faire des tirages aléatoires de questions dans un groupe ou catégorie de question
  • Possibilité de préciser les changements de pages entre certaines sections
  • Possibilité de préciser les titres de sections

Quelques exemples d’usages

  1. Il peut être utile de créer dans un test, une 1ère section contenant des questions non évaluées de rappel des consignes (par ex:)
  • règles d’arrondis
  • niveau de tolérance
  • reconnaissance des décimales , comme des .
  • attention au %
  • questions à points négatifs
  • rappel de cloture du test
  • éventuellement remise de copies si une partie des réponses est sur feuille

Le reste des paramètrages se réalise sur Moodle-Caseine

Notamment

  • la visibilité du questionnaire, le type de retour fait à l’étudiant (score, réponse, commentaires, etc)

R Exams package

Pour une première utilisation de R-Exams

Lors des utilisations ultérieures l’installation n’est plus nécessaire, mais le package doit être chargé en mémoire à chaque session

  • Chargement en session : library("exams")

Organisation du projet

  • Un projet de test est composé de
    1. Un fichier générateur du test (R2M.R)
    2. Un fichier par question du test (Q1.Rmd, Q2.Rmd)

Prendre l’habitude d’encoder dans un même format par ex UTF8

Gérer et organiser son espace de stockage des fichiers:

  • par ex: un dossier avec toutes les questions du test
    on les chargera toutes d’un bloc dans le test
  • un dossier par groupe de questions sur un même sujet
    on piochera dans les dossiers la ou les questions choisies pour le test

1. Dn fichier .R générateur du QCM

INSERER SCHEMA ?

  • Il prend en entrèes les fichiers questions .Rmd
  • Il créé en sortie un fichier .Xml
  • Quelques options sont possibles au niveau questionnaire (d’autres dans les fichiers questions)
    • dir = mydir: output directory
    • name = "Test_QCM_JAX": nom du fichier et du test
    • encoding = "UTF8" : Encodage UTF8
    • converter = "pandoc-mathjax": Choix de l’encodage des équations (compatibles avec chrome)
  • Stratégie de localisation des fichiers:
    • Il peut être placé directement dans le dossier qui contient les questions. Option la plus simple pour un chargement en bloc des questions.
    • Il peut être placé ailleurs et préciser la localisation des questions

2. Des fichiers .Rmdou .Rnw par question

Le générateur de test d’extension .R précédent utilise

  • un fichier pour une question (avec solution & corrigé)
  • autant de fichiers que de questions dans le QCM

Les fichiers questions se caractérisent par :

  • Format Rmdplus simple.

  • Format Rnw plus proche de LaTeX, donc plus de paramètres.

  • une structure de fichier à respecter

  • une structure stable pour tout type de questions

  • plusieurs niveaux d’usage possibles des fonctionnalités R

    1. Ecrire ses propres questions
    2. Programmer ses propres questions
    3. Programmer la personnalisation des questions

Préparation du fichier générateur du QCM .R

Les lignes suivantes peuvent être reprises et adaptées.

Elles constituent l’équivalent d’un document maitre (le fichier de test réunissant les questions) qui fait référence, utilise et assemble des sous-documents (un sous-document pour chaque question du test)

Préparation du fichier générateur du QCM

Où l’on crée un fichier Xml pour Moodle et un fichier .html par des fonctions similaires exams2moodle et exams2html

On précise les arguments

  • file=: la liste des fichiers de questions
  • dir= : le dossier contenant les questions et le résultat Xml
  • name=: le nom du fichier .Xml
  • encoding= : l eformat d’encodage des caratères. Le standard UTF8 est recommandé.

Préparation du fichier générateur du QCM

Où on charge la liste de fichiers questions Rmd

  • n= : indique le nombre de copies du test à produire

Préparation du fichier question Rmd


La question

  • La question est faite de 2 balises identifiant la question (Question) et les propositions de réponses (quand il y en a) (Answerlist)
  • l’ordre des propositions pourra être aléatoire lors de l’affichage aux apprenants
  • l’ordre des propositions est à respecter pour la rédaction des réponses, commentaires, etc.

Rque:

  • Je n’ai pas encore trouvé comment gérer une numérotation ou une autre (a., b., c. ou 1), 2), 3))
  • Pour une question à réponse numérique, la liste de proposition est inutile et donc omise

La Solution

La solution ou le corrigé sont précisés après la balise Solution. En présence de liste de propositions, il convient de conserver l’ordre des propositions dans Answerlist.


Rque:

  • Les bonnes réponses sont précisées dans la balise Metainformation
  • Le passage à Caséine nécessite un peu de pratique ici.
    Selon les options que l’on choisit pour le corrigé retourné à l’apprenant, les propositions sont affichées, puis les bonnes réponses, puis les commentaires ou corrigé.
    Il ne paraît pas nécessaire de recopier le libellé de la proposition dans la solution.

Les Metainformations

Le type de questions et les paramètres de la question sont renseignés dans la balise Metainformation

  • exname: Le titre de la question (il n’apparaît pas ailleurs)

  • extype: pour le type de question:
    • schoice: question à choix unique (ex: type vrai/faux)
    • mchoice: question à choix multiple (ex: plusieurs cases à cocher, dont les fausses sont à points négatifs)
    • num: question à réponse numérique. Une valeur est attendue \(\pm\) tolérance
    • cloze: question à format varié. Peut inclure des réponses numériques et des réponses à choix multiples
  • exsolution: bonnes réponses de la question.
    • son format varie selon le type de question
    • suite de 01 pour les schoice et mchoice
    • valeur numérique pour num
    • combinaison de 01| num
  • exshuffle: TRUE les propositions de réponses sont affichées mélangées

Question de choix simple: schoice

schoice

schoice


Question de choix multiple: mchoice

mchoice

mchoice


Question numérique: num

num

num


La question num

On pose la question

On donne le corrigé


On calibre la question avec la valeur attendue exsolution et la tolérance extol

fmt(valeur,3) met en format la valeur, avec 3 décimales


Question mixant plusieurs types: cloze

cloze

cloze


Questions & problèmes irrésolus

  1. Moodle
  • Imprimer toutes les questions (avec leur corriger, commentaires, etc) en pdf
  • Supprimer une proposition de réponse dans une QCM ? La case à cocher reste
  1. R-Exams
  • Indiquer le barême de la question
  • Configurer les pages de questions, leurs titres, etc.
  • Faire apparaître les identifiants des exercices ou leur titres pour les identifier simplement

Remarques Génériques

  • Vérifier les listes étudiants Caseine avec base élèves : par email, nom, prénom

  • Faire un rappel de consignes:

    • bien valider la fin du test
    • règles d’arrondis
    • tolérance de valeur
    • points négatifs
    • %
  • attention à la lisibilité des équations (math_lm) sous chrome vs firefox: voir option sous R

  • L’export csv des résultats semble avoir un soucis d’encodage ?


Comment on pouvait soumettre à la place d’un étudiant

Voici la procédure (il y a peut-être plus simple).

  1. En tant que prof, aller modifier les paramètres du test :
  • réouvrir le test (Temps > Fermer le test)
  • autoriser une tentative supplémentaire (Note > Nb de tentatives)
  • indiquer que la tentative complète la précédente (Comportement des questions > Chaque tentative complète la précédente)
  1. Se connecter sous le nom de l’élève :
  • cliquer sur son nom dans la liste des participants ou des tentatives
  • Administration > Se connecter sous ce nom
  1. Aller faire une nouvelle tentative… Au passage, on peut modifier des réponses au besoin, sinon on va directement à la fin et on valide.

  2. Reprendre son identité normale et bien penser à annuler les paramètres du point 1), notamment la date de rendu.