ChattyG passe un examen de programmation universitaire C/C++ de première année

ChattyG passe un examen de programmation universitaire C/C++ de première année

ChattyG passe un examen de programmation universitaire C/C++ de première année, PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

ChatGPT a été mis à l'épreuve via une série de tâches de programmation C/C++ de première année et il a réussi – mais pas avec les honneurs.

Selon une équipe de recherche croate, même si les étudiants de première année peuvent avoir des difficultés avec certains devoirs, Les resultats [PDF] a montré que ChatGPT atteignait des objectifs de compétence compris entre la moyenne et celle des programmeurs expérimentés. Et naturellement, comme pour tous les examens universitaires, les résultats peuvent être déterminés par la manière dont les questions sont formulées.

L'équipe d'University North a conçu un ensemble de défis de programmation pour les étudiants de première année, d'abord rédigés en anglais, puis plus tard, pour voir si les nuances multilingues affecteraient les résultats, en croate. Ils voulaient voir non seulement comment ChatGPT code, mais aussi s'il pouvait s'adapter à différentes langues.

Le premier quiz portait sur une tâche de programmation de base : calculer le plus grand commun diviseur (PGCD) de deux nombres. Au début, le robot a montré certaines limites dans la façon dont il a décidé de résoudre le problème, les chercheurs affirmant qu'il manquait de la finesse attendue d'un programmeur chevronné. Mais comme tout élève, il apprend et à travers des essais ultérieurs, notamment dans la version croate, il a démontré quelques améliorations, faisant preuve d'une capacité d'adaptation notable.

Par exemple, dans une tâche particulière, il a été mis au défi de programmer une fonction statistique de base en C++. Initialement, il a fait un oubli, en utilisant une fonction qui ne produisait pas l'écart type « corrigé » comme requis. Mais lorsque la même tâche a été présentée en croate, le chatbot a non seulement reconnu son erreur précédente, mais a également élaboré une solution affinée.

Les chercheurs notent que cette adaptabilité reflète le parcours d'un étudiant de première année : commençant par des erreurs, mais démontrant une capacité à apprendre et à améliorer ses compétences grâce à une pratique et des commentaires répétés. Awww.

Une autre tâche impliquait un problème plus nuancé : identifier les nombres dans une plage basée sur des règles de divisibilité spécifiques. C'est là que le talon d'Achille de ChatGPT est devenu évident. Quelle que soit la langue – anglais ou croate – ChattyG a eu du mal avec les chiffres négatifs. Chaque tentative de ChatGPT a conduit à des résultats similaires, pointant vers un problème constant dans sa logique de programmation pour cette tâche.

Une question bonus exigeait de la précision. ChatGPT était nécessaire pour créer un filtre d'entrée, spécifiquement pour une plage définie de nombres décimaux. La solution initiale de l'IA, présentée en anglais, était pertinente, mais les tentatives suivantes, en particulier lorsque la tâche était confiée en croate, ont révélé certaines incohérences et, dans certains cas, ChatGPT a utilisé des constructions de programmation inutiles. Même si cela n'a pas gêné la fonctionnalité du programme, cela indique un manque d'optimisation. C'était comme si ChatGPT prenait parfois le chemin le plus long vers une destination, même lorsqu'un raccourci était disponible.

Les choses sont devenues plus complexes avec une tâche liée aux tableaux. Ici, ChatGPT a été invité à stocker des nombres, puis à calculer certaines statistiques telles que la valeur moyenne, l'écart type et à identifier les valeurs minimales et maximales. La performance de ChattyG sur ce défi était particulièrement intéressante. Au cours de différents tests, il a présenté différentes stratégies. Parfois, il résolvait le problème avec élégance, en proposant des solutions simples. Dans d’autres tentatives, il s’est orienté vers des méthodes plus alambiquées, regroupant même plusieurs opérations en une seule fonction.

Tout cela soulève une question importante : ChatGPT choisit-il toujours la meilleure stratégie, ou utilise-t-il parfois par défaut des méthodes apprises mais inefficaces ?

Le dernier obstacle pour ChatGPT impliquait le traitement de texte de base. Il était chargé de supprimer les espaces supplémentaires des entrées utilisateur. Lors de son premier test en anglais, la solution de ChatGPT était parfaite. Cependant, le test croate a lancé une courbe. Au lieu d’adhérer à sa solution efficace à entrée unique, l’IA a, pour une raison quelconque, opté pour une approche plus complexe, exigeant plusieurs entrées. Pourtant, lorsque les chercheurs ont revisité ce défi en anglais, ChatGPT a semblé avoir tiré les leçons de son précédent faux pas, en revenant à la méthode la plus simple.

Dans l’ensemble, les chercheurs ont découvert que les réponses avaient beaucoup en commun avec celles des étudiants en programmation humaine de première année. Ses solutions faisaient souvent écho aux stratégies de programmeurs expérimentés mais comme tout étudiant, ChatGPT n'était pas infaillible. Il y a eu des moments de génie, mais aussi des moments où il a semblé complètement rater la cible.

Le véritable point à retenir ici est son adaptabilité semblable à celle d'un étudiant de première année : il ne s'agissait pas seulement de trouver la bonne solution ; il s’agissait d’affiner, d’apprendre et d’itérer.

Alors, quelle est la note finale de ChattyG ?

Du côté des chercheurs :

« ChatGPT réussit l'examen avec de très bonnes notes, surpassant la plupart de nos étudiants en termes de qualité des solutions. De plus, il résout chaque tâche en 20 à 30 secondes et montre la capacité générale à adapter ou à modifier ses solutions en fonction de demandes supplémentaires. Cependant, dans certaines tâches, souvent simples, il a montré son incapacité à comprendre l’essence logique et mathématique du problème, même après avoir été interrogé à plusieurs reprises sur ses erreurs. ®

Horodatage:

Plus de Le registre