DEV Community

Antoine Caron
Antoine Caron

Posted on • Originally published at slashgear.github.io on

Github classroom - un outil à tester

Lorsque j’ai commencé à enseigner en septembre dernier, je recherchais une solutionpour pouvoir suivre facilement l’avancée des étudiants pendant leur TP. J’ai d’abord songé à leur demander l’accès à leur repository Github/Bitbucket… mais je me suis vite rendu compte que çan’allait pas être gérable durablement. J’ai alors cherché une solution clé en main.

Je suis alors tombé au hasard de mes recherches sur le forum de la communauté desenseignants sur Github. Une communauté très active et dont le sujetprincipal de discussion est Github classroom. J’ai alors décortiqué cette solution proposée par Githubafin de la tester au plus vite avec mes étudiants.

Constat, en TP on est très mal équipé

Avant de vous décrire le fonctionnement et la mise en place de cet outil avec vos étudiants,je préfère faire une petite liste des problèmes que j’ai pu rencontrer en tant que professeurou même en tant qu’étudiant lors de la réalisation d’un TP.

  • Démarrer votre TP en 5 minutes avec vos étudiants, impossible. Il est clair que passer une clé usb de PC en PC pour distribuer soit les sources du TP soitle sujet ce n’est pas pratique. On observe facilement que certains étudiantsne commencent alors leur TP qu’au bout de 15/20 minutes.
  • Difficile de suivre l’avancement des étudiants. Il arrive que des étudiants souhaitent avoir de l’aide pour résoudre un problèmeavec leur projet. Sans outils, on est souvent obligé de faire de nombreux échanges parmail pour finir par se comprendre et réussir à apporter son aide. Se contextualiseren lisant un mail où l’élève lâche juste un ça marche pooo !, c’est pas très facile.
  • Le rapport, le code du projet, les mails d’échanges avec les étudiants, à des endroits différents. Le rendu du TP, il faut l’avouer c’est vraiment l’étape la plus énervante.Entre les étudiants qui oublient la moitié des choses à rendre, les retards,les outils de la faculté qui ne marchent pas, centraliser et noter les travaux pratiques des étudiantsdevient vite un véritable calvaire que l’on traine sur plusieurs jours.
  • “Non Monsieur j’ai pas copié” : Trop de fois les étudiants se Ctrl-C/Ctrl-V les TPs et cela peut êtretrès compliqué de vérifier qu’un étudiant n’a pas juste recopié le code de son collègue.
  • “Et toi t’as fait quoi sur ce TP ?” Et oui, parfois, quand les étudiants sont en groupe, un fainéant peut se cacher au milieu.Il est donc difficile d’évaluer réellement la compréhension individuelle dans cette situation.
  • Comment vérifier que leur TP marche ? Dois-je l’installer ? 40 élèves, TP par binôme, cela fait 20 TP à installer et à vérifier. Il arrive que l’élève aitconfiguré son projet un peu bizarrement et il vous faudra au moins 10 minutes pour comprendrece qu’il a fait.

Préparer un TP avec Github Classroom

Alors déjà pour être clair, utiliser un outil comme Github Classroom nécessite du tempsde préparation supplémentaire. Il y a tout un tas de choses à configurer avant la première séanceavec ses élèves. Cependant, ce temps de préparation va être largement récupéré dès que le TP aura commencé.

Un outil bien expliqué

Cet outil a une prise en main assez évidente, mais Github nous a quand même fourniplusieurs vidéos explicatives qui suffisent à comprendre son utilisation.

Getting started

How to set up group assignments

Les contraintes

Cet outil n’est pas magique, il impose quelques contraintes qui peuvent êtrebloquantes pour vous et vos étudiants.

  • Il vous faut un compte Github
  • Tous les élèves doivent avoir un compte Github, il peut être difficile d’imposer ça aux élèves
  • Vous devez maitriser Git et bien connaitre l’interface de Github.
  • Vos élèves doivent être autonomes avec Git.
  • Vous devez créer une organisation sur Github (en quelques clics)
  • Les sources des TP et les réalisations de vos étudiants seront publiques si vousne demandez pas une organisation privée à Github pour votre école.

Les étapes à respecter

1. Préparer vos sources et votre énoncé

Il vous faudra tout d’abord déposer vos sources sur un dépot Github enveillant à bien le nommer pour le retrouver par la suite. Il faut aussi veiller à ne pas_marquer_ vos TP par les fichiers de configuration de votre IDE. En effet,vos étudiants n’utiliseront pas forcément le même que vous et ces fichiers pourraient les gêner/les troubler_(il en faut peu)_

Je vous conseille également de rédiger l’énoncé en Markdowndirectement dans le fichier README.md .

Enfin, histoire de tout centraliser au même endroit, je vous pousse àdéfinir un fichier Rapport.md pour que les étudiants rédigent également leur rapport en Markdown.(Après un premier test, les étudiants ont bien apprécié le Markdown. Très simple à comprendre, il leur apermis d’insérer du code mais également des images dans leur rapport sans prêter attention à la mise en page)

Pour terminer, voici un exemple de TP que j’ai configuré pour mes étudiants.

2. Configurer votre assignement

Une fois votre TP déposé sur un dépôt Github, il ne vous reste plus qu’à définir une instancede TP depuis l’interface de Github Classroom.




Créer un assignement

Quelques petites astuces pour créer vos assignements :

  • Bien préciser les classes, groupes, année dans le titre.
  • Indiquer votre starter code de l’étape 1.
  • Vous pouvez bloquer le nombre maximum d’élèves par groupe.
  • Vous pouvez reprendre les équipes entre les différents TP d’une même matière.

3. Diffuser votre TP à vos élèves

Cette étape vous fera gagner un temps précieux, en effet, une fois votre assignement créél’outil vous génère un lien qui permettra aux étudiants de s’y connecter et de se regrouper.

Dans le cas des TP en groupe, un étudiant doit s’y connecter et créer son équipe, les autres pourrontensuite la rejoindre.

Un repository sera alors créé par équipe.

4. Suivre vos élèves dans leurs développements

Vos étudiants vont un peu vous prendre pour la NSA, mais rassurez-les c’est pour leur bien.Une fois les dépots créés, vous pourrez voir sur votre page d’accueil github tous les commitsde vos étudiants. Cela vous permettra de faire de la review au fil de l’eau si vous avez le temps.

Vous pouvez également voir avec eux pour qu’ils ouvrent une issue s’ils ont besoin de votre aide.Dans cette situation vous serez notifié par mail. L’étudiant pourra même vous indiquer dans l’_issue_le code qui lui pose problème.

5. Évaluer leurs réalisations

Pour l’évaluation vous avez deux solutions :

  • Inspecter leur repository et lire leur code. Pour cela je ne peux que vous conseillerl’extension Octotreequi vous permet d’afficher l’arbre des fichiers du dépôt.
  • Mettre en place des tests unitaires sur le projet de base et connecter un outil de CI en SaaS comme travis-ci.

Top comments (0)