Ces derniers mois nous ont permis de faire de nombreuses expériences sur OpenClassrooms, en particulier autour des exercices des cours. Les exercices sont l’occasion de faire pratiquer ceux qui apprennent et de vérifier leurs connaissances. Ils les rendent actifs, sollicitant leur réflexion, et permettent par là même de mieux retenir les informations du cours.
Les QCM : la base
Mais quels types d’exercices pouvons-nous envisager en ligne ? Nous connaissons tous les QCM. Ils prennent la forme suivante :
Nous utilisons beaucoup les QCM chez OpenClassrooms. Ils permettent de vérifier de façon simple et automatisée les connaissances.
Bien sûr, on rétorquera que ce n’est pas très original, que ça existe depuis des années, que ça n’encourage pas franchement l’expression de l’apprenant… Oui, certes. Je suis d’accord avec tout cela. Mais ça n’en fait pas moins un outil très pratique (et apprécié !), qui permet de tester un minimum de connaissances à moindre coût. La correction étant facilement automatisable, cela nous fournit de la matière première pour gérer des exercices en ligne.
Les QCM ne présentent pas de nouveauté ou d’originalité, mais ils fonctionnent. Utilisons-les, ils ont un rôle à jouer.
La correction entre pairs : l’avenir ?
Bien entendu, les QCM finissent par être rapidement frustrants. On doit répondre A, B ou C (ou D…), encore et encore. Au final, on peut répondre un peu à l’aveuglette et espérer avoir une bonne note. Rien ne garantit que l’apprenant a vraiment réfléchi aux questions.
C’est pour cela que nous avons commencé à envisager d’autres types d’exercices plus riches :
- Ordonnancement d’éléments
- Drag n’ drop
- Réponses courtes (nombre, mot…)
- Codes source
- Dissertations
- etc.
Rapidement, nous avons séparé ces nouveaux types d’exercices que nous désirions expérimenter en deux sections :
- Ceux qui peuvent être facilement corrigés automatiquement
- Ceux qui ne peuvent pas être facilement corrigés automatiquement
Corriger automatiquement les codes source…
Nous voulions en particulier expérimenter les exercices de type « Codes source à produire » pour nos cours sur la programmation. Nous les avons rapidement rangés dans la section « ne peuvent pas être facilement corrigés automatiquement ».
On pourra signaler que des sites proposent de coder dans le navigateur et qu’ils corrigent automatiquement. Codeschool, Codecademy et consorts font un travail formidable à ce niveau. Mais cela reste malgré tout peu expressif : on demande à « coder ici », et cela implique souvent de rajouter une simple ligne de code, voire, au mieux, une fonction. Si la correction automatisée de codes source existe depuis des années, elle en reste encore à l’âge de pierre. On peut indiquer « ça marche, ça ne marche pas ». On peut plus difficilement dire pourquoi. On peut encore moins donner des conseils à l’élève pour qu’il s’améliore.
Il n’y a pas de doute qu’un jour nous aurons des intelligences artificielles suffisamment évoluées pour faire des retours utiles, mais nous en sommes encore très loin.
… et pourquoi ne pas les corriger manuellement ?
De là nous est venue l’idée de faire participer les élèves au processus de correction. L’idée n’est pas nouvelle en réalité : la correction entre élèves existe depuis des lustres en salle de classe (quoique, de toute ma scolarité, je ne me souviens pas qu’on m’ait demandé une seule fois de corriger le devoir d’un collègue !), et des sites de MOOCs comme Coursera effectuent de la correction entre pairs sur certains devoirs (on les appelle Peer to peer assesssments).
Le principe est le suivant :
- L’élève réalise le devoir qui lui est demandé. Celui-ci peut prendre n’importe quelle forme : fichier PDF contenant une dissertation, code source dans un fichier ZIP ou même dessin réalisé sous Photoshop.
- Il envoie son devoir sur la plateforme.
- Il accède ensuite à une correction. Il obtient des instructions du professeur qui lui expliquent comment corriger un autre devoir : combien de points mettre dans quel cas de figure, quelles étaient les différentes façons de répondre à la question…
- On lui demande de corriger plusieurs devoirs d’autres élèves qui viennent de terminer leur travail en même temps que lui. Dans notre cas, il doit corriger 3 devoirs, en donnant des points en suivant scrupuleusement le barème défini par le professeur. Fait important : on lui demande aussi de donner une appréciation qualitative (sous forme de texte) de chaque devoir.
- Une fois qu’il a corrigé les autres devoirs, il doit attendre que d’autres élèves corrigent son propre devoir de la même façon. Son devoir doit être corrigé par au moins 3 personnes différentes, qui ne se sont pas consultées et qui ont vu son travail de façon anonyme. Les 3 notes données par les pairs forment une moyenne, qui correspond à la note finale de l’élève.
Au final, chaque élève reçoit 3 corrections. Chaque correction de son devoir prend cette forme :
Regardez attentivement la correction :
- A gauche, les points du barème. Les critères ont été définis par le professeur, les points sont donnés par l’élève.
- A droite, les commentaires de l’élève-correcteur. Il a vraiment pris le temps de détailler son analyse du devoir et de donner des conseils.
60 % des correcteurs donnent des commentaires. C’est un bon début ! Tous ne sont certes pas aussi précis. Mais je n’ai pas eu à chercher longtemps pour trouver un correcteur attentif et patient (celui-ci date d’avant-hier). Le travail qu’ils effectuent est vraiment formidable.
Chaque devoir reçoit 3 corrections comme celle-ci, ce qui permet d’apprécier les différents points de vue. Regardez notamment cet exemple :
A date, nous avons généré près de 4 000 corrections sur le seul cours PHP. Sur l’ensemble de la plateforme, plus de 10 000 corrections ont été enregistrées pour le moment, et ce nombre augmente de jour en jour.
Quelles conclusions ?
Nous sommes très heureux de voir l’enthousiasme pour ce mécanisme de correction entre élèves. Il a de nombreux avantages :
- L’élève doit produire un devoir, pas juste cocher des cases. Cela lui demande plus d’investissement et il doit faire preuve de davantage de réflexion.
- L’élève voit d’autres devoirs réalisés lorsqu’il corrige. Il apprend qu’il y a différentes façons de faire, parfois de certains élèves plus avancés que lui.
- L’élève doit corriger et se place donc dans une toute autre position : celle du professeur. En changeant de perspective, il apprend énormément sur ce qui lui a été demandé et peut mieux comprendre ses propres forces et faiblesses.
Nous n’en sommes qu’aux débuts. De nombreux challenges nous attendent encore :
- Certains correcteurs, minoritaires, n’ont pas compris ce qui leur était demandé et bâclent parfois leurs corrections. Comme chaque devoir est corrigé 3 fois et que nous faisons une moyenne, cela pénalise en fait assez peu l’élève au final. Mais il doit être possible de les repérer et d’agir proactivement. Plusieurs élèves ont eu 2 bonnes corrections et 1 mauvaise, et ils ne retiennent que la mauvaise. Il faut éviter cette situation qui est déceptive pour l’élève.
- Certaines personnes ne corrigent tout simplement pas de devoirs. Elles sont automatiquement pénalisées car leur propre note ne leur est pas délivrée. Mais cela a provoqué des délais d’attente plus longs pour les devoirs qui n’étaient pas corrigés. Au lieu de quelques heures à une journée, il a fallu parfois attendre plus de 10-12 jours. Les algorithmes ont depuis été améliorés pour que cela ne puisse plus se reproduire mais nous devrons rester vigilants sur le délai moyen de correction.
Il n’en reste pas moins formidable de voir que, lorsqu’on fait confiance et responsabilise les élèves, ceux-ci jouent le jeu. Cela décharge le professeur des corrections (aurais-je pu corriger moi-même 3 000 devoirs ? clairement non !) et permet d’obtenir des avis variés sur un devoir.
Bonus track : visualisation des corrections
J’ai cherché à représenter spatialement la correction entre pairs. J’ai utilisé Gephi pour cela. Voici ce que ça donne !
Je n’ai pas encore suffisamment exploité le potentiel du logiciel, débutant moi-même en la matière. Si cela vous intéresse, je mets à votre disposition le fichier Gephi si vous souhaitez effectuer vos propres analyses ! :)
Viva OpenClassrooms!!!
Si je comprends bien vous êtes juste entrain de créer une e-school. Concept intéressant, mais qu’est-ce que ça vaut vraiment en entreprise ? Qu’est-ce qui vous dit que les corrections ne trainent pas sur le net, et que finalement c’est juste acheter une certif OCR sans avoir les requis ??
Puis pour moi j’ai du mal à voir comment deux personnes du même niveau peuvent s’évaluer avec justesse. Mais je suis peut-être trop pessimiste.
Je ne sais pas si l’emploi du terme « juste » est approprié ici. De mon point de vue, les interactions que l’on crée entre étudiants ont vraiment de la valeur et de l’intérêt. C’est ce que je voulais faire transparaître dans ce billet !
Bien entendu, beaucoup de questions restent ouvertes. La valorisation en entreprise : on en est aux débuts, c’est un nouveau secteur, il faut que les entreprises s’y habituent. Je reste convaincu de l’apport en terme de valeur à l’apprenant, donc de la qualité et de la reconnaissance à terme.
Les exercices ont vocation à changer régulièrement. La triche a toujours existé, même en école, mais je suis moi-même étonné de voir certaines personnes qui avaient triché (oui, ici même pour ce cours) se faire pénaliser par leurs propres pairs ! Peut-être que le système peut se réguler en partie seul, nous verrons.
Enfin, les personnes n’ont *pas* le même niveau. On pourrait le croire (je le croyais) mais en réalité les apprenants ont des niveaux variés. Certains sont déjà bons, voire très bons. Parmi les 3 personnes qui te corrigent, il y en a souvent un qui est au moins plus avancé que toi et qui peut t’apporter des conseils pertinents. Et ça, c’est déjà beaucoup. Parfois bien plus que ce qu’un professeur aurait pu prendre comme temps pour te conseiller.
Probablement un des changements qui m’a probablement le plus (agréablement) surpris avec l’arrivée des MOOCs. Je trouve l’idée excellente.
La dynamique des MOOCs nous a incité à explorer cette voie, et nous avons été nous mêmes très agréablement surpris des résultats. Je pense que ça fonctionne bien grâce à la nature plus horizontale et communautaire d’OpenClassrooms, par rapport aux autres plateformes de MOOCs (même les plus connues).
Bonjour,
j’ai eu la chance de participer à la piscine de l’école 42 (pas d’être retenu cela dit) et il s’avère que ce système est très utilisé. À ceci près que le nombre de corrections tourne plutôt autour de 5. Par ailleurs, dans cette école, la norme est quelque chose de primordial. De ce fait, la moindre erreur, si minime soit-elle (on oublie une indentation, un espace,…) donne la note de 0.
Ça peut sembler abrupt, mais les justifications de cet « extrémisme » sont multiples :
– Permettre aux élèves de se corriger facilement (sans devoir réinventer ou réapprendre la roue à chaque fois)
– Acquérir une rigueur de codage
– Automatiser certaines parties de correction
– Comprendre que malgré la norme il reste des millions de possibilité de faire différemment
Pour finir, j’ajouterai que la correction collaborative permet certes de voir d’autres façons de faire, mais aussi et surtout, de se faire expliquer différemment ses erreurs et aussi d’expliquer (ici 3 fois) les mécanismes que l’on a compris en faisant l’exercice. Et le fait de se répéter, permet de clarifier sa pensée, on organise mieux ses explications et on insiste sur ce qui est vraiment important.
J’avoue que je suis circonspect sur l’aspect extrêmiste de la correction chez 42. La notation est violente au moindre écart. Mais ce n’est pas nouveau, ce principe existait déjà à EPITECH.
Par contre la correction entre pairs exploitée à l’échelle de l’école 42 est vraiment intéressante. Je sais que ça existe mais je n’ai pas eu l’occasion de la voir de près. Je serai curieux qu’on me montre comment ça fonctionne concrètement un jour ! (j’ai compris qu’il y avait 5 corrections, mais ensuite ?)
Bref, le fait de se répéter permet de clarifier la pensée, multiplier les points de vue, et c’est effectivement ce qui est excellent dans cette approche. :)
Salut.
perso j’ai déjà fait quelques retours en mp mais il y a des choses dans ton poste qui me choquent.
>Plusieurs élèves ont eu 2 bonnes corrections et 1 mauvaise
bien évidemment! La moyenne sur trois notes equiponderees ne suffit pas à faire publier un 2 sur un exo qui vaut 8 ou 9, sur 10, la perte de deux points de moyenne est énorme!
Autre aspect des notes qui est scandaleux : le point accordé pour »présence des fichiers ».
c’est à vous de vérifier, a l’ upload que le zip contient au moins un .php et un .sql! Sans fichier l’ exo vaut 0 mais avec deux fichiers vides, il vaut 1 tu vois le problème?
Ce que tu suggères, c’est qu’il y ait plus de corrections par devoir ? Genre 5 ?
On n’est pas fermé à ça, c’est plus de travail pour chaque élève au final mais ça se fait et permet de lisser encore plus les résultats. Ceci étant, on va d’abord étudier les différents écarts-types des notes avant de se lancer tous azimuts dans des changements.
Oui on aurait pu coder la vérification de la présence des fichiers. Mais ça aurait été spécifique à l’activité en question. Le temps de développement n’aurait pas été rentabilisé. On préfère ici passer à l’échelle avec la puissance d’une communauté d’humains. Un peu comme Amazon Mechanical Turk en fait. ;)
Je vois plutôt un truc du genre « si l’ écart entre la meilleure et la pire note est de plus de 5 points tu as le droit à une nouvelle correction
aussi, mettre un nombre minimum de caractères pour les notes de 8 à 10 et de 0à 3 pour que l’ explication de la note soit obligatoire dans les cas extrêmes.
Je pense que c’est le genre de choses à envisager oui.
Je suis moins convaincu pour l’obligation du minimum de caractères par contre. C’est en pratique qqc qui est facilement détourné j’ai trouvé.
Pour ce qui est du temps de développement et de la particularité de l’exo, je n’y crois pas.
A partir de cette classe https://github.com/jmikola/ZipIterator tu peux parcourir un zip.
Comme vous êtes en PHP, vous n’avez qu’à créer une classe dérivée qui implémente FilterIterator.
Dans ce filter, vous comptez le nombre de fichiers qui correspondent à l’exigence « .php » (dans notre cas), puis de même avec ‘.sql’ et vous comparez ça aux champs enregistrés en bdd (une chaîne JSON peut être parfaite).
COmme ça, si vous faites un jour un mooc Java, vous avez juste à changer l’exigence en « un .jar », pour le mooc html vous changez ça en « un .html, un .css » etc.
Cela permettrait de vérifier cette partie à l’envoie et donc d’éviter les erreurs comme on a pu en trouver avec quelqu’un qui n’a envoyé que son .sql.
Le point donné pour la présence des fichiers est une erreur puisqu’il ne vaut rien, soit les fichiers sont là et on a au minimum un peu importe la vraie valeur du devoir, soit on a fait une erreur à l’archivage et on a 0.
J’ai aussi fait deux/trois calculs, mais 4 chances sur 10 de ne pas avoir de commentaire c’est énorme! surtout cela crée une possibilité trop importante que quelqu’un ait AUCUN commentaire : 6% à peu près.
Votre système a bien évolué durant le dernier mooc, c’est vraiment un bon progrès de votre part mais il y a des choses qui sont automatisables, surtout -à l’instart des présences de fichier- certaines doivent être automatisées pour éviter un maximum la frustration.
Soit ça, soit on laisse le droit au type de changer son fichier tant que personne ne l’a corrigé.
J’ai téléchargé gephi, on va voir ce qu’on peut en tirer.
Vous n’avez pas les opendata comme la dernière fois?
On peut coder spécialement un truc pour vérifier si le zip contient des fichiers, mais ça reste du développement spécifique. Ensuite on va coder qqc pour vérifier si le .jar contient bien tel et tel élément, et ainsi de suite. On n’en sort pas.
Alors oui c’est intéressant, beaucoup le font, mais ça passe difficilement à l’échelle de fonctionner comme ça. Ca ne veut pas dire qu’on ne le fera jamais mais plutôt qu’on n’en fait pas une priorité pour le moment. ;)
Pas d’opendata pour le moment (pas eu le temps de m’en occuper), mais il est possible qu’on repropose un nouveau fichier à l’avenir, avec encore plus de données du coup.
ps : si tu as une suggestion pour forcer les gens à mettre un commentaire utile et détaillé je suis preneur. Perso, je ne crois pas que ça soit réellement possible.
Bonjour,
J’ai eu la chance de participer à un cours sur edX en tant que testeur. (accès anticipé au cours, discussions intensives avec l’équipe d’encadrement.)
Lors des discussions, il est clairement apparu que les formes traditionnelles de questionnaires ne sont pas toutes adaptés.
Par exemple, les réponses sous forme de texte (un ou deux mots en texte libre) sont extèmement frustrantes. Il est en effet difficile d’y répondre directement, et il est difficile de fournir des indices pertinents en fonction des réponses erronées.
Par contre, ce qui semble marcher le mieux, ce sont les les groupes d’affirmations (vrai ou faux). À la différence du QCM montré au début du billet, pour N affirmations, il y a 2^N réponses possibles. Il devient donc difficile de toutes les essayer.
Dans ce cas, aucune réponse n’est donnée tant que toutes les affirmation ne sont pas correctement identifiées.
Pour l’étudiant, il devient alors plus intéressant de comprendre vériatblement la question que de tout essayer, tout en gardant la possibilité d’hésiter sur l’une ou l’autre des affirmations.
Dès que les réponses sont bonnes, l’étudiant a accès à une explication plus détaillée; ce dont il est fortement demandeur s’il a beaucoup hésité.
Je souhaite que les correction collaboratives rencontrent un grand succès, mais il reste qu’elles demandent beacoup de temps. pour les questionnaires plus rapides, en fin de section par exemple, les vrai ou faux groupés sont vraiment adaptés.
Bonjour,
Ca fait peu de temps que je connais Openclassrooms et ça me plait beaucoup.
Je débute mais je deviens complètement boulémique !!!
J’ai un projet en tête mais plus j’apprends et plus je me rends compte de tout ce qui va me falloir pour y arriver.
Les MOOC sont très clairs mais j’avoue être un peu frustrée par le fait d’attendre une semaine et surtout par les QCM qui me laissent sur ma faim !
Alors la correction communautaire, ça doit permettre d’avancer plus vite et de mieux comprendre ce qu’on apprend.
Mais comment on y participe ??
J’ai vu en fait.
Je ne suis pas encore arrivée au TP !!
Bonjour,
Nous cherchons des solutions pour que l’on puisse avancer à son rythme et faire plus d’exercices pratiques. Clairement, nous en avons fait peu pour le moment mais leur nombre va pouvoir grandement augmenter car le système de base commence à être rôdé ! :)
Il y a en moyenne 1 à 2 TP par cours. Ca nous paraît déjà pas mal de travail mais nous allons réfléchir, en fonction de la demande, à en proposer plus.
J’ai connu une plateforme d’e-learning dont les questionnaires étaient composés de QCM mais aussi de « code sources à trou » ou l’étudiant devait remplir une partie du code source (mots clés du langage, utilisation de variables prédéfinies…).
Par ailleurs, l’université de Valladolid à son système de correction automatique (http://uva.onlinejudge.org/) qui corrige du code source. Quand je l’utilisait c’était encore assez binaire (ça marche / ça marche pas) avec des comparaison sur les performances des programmes fournis par les différents élèves. Le système à peut-être évolué depuis, ça remonte à quelques années… A creuser?
En effet, mais comme je le disais dans l’article, c’est très binaire, on en est encore aux débuts de ces corrections automatisées. Rien vu de vraiment satisfaisant pour le moment, mais si vous avez des pistes je suis preneur !
Bonjour,
Il se trouve que je m’intéresse beaucoup à ce type de problème. Première chose, la toute première, rendre les personnes heureuses d’étudier. La note ne doit rester qu’une évaluation, mais doit être traitée avec rigueur. En 1982, en arrivant à l’IUT d’Annecy, j’avais inventé un contrôle continu pour tenter cette approche. L’étudiant arrivait en TD, et pouvait très bien avoir à répondre à une épreuve notée portant sur tous les TD précédents. Cinq épreuves de ce type au cours d’un semestre, par matière. Sur les cinq notes on enlevait la plus basse, ou on autorisait une absence à ce TD.
C’était un contrôle vraiment continu, puisqu’il portait sur l’ensemble du cours, et l’étudiant avait une sorte de Joker, en cas de raté, dû à un mal de dents, une absence, un jour sans.
De mon point de vue, c’était une excellente formule, qui à l’époque était impopulaire surtout chez les profs.
Le bachotage était réglé, et en TD les choses étaient plus simples, puisque les étudiants avaient généralement relu leurs anciens TD.
Pour les exercices PHP, j’ai eu à l’épruve test 10, 10 et 3, et la note 3 m’est apparu être la note du correcteur, qui n’avait pas fait l’effort d’aller plus loin dans la compréhension de la réponse.
Cette semaine, je me suis inscrit aux deux cours Symfony.
C’est un peu une galère pour trouver la solution à un problème dépendant du contexte. Et aller sur Google est une solution de facilité que je ne choisis qu’en toute dernière extrémité. Pourquoi ne pas donner à une dizaine d’Assistants qui ont fait leur preuve, la possibilité d’apporter une aide directe pour ne pas désespérer ceux qui pataugent, et qui éviterait aux moins jeunes de se perdre dans des forums souvent trop dispersés.
Après la qualification Symfony que j’espère décrocher en 2014, je veux bien faire partie de ces Assistants dans les domaines que je maitrise.
Je vous parlerai plus tard de la solution que j’avais mise en place en 1990 pour régler les problèmes liés à l’usage – détourné – des calculatrices.
BH de haute-savoie
faculty