Imaginez un instant que vous êtes un instructeur de programmation qui a passé de nombreuses heures à créer des devoirs créatifs pour présenter à vos élèves le monde de la programmation. Un jour, un collègue vous parle d’un outil d’IA appelé ChatGPT. À votre grande surprise (et alarme), lorsque vous lui confiez vos devoirs, il résout la plupart d’entre eux parfaitement, peut-être même mieux que vous ! Vous réalisez qu’à présent, les outils d’IA comme ChatGPT et GitHub Copilot sont suffisamment performants pour résoudre tous les problèmes de devoirs de votre classe et suffisamment abordables pour que n’importe quel élève puisse les utiliser. Comment devriez-vous enseigner aux élèves de vos classes sachant que ces outils d’IA sont largement disponibles ?
Je suis Sam Lau de l’UC San Diego et mon doctorat. conseiller (et bientôt collègue du corps professoral) Philippe Guo et je suis présentation d’un article de recherche à la conférence International Computing Education Research (ICER) sur ce même sujet. Nous voulions savoir :
Comment les professeurs d’informatique envisagent-ils d’adapter leurs cours alors que de plus en plus d’étudiants commencent à utiliser des outils d’aide au codage de l’IA tels que ChatGPT et GitHub Copilot ?
Pour répondre à cette question, nous avons rassemblé un échantillon diversifié de points de vue en interrogeant 20 professeurs d’introduction à la programmation dans des universités de 9 pays (Australie, Botswana, Canada, Chili, Chine, Rwanda, Espagne, Suisse, États-Unis) couvrant les 6 continents peuplés. À notre connaissance, notre article est la première étude empirique à recueillir les points de vue des instructeurs sur ces outils de codage d’IA auxquels de plus en plus d’étudiants auront probablement accès à l’avenir.
Voici un résumé de nos conclusions :

