Logo Zéphyrnet

Les assistants de programmation IA signifient repenser l'enseignement de l'informatique

Date :

Alors que les implications juridiques et éthiques des modèles d'IA d'assistance comme le copilote de Github continuent d'être résolues, les informaticiens continuent de trouver des utilisations pour les grands modèles de langage et exhortent les éducateurs à s'adapter.

Brett A. Becker, professeur adjoint à l'University College Dublin en Irlande, a fourni Le registre avec des copies de prépublication de deux documents de recherche explorant les risques et les opportunités pédagogiques des outils d'IA pour générer du code de programmation.

Les articles ont été acceptés au Symposium technique SIGCSE 2023 sur l'enseignement de l'informatique, qui se tiendra du 15 au 18 mars à Toronto, Canada.

En juin, GitHub Copilot, un outil d'apprentissage automatique qui suggère automatiquement du code de programmation en réponse à des invites contextuelles, émergé à partir d'un aperçu technique d'un an, tout comme les inquiétudes concernant la façon dont son modèle OpenAI Codex a été formé et les implications des modèles d'IA pour la société se sont fusionnées en opposition ciblée.

Au-delà des problèmes non résolus de droits d'auteur et de licences logicielles, d'autres informaticiens, tels que Emery Berger, professeur d'informatique à l'Université du Massachusetts à Amherst, ont soulevé l'alarme sur la nécessité de réévaluer la pédagogie de l'informatique à la lumière de la prolifération et de l'amélioration attendues des outils d'assistance automatisés.

Dans "La programmation est difficile - ou du moins elle l'était : opportunités éducatives et défis de la génération de code IA” [PDF], Becker et co-auteurs Paul Denny (Université d'Auckland, Australie), James Finnie-Ansley (Université d'Auckland), Andrew Luxton-Reilly (Université d'Auckland), James Prather (Abilene Christian University, USA), et Eddie Antonio Santos (University College Dublin) soutiennent que la communauté éducative doit faire face aux opportunités et aux défis immédiats présentés par les outils de génération de code basés sur l'IA.

Ils disent qu'il est prudent de supposer que les étudiants en informatique utilisent déjà ces outils pour effectuer des travaux de programmation. Par conséquent, les politiques et les pratiques qui reflètent la nouvelle réalité doivent être élaborées le plus tôt possible.

"Notre point de vue est que ces outils sont susceptibles de changer la façon dont la programmation est enseignée et apprise - potentiellement de manière significative - à court terme, et qu'ils présentent de multiples opportunités et défis qui justifient une discussion immédiate alors que nous nous adaptons à l'utilisation de ces outils qui prolifèrent", déclarent les chercheurs dans leur article.

Ces outils devraient changer la façon dont la programmation est enseignée et apprise - potentiellement de manière significative - à court terme

Le document examine plusieurs des modèles de programmation d'assistance actuellement disponibles, notamment GitHub Copilot, DeepMind AlphaCode et Amazon CodeWhisperer, ainsi que des outils moins connus tels que Kite, Tabnine, Code4Me et FauxPilot.

Observant que ces outils sont modérément compétitifs par rapport aux programmeurs humains - par exemple, AlphaCode se classe parmi les 54 % des 5,000 XNUMX développeurs les plus performants participant aux concours de programmation Codeforces - les boffins affirment que les outils d'IA peuvent aider les étudiants de différentes manières. Cela inclut la génération de solutions exemplaires pour aider les étudiants à vérifier leur travail, la génération de variantes de solutions pour élargir la compréhension des problèmes par les étudiants et l'amélioration de la qualité et du style du code des étudiants.

Les auteurs voient également des avantages pour les éducateurs, qui pourraient utiliser des outils d'assistance pour générer de meilleurs exercices pour les étudiants, pour générer des explications de code et pour fournir aux étudiants des exemples plus illustratifs de constructions de programmation.

En plus des opportunités potentielles, il y a des défis que les éducateurs doivent relever. Ces outils de résolution de problèmes et d'émission de code pourraient aider les élèves à tricher plus facilement dans les devoirs ; la nature privée de l'utilisation des outils d'IA réduit en partie le risque de faire appel à un tiers pour faire ses devoirs.

Les chercheurs observent également que la façon dont nous pensons à l'attribution - au cœur de la définition du plagiat - peut devoir être révisée car les options d'assistance peuvent fournir divers degrés d'aide, ce qui rend difficile la distinction entre l'assistance autorisée et l'assistance excessive.

