Atelier découverte LearnR
Vue d’ensemble
Le package learnr
permet de créer des tutoriels (voir le site dédié ou le blog de présentation). Les tutoriels incluent du texte, des champs pour taper et exécuter des commandes R
(pouvant être pré-formatés) et des questionnaires à choix multiples.
Les champs peuvent inclure des indices à afficher pour l’utilisateur ou des solutions.
Pour fonctionner, le document créé au format Rmarkdown doit être envoyé sur un serveur shiny. Il est alors
nécessaire de créér un compte sur shinyapp.
Avec uniquement le package learnr
, il est uniquement possible de vérifier que les réponses données aux questions à choix multiples sont les bonnes. Par contre, il n’est pas possible de vérifier les commandes R
tapées ni leur résultat.
Un package checkr disponible sur github doit permettre de faire ces vérifications.
Limitations
Des essais menés, il a été conclu que learnr
est un package intéressant mais qui ne permettra pas forcément de faire un TP complet de statistique sous R.
Toutefois, il peut être employé pour :
présenter certaines fonctions centrales en R en détaillant les différentes options et fournir des exemples à des étudiants en TP,
faire une vignette d’un package développé sous R,
proposer des auto-évaluations pour les étudiants.
Nous nous sommes heurtés à certaines limites :
il n’est pas possible de récupérer les commandes tapées dans les champs
R
par l’utilisateur ni les résultats correspondants. Ainsi un étudiant n’aura aucune trace de son travail si cet outil est employé pour le faire travailler en TP.il n’est pas possible de récupérer les commandes tapées dans les champs
R
ni les réponses aux questions à choix multiples afin de les centraliser et de s’en servir à des fins d’évaluations.les “chunks” (environnement permettant de créer des champs
R
) sont indépendants les uns des autres donc il est difficile de construire une progressivité dans un travail aveclearnr
. On peut définir au début dans un chunksetup
, un environnement général qui sera commun à tous les champsR
. On peut également pour chaque chunk ajouter un chunk du même nom auquel on ajoute-setup
pour définir un environnement propre au champ correspondant.le document
learnr
étant hébergé sur un serveur, l’importation des données ne peut pas être présentée de manière classique en local. Les données doivent être chargées à partir d’une adresse web.
Quelques astuces utiles :
1- exercise.timelimit = 10
permet de limiter le temps de réponses, exercise.lines = 5
pour définir le nombre de lignes de console permettant de répondre.
2- il n’est pas possible de mettre à la fois solution
et hint
(en créant un nouveau chunk portant le même nom suivi de -hint
ou -solution
selon le cas ). Si on le fait, la solution devient le next hint
. On peut aussi mettre plusieurs hint
en ajoutant -1
, -2
pour les ordonner.