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 avec learnr. On peut définir au début dans un chunk setup, un environnement général qui sera commun à tous les champs R. 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.

Related