Le développement de l'intelligence artificielle (IA) transforme profondément l'enseignement du codage, avec une évolution marquée vers des compétences de haut niveau au détriment de la simple syntaxe. Les outils d'IA générative, déjà omniprésents dans le secteur du développement logiciel, s'intègrent également dans les programmes académiques. Les étudiants adoptent activement ces technologies pour comprendre des concepts complexes, résoudre des problèmes et même apprendre à coder. Les éducateurs, quant à eux, cherchent à équilibrer l'utilisation de ces outils tout en assurant l'acquisition des fondamentaux de l'informatique. Cela se traduit par un changement de paradigme dans l'enseignement, mettant moins l'accent sur la syntaxe et davantage sur la résolution de problèmes et la collaboration en équipe. 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[...[/cycle de vie]
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.