2.1 LearnIt::R GitHub

La plateforme LearnIt::R GitHub est constituée essentiellement de solutions accessibles gratuitement et utilise les fonctionnalités de GitHub (et de GitHub Classroom) pour l’échange et la centralisation de l’information. Bien que ce ne soit pas une obligation, elle est conçue pour être utilisée avec R et de RStudio décrits plus haut. Les packages R {quarto}, {learnr}, {shiny} et {learnitdown} forment la base de ses fonctionnalités. Pas de panique si tous ces termes vous sont inconnus : nous allons les expliquer l’un après l’autre. Leur utilisation sera ensuite détaillée chapitre après chapitre dans la section consacrée à LearnIt::R GitHub pour que vous puissiez implémenter la plateforme de manière graduelle en maîtrisant un outil après l’autre.

  • Git est un système de gestion de version largement utilisé en programmation. Combiné à R, RStudio et R Markdown, il permet de travailler de manière reproductible. L’utilisation de git peut être assez complexe, mais en se restreignant à des actions simples et aux outils git disponibles dans RStudio, il est possible de l’utiliser dans vos cours, même avec des étudiants peu versés en informatique au départ. La maîtrise, même minimale, de git est un plus pour les étudiants qui apprennent et utiliseront plus tard le langage R. L’objectif est d’amener vos étudiants à prendre de bonnes habitudes en matière de traçabilité et reproductibilité de leurs analyses. GitHub est un hébergement et lieu d’échange de dépôts git sur le cloud. Une bonne partie des ses fonctionnalités sont accessibles gratuitement. Il est puissant, universellement utilisé et il est couplé à RStudio. L’interface git et GitHub de RStudio rend l’utilisation de ces deux logiciels plus simple. GitHub Desktop pourra éventuellement compléter l’ensemble pour effectuer des tâches non reprises dans l’interface git de RStudio s’il n’est pas prévu de recourir à la ligne de commande (qui est tout de même la manière la plus efficace d’utiliser git). Enfin, GitHub Classroom est une extension permettant de gérer les dépôts créés pour vos étudiants dans le cadre de vos cours. Ces différentes briques logicielles sont présentées au chapitre 4.

  • Bookdown est un type de sortie R Markdown multi-documents qui permet d’intégrer directement des calculs et des graphiques de R. Vous pouvez l’utiliser comme moyen de centraliser facilement tout votre matériel pédagogique et l’organiser en modules. Ces modules formeront autant de chapitres différents du bookdown. LearnIt::R propose, par l’intermédiaire du package {learnitdown}, des fonctionnalités supplémentaires pour y intégrer vos exercices ou du contenu contextuel (voir 5). et notamment des widgets H5P (voir 6) et des applications Shiny (voir 7). Le chapitre 5 est entièrement consacré à bookdown.

  • H5P propose une large variété de contenus javascript intégrables dans une page web et donc dans vos contenus bookdown pour varier et rendre plus efficace l’apprentissage. Sans l’installation d’un serveur dédié, vous pouvez créer du contenu sur H5P.org ou utiliser un service payant plus complet sur H5P.com. Si votre institution utilise Moodle, H5P fournit un plugin qui permet d’intégrer ce type d’exercice dans Moodle, mais alors, vous ne pourrez pas les placer directement dans votre bookdown (vous utiliserez un lien qui ouvrira la ressource correspondante dans Moodle). Voyez le chapitre 6 pour plus de détails.

  • Shiny permet de créer des applications interactives dans un browser web avec R. Les possibilités sont pratiquement sans limites pour démontrer les concepts “en live” à vos étudiants. Les applications Shiny sont intégrables dans bookdown, mais elles doivent être exécutées sur un serveur dédié (version LearnIt::R LRS). Avec LearnIt::R GitHub, nous intègrons des descriptions de ces applications dans le bookdown et les étudiants doivent ensuite lancer les apps dans leur session R par eux mêmes. Le chapitre 7 est consacré à ces applications Shiny et la manière de les mettre en œuvre dans vos cours.

  • les tutoriels learnrs forment un type particulier d’applications Shiny. Ces documents interactifs présentent des exercices dans R et des questions à choix multiples aux étudiants. Ils sont idéaux pour initier à la programmation en R. À ce titre, ils représentent un élément central de l’apprentissage dans LearnIt::R. La correction automatique des exercices learnr est possible grâce au package {gradethis}. Le chapitre 8 détaille l’utilisation des tutoriels learnr.

  • Enfin, le package {learnitgrid} a été écrit spécialement pour faciliter la correction des rapports de vos étudiants dans les projets GitHub Classroom. Le chapitre 9 est entièrement consacré à l’utilisation de GitHub Classroom et de {learnitgrid} pour gérer les projets des étudiants.