"Dans d'autres contextes, nous utilisons des correcteurs orthographiques, des outils de vérification grammaticale qui suggèrent des suggestions de reformulation, de texte prédictif et de réponse automatique par e-mail - tous générés par la machine", nous rappelle le document. « Dans un contexte de programmation, la plupart des environnements de développement prennent en charge la complétion de code qui suggère du code généré par la machine.

Nous utilisons des correcteurs orthographiques, des outils de vérification grammaticale qui suggèrent des reformulations…

"La distinction entre différentes formes de suggestions de machine peut être difficile pour les universitaires, et il n'est pas clair si nous pouvons raisonnablement nous attendre à ce que les étudiants en programmation d'introduction qui ne sont pas familiers avec le support d'outils fassent la distinction entre différentes formes de suggestions de code générées par la machine."

Les auteurs disent que cela soulève une question philosophique clé : « Quelle quantité de contenu peut être générée par une machine tout en attribuant la propriété intellectuelle à un humain ?

Ils soulignent également comment les modèles d'IA ne répondent pas aux exigences d'attribution énoncées dans les licences logicielles et ne répondent pas aux préoccupations éthiques et environnementales concernant l'énergie utilisée pour les créer.

Les avantages et les inconvénients des outils d'IA dans l'éducation doivent être abordés, concluent les chercheurs, sinon les éducateurs perdront la possibilité d'influencer l'évolution de cette technologie.

Et ils ont peu de doute qu'il est là pour rester. Le deuxième article, "Utilisation de grands modèles de langage pour améliorer les messages d'erreur de programmation», [PDF] offre un exemple de la valeur potentielle de grands modèles de langage comme le Codex d'Open AI, la base de Copilot.

Les auteurs Juho Leinonen (Aalto University), Arto Hellas (Aalto University), Sami Sarsa (Aalto University), Brent Reeves (Abilene Christian University), Paul Denny (University of Auckland), James Prather (Abilene Christian University) et Becker ont postulé Codex aux messages d'erreur informatiques généralement cryptiques et a constaté que le modèle d'IA peut rendre les erreurs plus faciles à comprendre, en offrant une description en anglais simple - ce qui profite à la fois aux enseignants et aux étudiants.

"De grands modèles de langage peuvent être utilisés pour créer des améliorations utiles et adaptées aux novices des messages d'erreur de programmation qui dépassent parfois les messages d'erreur de programmation d'origine en termes d'interprétabilité et d'action", déclarent les boffins dans leur article.

Par exemple, Python peut émettre le message d'erreur : "Erreur de syntaxe : EOF inattendu lors de l'analyse." Codex, compte tenu du contexte du code impliqué et de l'erreur, suggérerait cette description pour aider le développeur : « L'erreur est causée parce que le bloc de code attend une autre ligne de code après les deux-points. Pour résoudre le problème, j'ajouterais une autre ligne de code après les deux-points. »

Cependant, les résultats de cette étude en disent plus sur la promesse que sur l'utilité actuelle. Les chercheurs ont introduit le code Python cassé et les messages d'erreur correspondants dans le modèle Codex pour générer des explications sur les problèmes, et ont évalué ces descriptions pour : la compréhensibilité ; contenu inutile ; avoir une explication; avoir une explication correcte; avoir un correctif; l'exactitude de la correction ; et la valeur ajoutée du code d'origine.

Les résultats varient considérablement d'une catégorie à l'autre. La plupart étaient compréhensibles et contenaient une explication, mais le modèle offrait des explications correctes pour certaines erreurs avec beaucoup plus de succès que d'autres. Par exemple, l'erreur "Impossible d'attribuer un appel de fonction" a été expliquée correctement 83 % du temps, tandis que "EOF inattendu] lors de l'analyse" n'a été expliqué correctement que 11 % du temps. Et le correctif global moyen des messages d'erreur n'était correct que 33 % du temps.

"Dans l'ensemble, les évaluateurs ont estimé que le contenu créé par le Codex, c'est-à-dire l'explication du message d'erreur et le correctif proposé, constituait une amélioration par rapport au message d'erreur d'origine dans un peu plus de la moitié des cas (54 %)", indique le document.

Les chercheurs concluent que même si les explications des messages d'erreur de programmation et les correctifs suggérés générés par les grands modèles de langage ne sont pas encore prêts pour une utilisation en production et peuvent induire les étudiants en erreur, ils pensent que les modèles d'IA pourraient devenir aptes à traiter les erreurs de code avec des travaux supplémentaires.

Attendez-vous à ce que ce travail occupe l'industrie technologique, les universités, le gouvernement et d'autres parties intéressées pour les années à venir. ®

spot_img

AVC

VC Café

Dernières informations

spot_img