ChattyG tar ett förstaårs uni C/C++ programmeringsexamen

ChattyG tar ett förstaårs uni C/C++ programmeringsexamen

ChattyG tar ett förstaårs uni C/C++ programmeringsexamen PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

ChatGPT sattes på prov via en rad enfaldiga nybörjare C/C++ programmeringsuppgifter och det klarade – dock inte med ära.

Enligt en kroatisk forskargrupp, medan förstaårsstudenter kan kämpa med några av uppgifterna, resultaten [PDF] visade att ChatGPT nådde färdighetsmål som sträckte sig mellan genomsnittliga och erfarna programmerare. Och naturligtvis, som med alla högskoleprov, kan resultaten bestämmas av hur frågorna är formulerade.

University North-teamet designade en uppsättning programmeringsutmaningar på högskolenivå, först på engelska och senare, för att se om nyanser på flera språk skulle påverka resultaten, kroatiska. De ville se inte bara hur ChatGPT koder, utan också om det kunde anpassa sig till olika språk.

Den första frågesporten fokuserade på en grundläggande programmeringsuppgift: att beräkna den största gemensamma divisorn (GCD) av två tal. I början visade boten vissa begränsningar i hur den bestämde sig för att ta itu med problemet, och forskarna sa att den saknade den finess som förväntas av en erfaren programmerare. Men som vilken elev som helst, lär den sig och genom efterföljande försök, särskilt i den kroatiska versionen, visade den några förbättringar och visade på en anmärkningsvärd anpassningsförmåga.

Till exempel, i en särskild uppgift utmanades det att programmera en grundläggande statistisk funktion i C++. Till en början gjorde den en förbiseende, med en funktion som inte producerade den "korrigerade" standardavvikelsen som krävdes. Men när samma uppgift presenterades på kroatiska kände chatboten inte bara igen sitt tidigare fel utan utarbetade en förfinad lösning.

Forskarna noterar att denna anpassningsförmåga speglar en förstaårsresa: börjar med misstag men visar en förmåga att lära sig och förbättra sina färdigheter med upprepad övning och feedback. Awww.

En annan uppgift innebar ett mer nyanserat problem: att identifiera siffror inom ett intervall baserat på specifika delbarhetsregler. Det var här ChatGPTs akilleshäl blev uppenbar. Oavsett språk – engelska eller kroatiska – kämpade ChattyG med negativa siffror. Varje försök av ChatGPT ledde till liknande resultat, vilket pekar mot ett konsekvent problem i dess programmeringslogik för denna uppgift.

En bonusfråga krävde precision. ChatGPT krävdes för att skapa ett indatafilter, specifikt för ett definierat intervall av decimaltal. AI:s första lösning, när den presenterades på engelska, var på plats, men nästa försök, särskilt när uppgiften gavs på kroatiska, avslöjade vissa inkonsekvenser och i vissa fall använde ChatGPT onödiga programmeringskonstruktioner. Även om dessa inte hindrade programmets funktionalitet, tydde det på en brist på optimering. Det var som om ChatGPT ibland tog den längre vägen till en destination, även när en genväg var tillgänglig.

Saker och ting blev mer komplicerade med en uppgift relaterad till arrayer. Här ombads ChatGPT att lagra siffror och sedan beräkna viss statistik som medelvärde, standardavvikelse och identifiera minimi- och maximivärden. ChattyGs prestation på denna utmaning var särskilt intressant. Genom olika tester visade den upp olika strategier. Ibland löste det problemet elegant och erbjöd enkla lösningar. I andra försök lutade det mot mer invecklade metoder, till och med att kombinera flera operationer i en funktion.

Allt detta väcker en viktig fråga: Väljer ChatGPT alltid den bästa strategin, eller använder den ibland inlärda men ineffektiva metoder?

Det sista hindret för ChatGPT involverade grundläggande textbehandling. Den fick i uppdrag att ta bort extra mellanslag från användarinmatning. I sitt första engelska test var ChatGPTs lösning perfekt. Det kroatiska testet kastade dock en kurvboll. Istället för att följa sin effektiva lösning med en ingång, valde AI av någon anledning ett mer komplext tillvägagångssätt som krävde flera ingångar. Ändå, när forskare återbesökte denna utmaning på engelska, verkade ChatGPT ha lärt sig av sitt tidigare felsteg och återgått till den enklare metoden.

Sammantaget fann forskarna att svaren hade mycket gemensamt med de från mänskliga nybörjarprogrammeringsstudenter. Dess lösningar ekade ofta strategierna hos erfarna programmerare men som alla studenter var ChatGPT inte ofelbar. Det fanns ögonblick av briljans, men också tillfällen där det verkade missa målet helt.

Den verkliga takeaway här är dess mänskliga förstaårs-liknande anpassningsförmåga: Det handlade inte bara om att få rätt lösning; det handlade om att förfina, lära och iterera.

Så vad är ChattyGs slutbetyg?

Från forskarna:

"ChatGPT klarar provet med mycket bra betyg och överträffar de flesta av våra elever i kvaliteten på lösningarna. Dessutom löser den varje uppgift inom 20 till 30 sekunder och visar den allmänna förmågan att anpassa eller ändra sina lösningar efter ytterligare krav. Men i vissa, ofta enkla uppgifter, visade den oförmågan att förstå problemets logiska och matematiska kärna, även efter att ha blivit tillfrågad om dess fel flera gånger." ®

Tidsstämpel:

Mer från Registret