Retour à l'accueil Sciences et Technologies
de l´Information et
de la Communication pour
l´Éducation et la Formation
version pleine page
version à télécharger (pdf)

Volume 28, 2021
Article de recherche

Numéro Spécial
Technologies pour l’apprentissage de l’Informatique de la maternelle à l’université



Contact : infos@sticef.org

Git4School : un tableau de bord pour assister la prise de décisions de l'enseignant lors des cours de génie logiciel

 

Jean-Baptiste RACLET (IRIT, Université Toulouse 3), Franck SILVESTRE (IRIT, Université Toulouse 1), Mika PONS (IRIT, Université Toulouse 3)

RÉSUMÉ : Cet article présente Git4School, un tableau de bord pour les enseignants offrant des visualisations s'appuyant sur des données extraites des dépôts Git des apprenants, combinées à des informations contextuelles temporelles. Sur la base de plusieurs expérimentations, nous montrons un bon sentiment général des apprenants sur l’utilisation de Git dans un contexte éducatif. De plus, nous montrons comment Git4School peut être utile pour identifier les faiblesses des conceptions des situations d'apprentissage et cibler leur amélioration.

MOTS CLÉS : enseignement du génie logiciel, conception de situation d'apprentissage, intervention pédagogique, prise de décision, tableau de bord, Git.

Git4School: A Dashboard for Supporting Teacher Decision Making in Software Engineering Courses.

ABSTRACT : This article presents Git4School, a dashboard for teachers providing visualizations based on data extracted from learners' Git repositories, combined with temporal contextual information. Based on several experiments, we show a good general feeling of learners about using Git in an educational context. We show how Git4School can be useful for identifying weaknesses in learning designs and for targeting their needs for improvement.

KEYWORDS : software engineering education, learning design, pedagogical intervention, decision-making, dashboard, Git.

1. Introduction

Une conception de situation d'apprentissage1 décrit une séquence d'apprentissage à l'échelle d'une partie ou d'une unité d'enseignement entière. Elle identifie les principaux acteurs impliqués (enseignants et apprenants), les tâches d'enseignement et d'apprentissage à accomplir ainsi que les ressources pédagogiques utilisées pour soutenir les activités de la séquence (Lockyer et al., 2013). Ce concept est apparu au début des années 2000 dans le but de favoriser la mutualisation de scénarios pédagogiques exploitant les technologies numériques (Emin et al., 2011).

Si les conceptions de situation d'apprentissage permettent de décrire une intention pédagogique, elles n'identifient cependant pas comment les apprenants participent réellement à cette conception, que ce soit pendant son développement ou a posteriori. Pour obtenir de telles informations, il est nécessaire de s'appuyer sur la collecte et l’analyse de traces d’utilisation (Choquet et al., 2007), ce que l’on désigne plus récemment sous l’appellation learning analytics. Les learning analytics constituent un concept clé pour obtenir une perspective globale de l'impact des activités d'apprentissage (Wise, 2014). En effet, les learning analytics s'appuient sur le recueil d'ensembles de données correspondant aux traces du travail des apprenants afin de mesurer leur engagement et, éventuellement, d'extraire des preuves d'apprentissage. Dans le contexte de conception de situation d'apprentissage, la visualisation des données d'apprentissage peut soutenir la prise de décision de l'enseignant au cours d'une séquence : synthétisée sous la forme d'un tableau de bord (Schwendimann et al., 2017), elle permet aux enseignants d'obtenir des informations en temps réel sur l'avancement des élèves dans leurs activités et permet ainsi d'adapter l'intervention pour rendre leur situation d'apprentissage plus efficace.

Cet article s'inscrit dans cette vision et l'aborde dans le contexte particulier de l'enseignement du génie logiciel. L'enseignement dans cette discipline de l'informatique combine des aspects théoriques abstraits avec des considérations très pratiques souvent outillées. En particulier, les travaux pratiques impliquent généralement l'utilisation d'un environnement de développement intégré avec un éditeur de code source, un compilateur et un débogueur. En plus de ces outils, des outils de gestion de versions de code source comme Git (https://git-scm.com/) qui sont largement utilisés dans l’industrie du logiciel (Bourque et Fairley, 2014), sont parfois utilisés pour collecter les travaux des étudiants. Dans cet article, nous explorons une manière originale de construire des visualisations s'appuyant sur des données extraites de dépôts Git combinées à des informations contextuelles temporelles complémentaires (par exemple, le travail a été effectué à l'intérieur ou à l'extérieur de la classe, avant ou après une intervention ou une activité particulière). Cela nous a amené aux deux questions de recherche suivantes :

- (RQ1) Les étudiants sont-ils capables, quel que soit leur niveau d'études, d'utiliser des outils de gestion de versions comme Git à des fins éducatives ?

- (RQ2) Dans quelle mesure un tableau de bord construit à partir de données extraites de Git combinées à des données contextuelles temporelles complémentaires peut-il aider l'enseignant à prendre des décisions pendant un cours ?

