Ce document présente le package Rexams
permettant de créer un qcm et de l’importer simplement dans Moodle (Caseine).
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 !
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.
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
On importe un fichier d’extension xml
. il peut contenir soit:
xml
.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{}
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
”
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.)
catégorie
de question,
comme des .
%
Le reste des paramètrages se réalise sur Moodle-Caseine
Notamment
Pour une première utilisation de R-Exams
install.packages("exams")
Lors des utilisations ultérieures l’installation n’est plus nécessaire, mais le package doit être chargé en mémoire à chaque session
library("exams")
R2M.R
)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:
.R
générateur du QCMINSERER SCHEMA ?
.Rmd
.Xml
dir = mydir
: output directoryname = "Test_QCM_JAX"
: nom du fichier et du testencoding = "UTF8"
: Encodage UTF8
converter = "pandoc-mathjax"
: Choix de l’encodage des équations (compatibles avec chrome).Rmd
ou .Rnw
par questionLe générateur de test d’extension .R
précédent utilise
Les fichiers questions se caractérisent par :
Format Rmd
plus 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
.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)
Où on définit un dossier de travail contenant tout : .R
, .Rmd
et .Xml
Où l’on crée un fichier Xml
pour Moodle et un fichier .html
par des fonctions similaires exams2moodle
et exams2html
## XML
exams2moodle(file =list("EX01_FR.Rmd") , dir = getwd(), name = "test_demo", encoding = "UTF8")
## HTML
exams2html(file =list("EX1_FR.Rmd", "EX02_FR.Rmd") , dir = mydir, name = "test_demo", encoding = "UTF8")
On précise les arguments
file=
: la liste des fichiers de questionsdir=
: 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é.Où on définit un dossier que l’on scanne pour lister tous les fichiers inputs des questions .Rmd
.
#
options(device.ask.default = FALSE)
## Working directory
setwd("C:\\Users\\ijoly.INRA\\Desktop\\ExamStat2019\\Exo_OK")
## Output directory
mydir <- ("C:\\Users\\ijoly.INRA\\Desktop\\ExamStat2019\\Exo_OK")
## Listing/content of mydir
myqcm <- dir(mydir);myqcm
## List of Rmd files in mydir
myexo <- list.files(path =mydir, pattern = ".Rmd")
Où on charge la liste de fichiers questions Rmd
n=
: indique le nombre de copies du test à produireRmd
Question
========
Answerlist
----------
* item
Solution
=========
Answerlist
----------
* item
Meta-information
================
exname: Titre
extype: schoice
exsolution: 00100
exshuffle: TRUE
Question
) et les propositions de réponses (quand il y en a) (Answerlist
)Question
========
On écrit ici sa question...
Answerlist
----------
* une première proposition de réponse
* une seconde proposition de réponse
* ...
Rque:
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
.
Solution
=========
On rédige ici une solution
Answerlist
----------
* On précise ici pour chaque proposition la solution ou le commentaire
* corrigé suivant...
* ...
Rque:
Metainformation
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érancecloze
: question à format varié. Peut inclure des réponses numériques et des réponses à choix multiplesexsolution
: bonnes réponses de la question.
schoice
et mchoice
num
01| num
TRUE
les propositions de réponses sont affichées mélangéesschoice
mchoice
num
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
Meta-information
================
extype: num
exsolution: `r fmt(valeur, 3)`
exname: constante c
extol: 0.02
cloze
Vérifier les listes étudiants Caseine avec base élèves : par email, nom, prénom
Faire un rappel de consignes:
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).
Aller faire une nouvelle tentative… Au passage, on peut modifier des réponses au besoin, sinon on va directement à la fin et on valide.
Reprendre son identité normale et bien penser à annuler les paramètres du point 1), notamment la date de rendu.