Codecast, Taskgrader, WebLinux

Comment rendre plus simple l’apprentissage de la programmation pour les grands débutants ?

L’objectif de notre équipe internationale est d’améliorer l’apprentissage à l’aide d’outils de programmation open source fonctionnant dans le navigateur, avec une prise en main immédiate et une expérience riche. Nous sommes partis d’un constat simple : on n’apprend pas à programmer avec des questionnaires à choix multiples. Nous avons donc conçu des outils et des évaluations qui permettent d’apprendre en programmant, avec des interfaces interactives et intuitives.

Trois outils sont nés de ce travail, tous les trois déployés dans des MOOCs qui ont touché ensemble plusieurs centaines de milliers d’apprenants.

Codecast

Comment dépasser le fait qu’un tutoriel vidéo de type screencast n’est pas interactif ? Comment expliquer en ligne, à grande échelle, les pointeurs, l’allocation mémoire ou les matrices ?

Tout enseignant en informatique doit tôt ou tard expliquer un morceau de code ou un texte structuré. Codecast a été conçu par des enseignants d’informatique, et développé spécifiquement pour les MOOCs, afin de remplacer les screencasts non interactifs : il enregistre des tutoriaux interactifs synchronisés en audio, avec visualisation pas à pas de l’exécution — mémoire, pointeurs, variables — que l’apprenant peut mettre en pause, rejouer et modifier.

Taskgrader

Taskgrader est un correcteur automatique qui évalue les soumissions de code à grande échelle, fournit un retour personnalisé et s’intègre à la plateforme d’apprentissage via LTI.

Dans nos cours, nous avons construit des tâches dans Taskgrader pour proposer des défis de programmation appliquant les connaissances présentées dans les codecasts. L’apprenant écrit et soumet un programme, puis reçoit un retour détaillé et une note en quelques secondes. Pour favoriser l’apprentissage par la maîtrise, les étudiants peuvent demander des indices et disposent de tentatives illimitées : ils modifient et resoumettent jusqu’à réussir. Tout le dispositif est conçu pour soutenir la motivation et l’engagement.

WebLinux

Enseigner Linux en ligne pose un problème propre : la prise en main. Comment rendre Linux accessible à des apprenants qui ne peuvent pas télécharger de gros fichiers sur leur machine, ou qui n’ont pas les compétences pour installer eux-mêmes un système d’exploitation ?

WebLinux fournit un système Linux complet qui s’exécute dans le navigateur, entièrement côté client — pas d’image ISO à télécharger, pas de machine virtuelle à provisionner, pas d’hébergement serveur. Ce qui signifie aussi qu’il passe à l’échelle pour un coût quasi nul.

Où ils sont utilisés

  • Deux MOOCs sur FUN-MOOC, l’instance nationale Open edX
  • Sept MOOCs sur edX.org dans le certificat professionnel C Programming with Linux
  • Les parcours Python et Open Source Masterclass
  • En présentiel, en mode hybride, à l’Institut Villebon — Georges Charpak

Démonstrations et publications

  • ACM Learning@Scale 2017, MIT, Cambridge — Codecast: an innovative technology to facilitate teaching and learning computer programming in a C language online course. ACM DL
  • ACM SIGCSE 2018, Baltimore — atelier Coding tutorials for any programming language. ACM DL
  • Open edX Conference 2018, Université de Montréal — démonstration
  • ACM Learning@Scale 2018, Londres — WebLinux: a scalable in-browser and client-side Linux and IDE. ACM DL
  • ACM Learning@Scale 2019, Chicago — Teaching C programming interactively at scale using Taskgrader
  • ACM Learning@Scale 2022Teaching and learning programming with Linux using in-browser client-side web technologies

Contributeurs

Rémi Sharrock (Télécom Paris) · Mathias Hiron (France-IOI) · Sébastien Carlier (Epixode) · Michel Blockelet (France-IOI) · Elie Roux (France-IOI) · Lawrence Angrave (University of Illinois at Urbana-Champaign) · Ella Hamonic · Baptiste Gaultier (IMT Atlantique) · Petra Bonfert-Taylor (Dartmouth College) · Michael Goudzwaard (Dartmouth College) · Chris Miller (Dartmouth College) · Gérard Memmi (Télécom Paris)

Un projet de l’IMT, de Télécom Paris et de France-IOI, avec le soutien de la fondation Mines-Télécom.