Pour répondre à (RQ1), nous avons mené une étude quantitative en contexte écologique sur les activités des étudiants relatives à l'utilisation de Git dans 5 cours répartis dans 4 niveaux d'études différents. Nous avons abordé (RQ2) d'abord en concevant le tableau de bord appelé Git4School et ensuite par une étude qualitative sur l'utilisation de Git4school en contexte écologique.

La section 2 présente un état de l'art des travaux relatifs aux tableaux de bord, à la prise de décision dans le contexte de la conception de situation d'apprentissage ainsi qu’à l'exploitation de données d'apprentissage extraites des outils de gestion de versions. La section 3 présente l'étude quantitative relative à l'utilisation de Git par les étudiants. La section 4 est consacrée à la description du tableau de bord Git4School tandis que la section 5 présente deux études de cas sur l'utilisation de Git4School dans les cours en face à face. L'article se termine par une synthèse des réponses apportées à (RQ1) et (RQ2) et propose des pistes d'amélioration.

2. Travaux connexes

Faisant partie de la grande famille des outils d'analyse de données, les outils et solutions issus des learning analytics sont efficaces lorsqu'ils aident les personnes à prendre des décisions et à agir (Van Harmelen et Workman, 2012). Pour tenir cette promesse d'efficacité, nous suivons l'approche préconisée par Gašević et al. (Gašević et al., 2015) qui défendent que les learning analytics devraient être fortement ancrées dans les cadres pédagogiques issus de la recherche en éducation.

Comme défini par Lockyer et al. (Lockyer et al., 2013) une conception de situation d’apprentissage décrit la séquence des tâches, des ressources et des supports d'apprentissage qu'un enseignant construit pour les cours des étudiants. Dans leurs travaux, les auteurs indiquent, de plus, que les objectifs d'apprentissage et le plan pédagogique peuvent être évalués au moyen de learning analytics. Celles-ci fournissent les informations manquantes sur la manière dont les étudiants participent au plan initial et peuvent ensuite aider les enseignants et les formations à évaluer l'impact des activités d'apprentissage.

Plus axée sur la prise de décision des enseignants pendant les séquences de cours, la communauté de recherche sur l'apprentissage collaboratif supporté par l'informatique a développé des idées similaires autour du concept de technologie d'orchestration (Tissenbaum et Slotta, 2019), (Tchounikine, 2013, p 501) : « des technologies qui fournissent aux enseignants des moyens de surveillance ou d'intervention ». Les technologies d'orchestration prennent souvent la forme de tableaux de bord aidant les enseignants à obtenir un retour d'information pour savoir quand et où intervenir (Tissenbaum et Slotta, 2019).

Enfin, Wise (Wise, 2014) a proposé le concept de conception d'intervention pédagogique fondée sur les learning analytics2 en tant qu’« efforts systématiques pour intégrer l'utilisation des learning analytics comme partie productive des pratiques d'enseignement et d'apprentissage dans un contexte éducatif donné ». Notre proposition s'inscrit directement dans la lignée des travaux de Wise puisque nous utilisons les learning analytics et plus précisément les visualisations afin d'aider les enseignants à réaliser des interventions pendant leurs cours en face à face. Le tableau de bord que nous avons conçu et que nous décrivons plus loin s'inspire principalement des recherches menées par Bakharia et al. (Bakharia et al., 2016, p. 330) qui visent à « créer des représentations plus significatives des données pour les enseignants ». Dans notre cas, nous avons combiné deux dimensions du cadre défini par Bakharia et al. : la dimension temporelle et la dimension dynamique de cohorte, les données provenant d'une part de l'outil de gestion de version du code source et, d'autre part, des données fournies par l'enseignant.

Il existe dans la littérature plusieurs travaux concernant l'extraction de métriques à partir des journaux d'un outil de gestion de version du code. Contrairement à notre approche qui analyse les messages de commits porteurs d'informations sémantiques (étape de conception de l'apprentissage au moment de la réalisation d'un exercice identifié), ces travaux s'intéressent plutôt aux informations sur la volumétrie des commits, leur fréquence, leur temporalité par rapport à une échéance.

La plupart des travaux existants considèrent les outils de gestion de version centralisés appelés CVS (Liu et al., 2004), (Mierle et al., 2005) ou bien alors SVN (Glassy, 2006), (Jones, 2010), (Kay et al., 2006), (Poncin et al., 2011). À notre connaissance, la seule approche qui s'appuie sur Git est (Robles et Gonzalez-Barahona, 2013). Les objectifs de ces travaux sont variés : le suivi des étudiants (Glassy, 2006), l'analyse de la collaboration entre les différents membres d'un groupe de travail (Jones, 2010), (Kay et al., 2006), (Mittal et Sureka, 2014), (Robles et Gonzalez-Barahona, 2013) avec éventuellement la corrélation avec les résultats obtenus (Liu et al., 2004) ou une prédiction des performances (Mierle et al., 2005). Aucun de ces travaux ne tente de combiner les données extraites des dépôts de code avec d'autres données contextuelles pour la prise de décision dans les interventions pédagogiques comme nous le présentons dans cet article.

3. Évaluation quantitative

L'objectif principal de l'étude quantitative qui est présentée dans cette section est de fournir des éléments de réponse à la question de recherche (RQ1).

3.1. Contexte des différentes expérimentations

