Cependant, les éducateurs restent prudents face aux défis que pose l'utilisation de l'IA générative, notamment en ce qui concerne la dépendance excessive, les droits d'auteur et les préjugés. Ils encouragent les étudiants à maintenir un esprit critique et à intégrer une réflexion éthique dans leur travail. Malgré ces défis, l'adaptation à cette évolution technologique est perçue comme essentielle pour préparer les étudiants aux exigences changeantes du monde professionnel. En travaillant ensemble et en s'adaptant aux nouvelles réalités de l'IA générative, éducateurs et étudiants peuvent mieux préparer la prochaine génération d'ingénieurs logiciels aux défis de l'industrie.
L'intégration croissante des systèmes de contrôle par l'intelligence artificielle dans le processus de développement logiciel offre une solution attractive pour les développeurs surchargés. Ces outils automatisent les tâches répétitives, libérant ainsi du temps pour se concentrer sur les aspects plus créatifs du travail. Cependant, cette dépendance à l'IA soulève des préoccupations quant à la perte de compréhension des fondamentaux de la programmation.
Les systèmes de contrôle alimentés par des algorithmes sophistiqués et des modèles d'apprentissage automatique, sont devenus omniprésents dans divers secteurs, de la technologie à la finance. Bien que ces outils promettent une amélioration de la productivité et de la précision, leur utilisation généralisée soulève des questions sur la pertinence et la qualité des résultats générés.
Les avantages de ses systèmes sont indéniables : une augmentation de la productivité, une amélioration de la précision et une réduction de la charge de travail répétitive. Cependant, leur utilisation soulève des préoccupations quant à la dépendance excessive et à la perte de compétences fondamentales en programmation. Toutefois, il est crucial de chercher un équilibre entre l'automatisation des tâches et le maintien d'une compréhension profonde des principes de base de la programmation.
Les étudiants en informatique adoptent la technologie et utilisent l'IA générative pour les aider à comprendre des concepts complexes, à résumer des articles de recherche compliqués, à réfléchir à des moyens de résoudre un problème, à proposer de nouvelles orientations de recherche et, bien sûr, à apprendre à coder. « Les étudiants sont des adeptes de la première heure et testent activement ces outils », explique Johnny Chang, assistant à l'université de Stanford, qui prépare un master en informatique. Il a également fondé la conférence AI x Education en 2023, un rassemblement virtuel d'étudiants et d'éducateurs pour discuter de l'impact de l'IA sur l'éducation.
Pour ne pas être en reste, les éducateurs expérimentent également l'IA générative. Mais ils sont aux prises avec des techniques permettant d'adopter la technologie tout en veillant à ce que les étudiants apprennent les fondements de l'informatique. « C'est un exercice d'équilibre difficile, explique Ooi Wei Tsang, professeur associé à l'école d'informatique de l'université nationale de Singapour. Étant donné que les grands modèles de langage évoluent rapidement, nous sommes encore en train d'apprendre comment procéder. »
Les bases et les compétences elles-mêmes évoluent. La plupart des cours d'introduction à l'informatique se concentrent sur la syntaxe du code et l'exécution des programmes, et si savoir lire et écrire du code reste essentiel, les tests et le débogage - qui ne font généralement pas partie du programme - doivent désormais être enseignés de manière plus explicite. « Nous constatons une légère augmentation de cette compétence, lorsque les étudiants reçoivent des extraits de code de l'IA générative dont ils doivent tester l'exactitude », explique Jeanna Matthews, professeur d'informatique à l'université Clarkson de Potsdam, dans l'État de New York.
La décomposition des problèmes est une autre compétence essentielle. « Il s'agit d'une compétence à acquérir très tôt, car il faut décomposer un gros problème en éléments plus petits qu'un LLM peut résoudre », explique Leo Porter, professeur associé d'informatique à l'université de Californie à San Diego. «Il est difficile de savoir où cela est enseigné dans le cursus - peut-être dans un cours d'algorithmique ou de génie logiciel, mais il s'agit de cours avancés. Désormais, cela devient une priorité dans les cours d'introduction ».
« Étant donné que les grands modèles de langage évoluent rapidement, nous sommes encore en train d'apprendre à le faire »,Ooi wei tsang, Université nationale de Singapour. En conséquence, les éducateurs modifient leurs stratégies d'enseignement. « J'avais l'habitude de me concentrer sur le fait que les étudiants écrivaient du code qu'ils soumettaient, puis je lançais des tests sur le code pour déterminer leur note », explique Daniel Zingaro, professeur agrégé d'informatique à l'université de Toronto Mississauga. « C'est une vision tellement étroite de ce que signifie être un ingénieur logiciel, et j'ai eu l'impression qu'avec l'IA générative, j'ai réussi à surmonter cette vision restrictive ».
Zingaro, qui a coécrit avec Porter un livre sur la programmation Python assistée par l'IA, demande désormais à ses étudiants de travailler en groupes et de soumettre une vidéo expliquant le fonctionnement de leur code. Grâce à ces visites, il se fait une idée de la manière dont les étudiants utilisent l'IA pour générer du code, des difficultés qu'ils rencontrent et de la façon dont ils abordent la conception, les tests et le travail d'équipe.
« C'est pour moi l'occasion d'évaluer leur processus d'apprentissage de l'ensemble du [cycle de vie] du développement logiciel, et pas seulement du code », explique Zingaro. « J'ai l'impression que mes cours se sont ouverts davantage et qu'ils sont beaucoup plus vastes qu'auparavant. Je peux faire travailler les étudiants sur des projets plus importants et plus avancés.
Ooi partage ce sentiment et fait remarquer que les outils d'IA générative « nous permettront de consacrer plus de temps à l'enseignement d'une réflexion de haut niveau - par exemple, comment concevoir un logiciel, quel est le bon problème à résoudre et quelles sont les solutions ». Les étudiants peuvent consacrer plus de temps à l'optimisation, aux questions éthiques et à la convivialité d'un système plutôt que de se concentrer sur la syntaxe du code.
Les éducateurs face aux hallucinations des LLM : enseigner à être sceptique dans un monde de textes générés par l'IA
Les éducateurs sont prudents, compte tenu de la tendance à l'hallucination du LLM. « Nous devons apprendre aux étudiants à être sceptiques à l'égard des résultats et à s'approprier la vérification et la validation de ces derniers », explique Matthews.
Il ajoute que l'IA générative « peut court-circuiter le processus d'apprentissage des étudiants qui s'y fient trop ». Chang reconnaît que cette dépendance excessive peut être un piège et conseille à ses camarades étudiants d'explorer eux-mêmes les solutions possibles aux problèmes afin de ne pas perdre cette pensée critique ou ce processus d'apprentissage efficace. « Nous devrions faire de l'IA un copilote - et non le pilote automatique - de l'apprentissage », déclare-t-il.
ChatGPT a impressionné le monde par la profondeur de ses connaissances et la fluidité de ses réponses, mais un problème a entravé son utilité : Il n'arrête pas d'halluciner. Oui, les grands modèles de langage (LLM) hallucinent, un concept popularisé par les chercheurs en IA de Google en 2018. Dans ce contexte, l'hallucination fait référence à des erreurs dans le texte généré qui sont sémantiquement ou syntaxiquement plausibles, mais qui sont en fait incorrectes ou absurdes. En bref, vous ne pouvez pas faire confiance à ce que la machine vous dit.
C'est pourquoi, même si le Codex d'OpenAI ou le Copilot de Github peuvent écrire du code, un programmeur expérimenté doit toujours examiner le résultat - l'approuver, le corriger ou le rejeter avant de le laisser se glisser dans une base de code où il pourrait faire des ravages. Les enseignants du secondaire apprennent la même chose. Un rapport de lecture ou un essai historique rédigé par ChatGPT peut être facile à lire, mais peut facilement contenir des « faits » erronés que l'élève était trop paresseux pour déceler.
Les hallucinations constituent un problème sérieux. Bill Gates a imaginé que ChatGPT ou d'autres modèles linguistiques de grande taille pourraient un jour fournir des conseils médicaux aux personnes qui n'ont pas accès à un médecin. Mais on ne peut pas se fier aux conseils d'une machine sujette aux hallucinations.
OpenAI s'efforce de remédier aux hallucinations de ChatGPT
Ilya Sutskever, directeur scientifique d'OpenAI et l'un des créateurs de ChatGPT, se dit convaincu que le problème disparaîtra avec le temps, à mesure que les grands modèles de langage apprendront à ancrer leurs réponses dans la réalité. L'OpenAI a mis au point une technique permettant de modeler le comportement de ses modèles en utilisant ce que l'on appelle l'apprentissage par renforcement avec retour d'information humain (RLHF).
Le RLHF a été développé par OpenAI et l'équipe DeepMind de Google en 2017 comme un moyen d'améliorer l'apprentissage par renforcement lorsqu'une tâche implique des objectifs complexes ou mal définis, ce qui rend difficile la conception d'une fonction de récompense appropriée. Le fait qu'un humain vérifie périodiquement les résultats du système d'apprentissage par renforcement et donne un retour d'information permet aux systèmes d'apprentissage par renforcement d'apprendre même lorsque la fonction de récompense est cachée.
L'IA Générative : une révolution discutable dans l'enseignement de l'informatique
Selon de nombreux experts, l'intelligence artificielle est sur le point de transformer l'éducation telle que nous la connaissons. Les opinions divergent quant à la portée de ces changements. Certains, comme le professeur Stuart Russell, craignent que l'utilisation de l'intelligence artificielle ne conduise à une marginalisation des enseignants humains. D'autres, en revanche, soutiennent que l'intelligence artificielle restera un outil complémentaire aux méthodes déjà utilisées par les enseignants.
Noah Gift, un développeur de logiciels expérimenté, a récemment introduit une nouveauté dans son cours de codage à l'université Duke : l'utilisation de Rust, un langage de programmation plus avancé que Python, traditionnellement utilisé en début d'apprentissage. Cette transition s'est accompagnée de l'intégration de Copilot, un outil d'IA développé par GitHub, qui offre une assistance à l'écriture de code en proposant des suggestions en temps réel.
L'utilisation de Copilot par Gift et d'autres professionnels met en lumière une tendance émergente dans le domaine du développement logiciel. Ces outils transforment la façon dont les programmeurs travaillent en leur offrant des suggestions de code adaptées au contexte, tout en réduisant le temps consacré à la recherche de solutions en ligne. L'avènement de Copilot et de ses homologues remet en question les approches traditionnelles du développement logiciel en fournissant une assistance automatisée et personnalisée aux programmeurs. Cependant, cela suscite également des interrogations quant à l'impact de ces outils sur la créativité, la qualité et la propriété intellectuelle du code généré.
L'intégration de l'intelligence artificielle générative dans l'enseignement du codage suscite des préoccupations profondes et légitimes. L'enthousiasme pour ces nouveaux outils ne doit pas faire oublier les risques et les défis qu'ils présentent. L'un des principaux problèmes réside dans la substitution des connaissances de base par une dépendance excessive à ces technologies. En effet, il est à craindre que l'utilisation généralisée des copilotes IA ne crée une génération de codeurs qui écrivent du code sans vraiment le comprendre. Cette tendance peut entraîner une détérioration de la compréhension des fondamentaux de la programmation, compromettant ainsi la qualité et la stabilité des applications développées.
De plus, intégrer des considérations éthiques et politiques dans ces outils comporte des risques significatifs. Si les modèles d'IA ne sont pas correctement formés ou utilisés de manière inappropriée, cela pourrait aboutir à la production de code de qualité médiocre, voire inutilisable. Dans un tel cas de figure, l'IA deviendrait davantage une charge qu'un véritable outil d'assistance à la programmation. Il est essentiel de reconnaître que les systèmes d'IA générative ne sont pas immunisés contre les erreurs et les biais. Une confiance aveugle dans les résultats produits par ces modèles peut conduire à des résultats incohérents, voire dangereux. Par conséquent, il est impératif d'adopter une approche prudente et réfléchie dans l'utilisation de ces technologies, en équilibrant l'utilisation des outils avec le développement de compétences fondamentales en programmation.
Le passage vers l'intégration de l'intelligence artificielle générative dans l'enseignement du codage représente une avancée significative dans le domaine de l'éducation en informatique. Cependant, il est crucial d'examiner attentivement les implications et les défis associés à cette évolution. D'abord, il est indéniable que l'utilisation de l'IA générative peut offrir aux étudiants des outils puissants pour comprendre des concepts complexes, résoudre des problèmes et acquérir des compétences en codage. Cette approche peut favoriser l'innovation, la créativité et la collaboration entre les étudiants, préparant ainsi la prochaine génération d'ingénieurs logiciels aux exigences du monde professionnel en constante évolution.
Cependant, il est également important de reconnaître les risques potentiels associés à l'utilisation de l'IA générative en éducation. La dépendance excessive à ces outils peut entraîner une diminution de la pensée critique et de la capacité d'analyse des étudiants. De plus, il existe des préoccupations concernant les droits d'auteur et les préjugés intégrés dans les modèles d'IA, ce qui soulève des questions éthiques importantes.
Les éducateurs doivent donc jouer un rôle essentiel dans la mise en œuvre responsable de ces technologies. Ils doivent encourager les étudiants à maintenir un esprit critique, à questionner les résultats générés par l'IA et à intégrer une réflexion éthique dans leur travail. De plus, les programmes éducatifs doivent être conçus de manière à équilibrer l'utilisation de l'IA générative avec l'enseignement des fondamentaux de l'informatique, y compris la syntaxe du codage.
En fin de compte, l'adaptation à l'IA générative représente une opportunité passionnante pour l'éducation en informatique, mais elle nécessite une approche prudente et réfléchie. En travaillant ensemble, éducateurs et étudiants peuvent exploiter le plein potentiel de ces technologies tout en atténuant les risques associés.
Sources : Opinions of IT professionals, Tyler Harz's blog post, Will Douglas's blog post
Et vous ?
Quels peuvent être les impacts de l'introduction de l'IA générative dans l'enseignement du codage sur le développement des compétences des étudiants en informatique ?
Quels sont les avantages et les inconvénients de l'utilisation de l'IA générative dans l'enseignement du codage, en particulier en ce qui concerne la dépendance excessive des étudiants à ces outils ?
Quelles sont les implications à long terme de l'adoption généralisée de l'IA générative dans l'enseignement du codage sur la formation et la préparation des étudiants aux exigences du marché du travail dans le domaine de l'informatique ?
Voir aussi :
L'IA est susceptible de sonner le glas de l'école traditionnelle, d'après un expert de la filière et comme le montre l'utilisation d'un chatbot comme professeur d'informatique à Harvard
« Les diplômes universitaires perdront en importance au fur et à mesure de la montée en puissance de l'IA », d'après le vice-président de Linkedin : les études deviendront-elles inutiles ?
Microsoft veut renforcer son Plan IA en France avec 9 écoles supplémentaires, après la première créée en mars dernier