Plans à court terme : les instructeurs veulent empêcher les étudiants de tricher
Même si nous n’avons pas spécifiquement posé de questions sur la tricherie lors de nos entretiens, tous les instructeurs que nous avons interrogés l’ont mentionné comme la principale raison de modifier leurs cours à court terme. Leur raisonnement était le suivant : si les étudiants pouvaient facilement obtenir des réponses à leurs questions à l’aide d’outils d’IA, ils n’auraient pas besoin de réfléchir profondément au matériel et n’apprendraient donc pas autant qu’ils le devraient. Bien sûr, avoir un corrigé n’est pas un problème nouveau pour les instructeurs, qui ont toujours eu peur que les étudiants se copient les uns les autres ou se copient des ressources en ligne comme Stack Overflow. Mais les outils d’IA comme ChatGPT génèrent du code avec de légères variations entre les réponses, ce qui est suffisant pour tromper la plupart des détecteurs de plagiat dont les instructeurs disposent aujourd’hui.
Le problème le plus profond pour les instructeurs est que si les outils d’IA peuvent facilement résoudre les problèmes des cours d’introduction, les étudiants qui apprennent la programmation pour la première fois pourraient être amenés à croire que les outils d’IA peuvent résoudre correctement n’importe quelle tâche de programmation, ce qui peut les amener à devenir trop dépendants. sur eux. Un instructeur a décrit cela comme étant non seulement de la triche, mais aussi une « tricherie grave », car les outils d’IA génèrent du code incorrect de manière subtile que les étudiants pourraient ne pas être en mesure de comprendre.
Pour décourager les étudiants de devenir trop dépendants des outils d’IA, les instructeurs ont utilisé une combinaison de stratégies, notamment en organisant des examens en classe et sur papier, et en faisant en sorte que les examens comptent davantage dans les notes finales des étudiants. Certains instructeurs ont également explicitement interdit les outils d’IA en classe ou ont exposé les étudiants aux limites des outils d’IA. Par exemple, un instructeur a copié d’anciennes questions de devoirs dans ChatGPT sous forme de démonstration en direct lors d’un cours et a demandé aux étudiants de critiquer les forces et les faiblesses du code généré par l’IA. Cela dit, les instructeurs ont considéré ces stratégies comme des correctifs à court terme ; l’apparition soudaine de ChatGPT fin 2022 a obligé les instructeurs à procéder à des ajustements avant le début de leurs cours en 2023, date à laquelle nous les avons interrogés pour notre étude.
Plans à plus long terme (partie 1) : idées pour résister aux outils d’IA
Dans la partie suivante de notre étude, les instructeurs ont réfléchi à de nombreuses idées sur la manière d’aborder les outils d’IA à plus long terme. Nous divisons ces idées en deux catégories principales : les idées qui résistent aux outils d’IA et les idées qui les adoptent. Notez que la plupart des instructeurs que nous avons interviewés n’étaient pas complètement d’un côté ou de l’autre : ils partageaient un mélange d’idées des deux catégories. Cela dit, commençons par expliquer pourquoi certains instructeurs ont parlé de résister aux outils d’IA, même à long terme.
La raison la plus courante de vouloir résister aux outils d’IA était la crainte que les étudiants n’apprennent pas les bases de la programmation. Plusieurs instructeurs ont fait une analogie avec l’utilisation d’une calculatrice en cours de mathématiques : utiliser des outils d’IA pourrait revenir, selon les mots d’un des participants à notre entretien, à « donner une calculatrice aux enfants et ils pourront jouer avec une calculatrice, mais s’ils ne le font pas, savent ce que signifie un point décimal, qu’apprennent-ils réellement ou qu’en font-ils ? Ils ne savent peut-être pas comment brancher le bon élément, ou ils ne savent pas comment interpréter la réponse. D’autres ont mentionné des objections éthiques à l’IA. Par exemple, un instructeur s’inquiétait des récentes poursuites judiciaires concernant l’utilisation par Copilot de code open source comme données de formation sans attribution. D’autres ont partagé leurs inquiétudes concernant le biais des données de formation pour les outils d’IA.
Pour résister pratiquement aux outils d’IA, les instructeurs ont proposé des idées pour concevoir des devoirs « à l’épreuve de l’IA », par exemple en utilisant une bibliothèque personnalisée pour leur cours. De plus, étant donné que les outils d’IA sont généralement formés sur des données centrées sur les États-Unis et l’anglais, les instructeurs d’autres pays ont pensé qu’ils pourraient rendre leurs tâches plus difficiles à résoudre pour l’IA en incluant le contexte culturel et linguistique local (par exemple l’argot) de leur pays.
Les instructeurs ont également réfléchi à des idées d’évaluations à l’épreuve de l’IA. Une suggestion courante consistait à recourir aux examens papier en personne, car les surveillants pourraient mieux s’assurer que les étudiants n’utilisent que du papier et un crayon. Les instructeurs ont également mentionné qu’ils pourraient essayer des examens oraux au cours desquels les étudiants parleraient en personne à un membre du personnel du cours ou enregistreraient une vidéo expliquant le fonctionnement de leur code. Bien que ces idées aient d’abord été suggérées pour contribuer à maintenir le sens des évaluations, les enseignants ont également souligné que ces évaluations pourraient en réalité améliorer la pédagogie en donnant aux étudiants une raison de réfléchir plus profondément à la raison pour laquelle leur code fonctionne plutôt que d’essayer simplement d’obtenir un code qui produit une réponse correcte.
Plans à plus long terme (partie 2) : idées pour adopter les outils d’IA
Un autre groupe d’idées cherchait à intégrer les outils d’IA dans les cours d’introduction à la programmation. Les instructeurs que nous avons interrogés ont évoqué plusieurs raisons de vouloir cet avenir. Le plus souvent, les instructeurs pensaient que les outils de codage de l’IA deviendraient la norme pour les programmeurs ; Comme « il est inévitable » que les professionnels utilisent des outils d’IA au travail, les instructeurs voulaient préparer les étudiants à leurs futurs emplois. Dans le même ordre d’idées, certains enseignants pensaient que l’adoption des outils d’IA pourrait rendre leurs établissements plus compétitifs en devançant d’autres universités qui hésitaient davantage à le faire.
Les instructeurs ont également vu les avantages potentiels de l’utilisation des outils d’IA en matière d’apprentissage. Par exemple, si ces outils font en sorte que les étudiants n’aient pas besoin de passer autant de temps à se débattre avec la syntaxe de programmation dans les cours d’introduction, les étudiants pourraient passer plus de temps à apprendre comment améliorer la conception et l’ingénierie des programmes. Un instructeur a fait une analogie avec les compilateurs : « Nous n’avons plus besoin de regarder les 1 et les 0, et personne ne dit jamais : « Wow, quel gros problème, nous n’écrivons plus de langage machine ! Les compilateurs sont déjà comme l’IA dans la mesure où ils peuvent surpasser les meilleurs humains dans la génération de code. Et contrairement aux craintes selon lesquelles les outils d’IA pourraient nuire à l’équité et à l’accès, certains instructeurs pensaient qu’ils pourraient rendre la programmation moins intimidante et donc plus accessible en permettant aux étudiants de commencer à coder en langage naturel.
Les instructeurs ont également découvert de nombreuses façons potentielles d’utiliser eux-mêmes les outils d’IA. Par exemple, beaucoup dispensaient des cours avec plus d’une centaine d’étudiants, où il serait trop long de donner un feedback individuel à chaque étudiant. Les professeurs pensaient que les outils d’IA entraînés sur les données de leur classe pourraient potentiellement apporter une aide personnalisée à chaque élève, par exemple en expliquant pourquoi un morceau de code ne fonctionne pas. Les instructeurs pensaient également que les outils d’IA pourraient aider à générer de petits problèmes pratiques pour leurs étudiants.
Pour préparer les étudiants à un avenir où les outils d’IA seront répandus, les enseignants ont mentionné qu’ils pourraient consacrer plus de temps en classe à la lecture et à la critique du code plutôt qu’à l’écriture de code à partir de zéro. En effet, ces compétences pourraient être utiles sur le lieu de travail, même aujourd’hui, où les programmeurs passent beaucoup de temps à lire et à réviser le code des autres. Les instructeurs pensaient également que les outils d’IA leur donnaient la possibilité de donner des devoirs plus ouverts, et même de demander aux étudiants de collaborer directement avec l’IA sur leur travail, où un devoir demanderait aux étudiants de générer du code à l’aide de l’IA, puis de répéter le code jusqu’à ce qu’il soit finalisé. à la fois correct et efficace.
Réflexions
Les résultats de notre étude capturent un rare instantané au début de 2023, alors que les instructeurs d’informatique commencent tout juste à se forger une opinion sur ce phénomène en croissance rapide, mais n’ont pas encore convergé vers un consensus sur les meilleures pratiques. En nous inspirant de ces résultats, nous avons synthétisé un ensemble diversifié de questions de recherche ouvertes sur la manière de développer, de déployer et d’évaluer des outils de codage d’IA pour l’enseignement informatique. Par exemple, quels modèles mentaux les novices forment-ils à la fois sur le code généré par l’IA et sur la manière dont l’IA fonctionne pour produire ce code ? Et comment ces modèles mentaux novices se comparent-ils aux modèles mentaux de génération de code d’IA des experts ? (La section 7 de notre article contient plus d’exemples.)
Nous espérons que ces résultats, ainsi que nos questions de recherche ouvertes, pourront stimuler les conversations sur la manière d’utiliser ces outils de manière efficace, équitable et éthique.
Consultez notre article ici et envoyez-nous un e-mail si vous souhaitez discuter de tout ce qui s’y rapporte !
De « l’interdire jusqu’à ce que nous le comprenions » à « La résistance est futile » : comment les professeurs de programmation universitaire prévoient de s’adapter à mesure que davantage d’étudiants utilisent des outils de génération et d’explication de code d’IA tels que ChatGPT et GitHub Copilot. Sam Lau et Philip J. Guo. Conférence ACM sur la recherche internationale sur l’enseignement informatique (ICER), août 2023.