Durant l’année universitaire 2019-2020, les concepteurs de Git4School ont demandé à leurs étudiants d'utiliser Git ainsi que le service d'hébergement GitHub (https://github.com ), dans le cadre de 5 enseignements différents concernant le développement logiciel. Plus précisément, les étudiants devaient soumettre leurs travaux en effectuant des opérations de commit au sein d'un dépôt Git individuel. Ceci a entrainé la création de 180 dépôts Git par 156 étudiants, contenant 3 082 commits.

Le tableau 1 indique le nombre de dépôts créés par les étudiants en fonction du niveau du diplôme (selon la classification International standard classification of education (ISCED, 2012) qu'ils préparent et leur année d'études.

Tableau 1 • Nombre de dépôt en fonction du niveau d'études

Niveau ISCED

5 (DUT, licence pro)

7 (master)

Année d’étude

2ème

3ème

1ère

2ème

Nombre de dépôts

73

16

55

36

Nombre d’étudiants

49

16

55

36

Parmi tous les commits effectués par les étudiants, on peut distinguer des fix commits qui comportent un message imposé par l'enseignant dans son énoncé afin d’indiquer la fin d'un exercice donné.

Figure 1 • Part de « fix commits » sur l'ensemble des « commits » en fonction de l'année d'étude

Dans les dépôts mentionnés ci-dessus, 2424 fix commits ont été identifiés. La figure 1 montre leur distribution selon le niveau du diplôme et l'année d'étude de l'étudiant.

Précisons que, même lorsque les étudiants n'ont pas effectué tous les exercices, tous ont réussi, quel que soit leur niveau d'études, à utiliser Git et GitHub en suivant la procédure imposée pour soumettre leurs travaux.

3.2. Analyse de l’enquête auprès des étudiants

À la fin de chaque cours, nous avons mené une enquête auprès des étudiants pour évaluer leur ressenti envers Git et GitHub. Le tableau 2 énumère différentes affirmations que les étudiants ont été invités à évaluer en leur donnant une note selon une échelle de Likert à 7 niveaux : « 1 » signifiant « Pas du tout d'accord » et « 7 » signifiant « Tout à fait d'accord ».

Tableau 2 • Affirmations évaluées par les étudiants

#

Affirmations évaluées

1

J'ai trouvé qu'il était facile d'utiliser Git et GitHub pour soumettre mon travail.

2

J'ai trouvé l'utilisation de Git et GitHub adaptée à la soumission de mon travail.

3

J'aimerais que mes travaux futurs soient également soumis en utilisant Git et GitHub.

4

J'ai trouvé que l'utilisation de Git et GitHub ajoutait de la complexité au travail.

5

J'ai trouvé intéressante l'utilisation de Git et GitHub lors du travail.

6

J'ai trouvé motivante l'utilisation de Git et GitHub lors du travail.

La figure 2 représente la répartition des 61 réponses (39% des étudiants participant aux expérimentations) que nous avons obtenues. Les affirmations 1 et 4 ont été demandés dans le but d'évaluer la difficulté perçue relative à l'utilisation de Git et GitHub. Avec une médiane respectivement de 6 et 2 et un IQR resserré autour des médianes, l'enquête révèle que l'utilisation de Git et GitHub est largement considérée comme facile et n'augmente pas la complexité du travail à effectuer.

Figure 2 • Distribution des réponses des étudiants

Ensuite, les affirmations 2 et 3 permettent d'évaluer l'utilité perçue de Git et GitHub pour la soumission des travaux. Là encore, avec des médianes de 6 et un IQR resserré autour des médianes, l'enquête indique que les élèves considèrent Git et GitHub comme étant adaptés pour soumettre leurs travaux et sont prêts à utiliser ces outils pour de futurs travaux.

Enfin, les affirmations 5 et 6 visent à évaluer dans quelle mesure les étudiants considèrent Git et GitHub comme des outils intéressants et motivants. Les deux médianes se situent à 6. L'IQR pour la déclaration 6 indique une plus grande distribution des réponses par rapport à la motivation. On peut considérer que les étudiants trouvent très majoritairement intéressant l'utilisation de Git et GitHub alors qu'une grande majorité la trouve motivante. La mobilisation d’outils utilisés dans le contexte professionnel s’intègre pleinement dans un des six leviers identifiés par Poumay (Poumay, 2014) pour donner du sens aux apprentissages et augmenter l’intérêt des étudiants. Les résultats obtenus sur les affirmations 5 et 6 confortent cette proposition.

En outre, il est possible de vérifier que les réponses données par les étudiants ne dépendent pas de leur niveau d'études. À cette fin, pour chaque affirmation Ai de l'enquête, nous effectuons le test exact de Fisher pour tester la dépendance entre la variable du niveau ISCED et la variable définie comme suit :

Le tableau 3 indique la p-valeur calculée avec le test exact de Fisher pour évaluer la dépendance entre la variable du niveau ISCED et la variablepour chaque énoncé.

Tableau 3 • Résultats du test exact de Fisher

Affirmation

1

2

3

4

5

6

p-value

0.44

1

1

0.35

0.37

1

Toutes les p-valeurs sont très supérieures à 0,05, indiquant que le niveau d'études est indépendant de la réponse aux différentes questions posées.

3.3. Synthèse de l’évaluation quantitative

L'évaluation quantitative présentée fournit des réponses à la question de recherche (RQ1) concernant l'obligation pour les étudiants d'utiliser Git et GitHub à des fins pédagogiques quel que soit leur niveau d'études. En effet, elle révèle, d'une part, l'utilisation concrète de Git et GitHub par tous les étudiants inscrits dans les cinq cours concernés par les expérimentations et, d'autre part, un bon ressenti général des étudiants concernant la facilité, l'utilité, l'intérêt et la motivation à utiliser ces deux outils dans un contexte éducatif, quel que soit leur niveau d'études.

4. Le tableau de bord Git4School

Git4School (https://git4school.firebaseapp.com/) est un tableau de bord, destiné aux enseignants, permettant de visualiser les progrès des élèves.

Sur la page web dédiée à chaque dépôt, GitHub propose un onglet « Insights » qui fournit diverses mesures comme la temporalité, la volumétrie et la répartition des commits entre les différents contributeurs du dépôt. Dans cette section, nous verrons que Git4School permet de visualiser des informations davantage sémantiques sur le travail effectué par les étudiants.

4.1. Hypothèses sur le contexte d’utilisation

Les étudiants travaillent individuellement pour développer une partie logicielle dans laquelle les principales fonctionnalités peuvent être mises en œuvre avec des notions de programmation ciblées. Lorsque les étudiants ont produit leur réponse à un exercice, ils effectuent un commit avec un message spécifique indiquant que l'exercice a été achevé et un push dans un dépôt privé GitHub qui leur est attribué. L'attribution de tels dépôts est facilitée par l'initiative GitHub Classroom (https://classroom.github.com/) qui automatise la création de dépôts Git avec des droits d'accès configurables tout en incluant un code de démarrage. Dans sa conception de la situation d'apprentissage, l'enseignant peut avoir prévu des tâches à accomplir par l'étudiant comme par exemple le travail de développement en autonomie ou la confrontation des solutions entre étudiants via une revue du code par les pairs. Une solution fournie par l'enseignant peut également être publiée. Dans ce qui suit, ces événements seront appelés « jalons ».

4.2. Les visualisations proposées par Git4School

La plateforme Git4School est une application web dont le code source (https://github.com/git4school/git4school-visu) est publié sous la licence Apache 2.0. Son utilisation nécessite que l'enseignant dispose d'un compte GitHub. L'API REST de GitHub (https://developer.github.com/v3/) est utilisée pour extraire des informations sur les commit effectués par les étudiants dans leurs dépôts.

Les deux seules hypothèses de travail qui conditionnent l'utilisation de Git4School sont d'une part, l'utilisation de GitHub par les étudiants et, d'autre part, le respect de la bonne pratique consistant à effectuer un commit après chaque achèvement d'un exercice. Git4School est donc très peu invasif à la fois d'un point de vue méthodologique mais aussi en termes d'outils : la plateforme peut être utilisée quel que soit l'environnement de travail (système d'exploitation, IDE) et le langage de programmation.

L'enseignant, une fois connecté à Git4School, fournit un ensemble d'éléments de configuration à travers l'interface dédiée ou via un fichier au format JSON contenant les informations suivantes :

- La liste des dépôts d'étudiants hébergés sur GitHub.

- Une liste d'identifiants pour les différents exercices qui seront recherchés dans les messages de commits. La présence d'un identifiant est interprétée comme l'achèvement par l’étudiant de l’exercice correspondant.

- La date et la durée des séances de travail en face à face.

- Pour chaque exercice, des jalons peuvent être mentionnés : revue par les pairs, publication d'une solution, remédiation, etc.

Ensuite, l'enseignant peut accéder à trois visualisations. Sur chacune d'elles, les couleurs portent des informations sémantiques : le vert indique un exercice réalisé en autonomie avant toute intervention déclenchée par l'enseignant ; l’orange indique un exercice réalisé après un jalon de type « évaluation par les pairs » ; enfin, le rouge indique un exercice réalisé après la publication d'une solution par l'enseignant.

Figure 3 • Visualisation du progrès global dans Git4School

La première visualisation (Figure 3) permet de visualiser pour chaque étudiant, en ordonnée, tous ses commits dans le temps, en abscisse. Les temps correspondant aux séances en face à face (fond bleu clair) et aux jalons (lignes verticales) sont également identifiés. Les commits sont représentés avec des couleurs différentes selon qu'ils sont effectués avant ou après un jalon.

Figure 4 • Visualisation de la quantité de commits de chaque type pour chaque élève dans Git4School

La deuxième visualisation (Figure 4) indique, sous forme d'un diagramme en bâtons, la quantité de commits de chaque étudiant colorée en fonction de leur position temporelle par rapport aux différents types de jalons. Pour chaque étudiant apparaît aussi l'identifiant du dernier exercice achevé et le nombre de commits exécutés.

Figure 5 • Visualisation du niveau achèvement des exercices dans Git4School

La troisième visualisation (Figure 5) permet de visualiser sous forme d'un diagramme en bâtons, pour chaque exercice, le nombre d'étudiants qui l'ont réalisé et dans quelles circonstances (commits lors d'un travail en autonomie, après revue par les pairs et après publication de la solution).

5. Évaluation qualitative des expériences

Nous nous concentrons maintenant sur 2 des 5 expériences mentionnées dans l'évaluation quantitative. Ces études de cas ont eu lieu dans le cadre de cours d'informatique dispensés à différents niveaux de l'enseignement supérieur et suivant différents modèles d'apprentissage. Les deux études visaient à explorer dans quelle mesure les visualisations fournies par Git4School peuvent effectivement aider les enseignants à prendre des décisions au cours des différentes séquences composant leur cours. Nous fournissons ainsi des éléments de réponses en relation avec (RQ2).

5.1. Présentation des deux études de cas sélectionnées

5.1.1. Étude de cas 1

La première étude a eu lieu en deuxième année de Master en génie logiciel dans le cadre d'un cours consacré à l'API de persistance de Java (JPA). Un groupe de 36 étudiants était inscrit à ce cours. Ils ont suivi 10 interventions planifiées de 2 heures chacune, au cours desquelles ils ont mis en pratique les connaissances théoriques qu'ils avaient reçues précédemment sur JPA. Ces interventions ont suivi un protocole pédagogique original développé par l'équipe pédagogique au cours des dernières années pour couvrir d'une part l'acquisition de compétences individuelles en programmation et d'autre part l'acquisition de compétences sociales liées à la programmation. Ainsi, les interventions se sont déroulées comme une succession de cycles composés de 3 phases ordonnées comme suit :

- Phase de travail en autonomie : chaque élève travaille individuellement sur un même projet spécifié par un ensemble de tests unitaires et d'intégration. Les résultats et les messages fournis lors des tests automatisés donnent aux élèves un feedback qui facilite leur progression vers chaque objectif d'apprentissage.

- Phase de revue par les pairs : les étudiants participent à une séquence de revue par les pairs durant laquelle ils sont invités à présenter et à argumenter en faveur de leur solution à un exercice donné ou à présenter leur compréhension de l'utilisation de l'API. Cette phase de revue par les pairs est orchestrée à l'aide de la plateforme elaastic (https://elaastic.irit.fr/elaastic-questions) qui met en œuvre certains principes d'apprentissage actif présentés (Silvestre et al., 2015).

- Phase de restitution : l'enseignant présente les résultats et commente une ou plusieurs solutions ou explications. Il anime les discussions.

À la fin de chaque contribution significative au projet, il a été demandé à chaque étudiant de réaliser un commit et un push de son travail sur son dépôt GitHub dès que tous les tests passaient avec succès sur la partie concernée du projet. L'indication de soumettre le travail faisait partie de l'énoncé du sujet.

5.1.2. Étude de cas 2

La deuxième étude de cas a eu lieu en deuxième année d'un cours de Diplôme Universitaire Technologique (DUT) informatique visant à acquérir des connaissances et des compétences en matière de développement d'applications web avec le langage de programmation PHP (https://www.php.net). Deux groupes d'environ 25 étudiants ont participé au cours. La plupart d'entre eux étaient novices sur le sujet enseigné. Pendant 5 semaines, l'enseignant a utilisé Git4School. Durant cette période, chaque semaine, les étudiants ont reçu un cours théorique d'une heure sur l'utilisation d'une bibliothèque pour connecter des applications PHP avec des bases de données relationnelles ou sur la pertinence du modèle de conception modèle-vue-contrôleur dans une application web. Ensuite, ils ont mis en pratique ce contenu théorique pendant une session d'une heure trente suivant un modèle d'apprentissage assez simple : ils devaient essayer de compléter les exercices jusqu'à ce que le professeur décide d'interrompre le travail individuel pour donner des conseils ou présenter la solution d'un exercice ou de l'ensemble de l'exercice. Les étudiants étaient encouragés à s'entraider, mais aucun protocole d'enseignement rigoureux n'a été établi pour parvenir à cette instruction par les pairs, contrairement à la première étude de cas.

Pour permettre l'utilisation de Git4School, il a été demandé aux étudiants de réaliser un commit et push de leur travail à la fin de chaque exercice. Les indications de commit et push du travail ont été explicitement énoncées dans les sujets des différents travaux pratiques. Les exercices n'étant pas accompagnés de tests automatiques, les étudiants décidaient eux-mêmes si l'exercice était terminé. Ils pouvaient éventuellement demander à l'enseignant de le vérifier.

5.2. Résultats et discussions

Nous discutons maintenant des observations qui ont émergées de l'utilisation de Git4School au cours des études de cas décrites précédemment.

Déclenchement des interventions planifiées

La visualisation du taux d'achèvement par exercice a été très utile pour déclencher les interventions prévues dans les situations d'apprentissage (phases de revue par les pairs pendant les séquences relatives à l'étude de cas 1 et phases de restitution dans les deux études de cas). En effet, il est possible de déclencher une intervention à partir d'un seuil configurable de taux d'achèvement des élèves. Comme le montre la figure 5, le seuil personnalisé apparaît sur la visualisation sous la forme d'une ligne horizontale rouge. Par exemple, pour un exercice donné, l'enseignant de la première étude de cas déclenchait la phase de revue par les pairs lorsque plus ou moins 60% des élèves avait terminé l'exercice.

Obtenir un feedback sur l'efficacité d'une intervention planifiée

Les trois visualisations proposées par Git4School affichent les commits des élèves avec une couleur fonction de la position dans le temps du commit par rapport aux interventions déclenchées par l'enseignant. En particulier, la visualisation du taux d'achèvement par exercice donne un aperçu précis de l'efficacité des interventions planifiées en montrant combien de commits sont réalisés par les étudiants après chaque type d'intervention. Un enseignant peut alors facilement prendre conscience de l'impact de ses interventions. Plus les interventions planifiées font partie de la conception de l'apprentissage, plus les informations obtenues sont riches. En effet, dans l'étude de cas n°2 où les évaluations par les pairs n'étaient pas explicitement prévues, il n'a pas été possible de mesurer l'impact des revues par les pairs qui étaient improvisées car elles n'étaient pas prises en compte dans l'outil comme des jalons.

D'autre part, les informations fournies par Git4school étant faciles à partager, Git4School peut aider à l'adoption de techniques, de ressources et/ou d'outils pédagogiques à fort impact à plus grande échelle dans une institution.

Identification des étudiants en difficulté

La visualisation du type de commits pour chaque élève permet d'identifier rapidement les élèves ayant le plus de difficultés. Par exemple, dans la figure 4, on peut voir que la quatrième barre est dominée par l'orange et le rouge, ce qui indique que l'élève correspondant fait rarement les exercices tout seul et, dans la plupart des cas, après la publication de la solution par l'enseignant. Lors de séances en face à face avec de petits groupes d'élèves, l'enseignant peut ne pas avoir besoin d'un tel outil pour identifier les élèves en difficulté. Cependant, Git4School donne rapidement des indicateurs pour identifier les élèves en difficulté avec lesquels l'enseignant peut décider d'interagir sans attendre qu'ils demandent de l'aide. Git4School permet ainsi aux enseignants de mieux répartir le temps passé avec les élèves sur la base d'indicateurs objectifs sur leurs besoins et a donc été utilisé comme aide pour réaliser des interventions non planifiées ciblant les élèves en difficulté.

Dans le contexte de l'enseignement hybride ou à distance, induit par les confinements liés à l'épidémie COVID19 par exemple, Git4School a été très utile pour identifier les élèves en difficulté en compensant en partie l'absence de signaux donnés par les élèves traditionnellement lors des sessions en face à face.

Information sur l'activité des étudiants en dehors des cours

La vue d'ensemble (Figure 3) affiche tous les commits effectués par les étudiants lors des sessions en face à face (fond bleu clair) et en dehors de la classe (fond blanc). Git4School permet ainsi d'identifier les étudiants qui poursuivent leur travail en dehors des sessions en face à face. Pour l'étude de cas 2, il s'agissait en fait d'un moyen de découvrir que moins de 5% des étudiants avaient l'habitude de travailler en dehors des sessions en face-à-face, même lorsqu'il leur était explicitement demandé de réaliser un travail à la maison. L'enseignant a questionné ce manque d'engagement des étudiants. Le paragraphe suivant décrit comment Git4School a permis d'identifier la cause la plus probable : un niveau de difficulté du travail demandé inapproprié au regard du niveau d’expertise des étudiants.

Qualification de la difficulté d'un exercice

La visualisation du taux d'achèvement par exercice (Figure 5) peut aider à identifier une situation anormale pour un exercice donné. Dans l'étude de cas 1, le seuil de déclenchement de la prochaine intervention prévue n'était pas atteint quand les élèves ne pouvaient pas effectuer l'exercice par eux-mêmes. Cette observation, pouvant être faite en temps réel par l'enseignant en consultant le tableau de bord, offre alors la possibilité de réaliser une remédiation sur les concepts qui sont visés dans l'exercice.

Si la visualisation du taux d'achèvement sur l'ensemble des exercices est largement dominée par la couleur rouge, cela signifie que les élèves n'ont réalisé les exercices qu'après la publication de la solution fournie par l'enseignant. Cette situation peut remettre en cause la conception pédagogique de l'ensemble des exercices proposés. En effet, dans l'étude de cas 2, comme les premiers exercices ont pris plus de temps que prévu, l'enseignant a anticipé la publication de la solution de ces exercices afin que les étudiants puissent consacrer plus de temps aux exercices suivants jugés plus importants par l'enseignant. Dans cette situation, Git4School fournit des indicateurs objectifs pour aider à identifier les ressources pédagogiques inadaptées pour atteindre les objectifs d'apprentissage initiaux.

Comparaison de niveaux entre groupes d'étudiants

La deuxième étude de cas a impliqué deux groupes d'étudiants travaillant en parallèle sur les mêmes exercices. Assez rapidement, les visualisations sont apparues très différentes dans les deux groupes. Après les deux premières sessions, alors que le premier groupe montrait une distribution compacte des commits verts sur les quatre premiers exercices, le second groupe montrait une distribution plus large et inégale des commits verts jusqu'au septième exercice. Git4School est apparu comme un outil inattendu pour identifier les différences dans les progrès des étudiants d'un même groupe ainsi que l'hétérogénéité entre deux groupes inscrits au même cours. Ainsi, l'enseignant a pu donner du travail supplémentaire aux élèves les plus avancés afin de maintenir un rythme plus cohérent entre les deux groupes. D'autres choix auraient pu être faits (par exemple, mobiliser les étudiants avancés pour aider les autres), mais l'important ici est de constater que Git4School a permis la mise en œuvre d'interventions correctives imprévues déclenchées sur la base d'informations exactes.

Éthique et gestion des données personnelles

Git4School extrait des dépôts GitHub les données correspondant à la progression des étudiants, que ce soit lors de sessions en face à face ou en dehors des cours. Pour cela, les étudiants ont accepté les conditions d'utilisation de GitHub et de GitHub Classroom. Aucune condition d'utilisation supplémentaire n'est validée par les étudiants pour Git4School. Techniquement, aucune donnée n'est stockée sur le serveur qui héberge Git4School. Les données utilisées par le tableau de bord sont uniquement stockées localement pendant la période où l'enseignant utilise Git4School.

Limites

Actuellement, Git4School est uniquement compatible avec GitHub. Ce choix de conception n'est pas un problème pour les enseignants et les institutions souhaitant travailler avec cette plateforme populaire, mais il pourrait constituer un obstacle à l'adoption plus large de Git4School. En cas de frein avéré à son adoption, il sera possible d'adapter Git4School afin de le rendre compatible avec d'autres plateformes.

6. Conclusion

Nous avons présenté Git4school, un tableau de bord conçu pour soutenir les interventions des enseignants dans le cadre des cours de génie logiciel en fonction de l'activité des étudiants tracée via l'utilisation de dépôts Git. Une évaluation expérimentale nous a d'abord permis de fournir des réponses à (RQ1) en montrant l'adoption de Git et GitHub par les étudiants. Nous avons également montré en réponse à (RQ2) que Git4School peut aider les enseignants à prendre des décisions pour déclencher des interventions planifiées ou non planifiées. De plus, nous avons montré que Git4school a été utilisé pour évaluer l'impact des interventions planifiées et pour identifier les faiblesses dans la conception d'une situation d'apprentissage en permettant ainsi d'en cibler des améliorations.

Pendant les séances de la deuxième étude de cas, l'enseignant a montré à plusieurs reprises aux élèves la visualisation du taux d'achèvement par exercice afin de commenter la progression globale du groupe. Il n'a pas été possible de mesurer l'impact de cette utilisation particulière de Git4shool comme outil de sensibilisation des élèves, mais l'attention et la curiosité des élèves à l'égard de l'outil nous ont incités à réfléchir à la conception de visualisations dédiées aux élèves dans le cadre de telles activités. Ainsi, nous souhaiterions à l’avenir fournir aux élèves des visualisations spécifiques pour les aider à autoréguler leur apprentissage.

De nombreuses données ont été collectées au cours des expériences et d'autres viendront rapidement des futures utilisations de Git4school. Il sera bientôt possible d'effectuer une exploration statistique de certaines données afin de découvrir dans quelle mesure certains modèles de travail pourraient être corrélés avec les résultats d'apprentissage. Ce travail sur les données collectées est l'une de nos priorités pour améliorer la compréhension et l'évaluation des modèles d'apprentissage destinés aux cours de génie logiciel.

À propos des auteurs

Jean-Baptiste RACLET est maître de conférences à l'Université Paul Sabatier – Toulouse III depuis 2010. Il a été accueilli en délégation partielle au CNRS dans le cadre d'une chaire d'excellence scientifique jusqu'en 2015. Il mène ses activités de recherche à l’IRIT dans l’équipe ACADIE sur la thématique de la modélisation et la vérification modulaire de systèmes critiques. Ses activités d’enseignements sur l'ingénierie du logiciel au niveau master l'ont récemment conduit à s'intéresser à l’orchestration de phases dans des protocoles d'apprentissage de la programmation et à l'exploitation de métriques dans le suivi des apprenants.

Adresse : Université Paul Sabatier, Institut de Recherche en Informatique de Toulouse, 118 Route de Narbonne, 31062 Toulouse

Courriel : Jean-baptiste.raclet@irit.fr

Franck SILVESTRE est maître de conférences à l’Université Toulouse Capitole. Il mène ses activités de recherche à l’IRIT dans l’équipe TALENT sur la thématique des Environnements Informatiques pour l’Apprentissage Humain (EIAH). Plus précisément, il travaille à la conception de systèmes interactifs facilitant l'orchestration par l'enseignant de séquences pédagogiques engageant fortement les apprenants durant les cours en face à face ou à distance.

Adresse : Université Toulouse Capitole, Institut de Recherche en Informatique de Toulouse, Place Anatole-France, 31042 Toulouse Cedex 9.

Courriel : Franck.silvestre@irit.fr

Toile : https://francksilvestre.github.io/

RÉFÉRENCES

Bakharia, A., Corrin, L., De Barba, P., Kennedy, G., Gašević, D., Mulder, R., Williams, D., Dawson, S. et Lockyer, L. (2016). A conceptual framework linking learning design with learning analytics. Dans Proceeding of the International Conference on Learning Analytics & Knowledge (LAK) (p. 329–338). ACM Press.

Bourque, P. et Fairley, R. E. (2014). SWEBOK: Guide to the Software Engineering Body of Knowledge. IEEE Computer Society. Disponible sur internet.

Choquet, C., Delozanne, E. et Luengo, V. (2007). Numéro spécial : Analyse des traces d'utilisation dans les EIAH. STICEF, 14.

Emin, V., Pernin, J.-P. et Guéraud, V. (2011). Scénarisation pédagogique dirigée par les intentions. STICEF, 18(1), 195–227.

Gašević, D., Dawson, S. et Siemens, G. (2015). Let’s not forget: Learning analytics are about learning. TechTrends, 59, 64–71.

Glassy, L. (2006). Using version control to observe student software development processes. Journal of Computing Sciences in Colleges, 21, 99–106.

ISCED (2012). International standard classification of education: ISCED 2011. UNESCO Institute for Statistics. Disponible sur internet.

Jones, C. (2010). Using subversion as an aid in evaluating individuals working on a group coding project. Journal of Computing Sciences in Colleges, 25, 18–23.

Kay, J., Maisonneuve, N., Yacef, K. et Zaïane, O. (2006). Mining patterns of events in students' teamwork data. Dans J. Kay, N. Maisonneuve, K. Yacef et O. Zaïane (dir.), In Educational Data Mining Workshop, held in conjunction with Intelligent Tutoring Systems (ITS) (p. 45–52).

Liu, Y., Stroulia, E., Wong, K. et German, D. (2004). Using CVS Historical Information to Understand How Students Develop Software. Dans Proceeding of the International Workshop on Mining Repositories (MSR) (p. 32–36).

Lockyer, L., Heathcote, E. et Dawson, S. (2013). Informing pedagogical action: Aligning learning analytics with learning design. American Behavioral Scientist, 57, 1439–1459.

Mierle, K., Laven, K., Roweis, S. et Wilson, G. (2005). Mining student CVS repositories for performance indicators. ACM SIGSOFT Software Engineering Notes, 30, 1-5.

Mittal, M. et Sureka, A. (2014). Process Mining Software Repositories from Student Projects in an Undergraduate Software Engineering Course. Dans Proceedings of the International Conference on Software Engineering (ICSE) (p. 344–353). ACM Press.

Poncin, W., Serebrenik, A. et Van den Brand, M. (2011). Mining student capstone projects with FRASR and ProM. Dans Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) (p. 87–96). ACM Press.

Poumay, M. (2014). Six leviers pour améliorer l'apprentissage des étudiants du supérieur. Revue internationale de pédagogie du supérieur, 30(1), 1–19.

Robles, G. et Gonzalez-Barahona, J. (2013, 3). Mining student repositories to gain learning analytics. An experience report. Dans Proceedings of the IEEE Global Engineering Education Conference (EDUCON), IEEE (p. 1249-1254).

Schwendimann, B. A., Rodríguez-Triana, M. J., Vozniuk, A., Prieto, L. P., Boroujeni, M. S., Holzer, A. et Dillenbourg, P. (2017). Perceiving Learning at a Glance: A Systematic Literature Review of Learning Dashboard Research. IEEE Transactions on Learning Technologies, 10, 30-41.

Silvestre, F., Vidal, P. et Broisin, J. (2015). Reflexive learning, socio-cognitive conflict and peer-assessment to improve the quality of feedbacks in online tests. Dans G. Conole, T. Klobučar, C. Rensing, J. Konert et E. Lavoué (dir.), Design for Teaching and Learning in a Networked World, (p. 339–351). Springer.

Tchounikine, P. (2013). Clarifying design for orchestration: orchestration and orchestrable technology, scripting and conducting. Computers & Education, 69, 500–503.

Tissenbaum, M. et Slotta, J. (2019). Supporting classroom orchestration with real-time feedback: A role for teacher dashboards and real-time agents. International Journal of Computer-Supported Collaborative Learning, 14, 325–351.

Van Harmelen, M. et Workman, D. (2012). Analytics for learning and teaching. CETIS Analytics Series, 1, 1–40.

Wise, A. F. (2014). Designing pedagogical interventions to support student use of learning analytics. Dans Proceedings of the International conference on learning analytics and knowledge (LAK) (p. 203–211). ACM Press.


1 En se basant sur le TEL thesaurus, le terme anglophone « learning design » est traduit dans cet article par « conception de situation d’apprentissage ».

2 En anglais, « pedagogical learning analytics intervention design ».

 

 
Référence de l'article :
Jean-Baptiste RACLET, Franck SILVESTRE, Mika PONS, Git4School : un tableau de bord pour assister la prise de décisions de l'enseignant lors des cours de génie logiciel, Revue STICEF, Volume 28, numéro 3, 2021, DOI:10.23709/sticef.28.3.2, ISSN : 1764-7223, mis en ligne le 15/03/2022, http://sticef.org
[Retour en haut de cette page] Haut de la page
Mise à jour du 15/03/22