ChattyG tar en førsteårs uni C/C++ programmeringseksamen

ChattyG tar en førsteårs uni C/C++ programmeringseksamen

ChattyG tar en førsteårs uni C/C++ programmeringseksamen PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

ChatGPT ble satt på prøve via en rekke tøffe nybegynnere C/C++ programmeringsoppgaver, og det besto – men ikke med utmerkelser.

I følge et kroatisk forskerteam, mens førsteårsstudenter kan slite med noen av oppgavene, resultatene [PDF] viste at ChatGPT traff ferdighetsmål som varierte mellom gjennomsnittlig og erfarne programmerere. Og naturligvis, som med alle høyskoleeksamener, kan resultatene bestemmes av hvordan spørsmål er formulert.

University North-besetningen designet et sett med programmeringsutfordringer på førsteårsnivå, først skrevet på engelsk og senere, for å se om nyanser på tvers av språk ville påvirke resultatene, kroatisk. De ønsket å se ikke bare hvordan ChatGPT koder, men også om den kunne tilpasse seg forskjellige språk.

Den første quizen fokuserte på en grunnleggende programmeringsoppgave: å beregne den største felles divisor (GCD) av to tall. I begynnelsen viste boten noen begrensninger i hvordan den bestemte seg for å takle problemet, og forskerne sa at den manglet finessen som forventes av en erfaren programmerer. Men som enhver student lærer den og gjennom påfølgende forsøk, spesielt i den kroatiske versjonen, demonstrerte den noen forbedringer, og viste bemerkelsesverdig tilpasningsevne.

For eksempel ble det i en spesiell oppgave utfordret til å programmere en grunnleggende statistisk funksjon i C++. I utgangspunktet foretok den en forglemmelse ved å bruke en funksjon som ikke produserte det "korrigerte" standardavviket etter behov. Men da den samme oppgaven ble presentert på kroatisk, gjenkjente chatboten ikke bare den forrige feilen, men utarbeidet en raffinert løsning.

Forskerne bemerker at denne tilpasningsevnen gjenspeiler en nybegynners reise: starter med feil, men viser en evne til å lære og forbedre ferdighetene sine med gjentatt øvelse og tilbakemelding. Awww.

En annen oppgave innebar et mer nyansert problem: å identifisere tall innenfor et område basert på spesifikke delebarhetsregler. Det var her ChatGPTs akilleshæl ble tydelig. Uavhengig av språk – engelsk eller kroatisk – slet ChattyG med negative tall. Hvert forsøk fra ChatGPT førte til lignende resultater, og peker mot et konsekvent problem i programmeringslogikken for denne oppgaven.

Et bonusspørsmål krevde presisjon. ChatGPT ble påkrevd for å lage et inndatafilter, spesifikt for et definert område med desimaltall. AIs første løsning, når den ble presentert på engelsk, var på punkt, men de neste forsøkene, spesielt når oppgaven ble gitt på kroatisk, avslørte noen inkonsekvenser, og i noen tilfeller brukte ChatGPT unødvendige programmeringskonstruksjoner. Selv om disse ikke hindret programmets funksjonalitet, indikerte det mangel på optimalisering. Det var som om ChatGPT noen ganger tok den lengre ruten til en destinasjon, selv når en snarvei var tilgjengelig.

Ting ble mer intrikate med en oppgave relatert til matriser. Her ble ChatGPT bedt om å lagre tall og deretter beregne visse statistikker som middelverdi, standardavvik og identifisere minimums- og maksimumsverdier. ChattyGs ytelse på denne utfordringen var spesielt interessant. På tvers av forskjellige tester viste den frem ulike strategier. Noen ganger løste det problemet elegant ved å tilby enkle løsninger. I andre forsøk lente det mot mer innviklede metoder, til og med å samle flere operasjoner i én funksjon.

Alt dette reiser et viktig spørsmål: Velger ChatGPT alltid den beste strategien, eller bruker den noen ganger innlærte, men ineffektive metoder?

Det siste hinderet for ChatGPT involverte grunnleggende tekstbehandling. Den fikk i oppgave å fjerne ekstra mellomrom fra brukerinndata. I den første engelske testen var ChatGPTs løsning perfekt. Den kroatiske testen kastet imidlertid en kurveball. I stedet for å følge den effektive enkeltinngangsløsningen, valgte AI av en eller annen grunn en mer kompleks tilnærming, og krevde flere innganger. Likevel, da forskerne tok en titt på denne utfordringen på engelsk, så det ut til at ChatGPT hadde lært av det forrige feiltrinnet, og gikk tilbake til den enklere metoden.

Totalt sett fant forskerne at svarene hadde mye til felles med de fra menneskelige førsteårsprogrammeringsstudenter. Løsningene gjentok ofte strategiene til erfarne programmerere, men som enhver student var ikke ChatGPT ufeilbarlig. Det var øyeblikk med glans, men også tilfeller der det så ut til å misse målet helt.

Den virkelige takeawayen her er dens menneskelige førsteårs-lignende tilpasningsevne: Det handlet ikke bare om å få den riktige løsningen; det handlet om å foredle, lære og iterere.

Så hva er ChattyGs endelige karakter?

Fra forskerne:

"ChatGPT består eksamen med veldig gode karakterer, og overgår de fleste av våre studenter i kvaliteten på løsningene. Videre løser den hver oppgave innen 20 til 30 sekunder og viser den generelle evnen til å tilpasse eller endre sine løsninger i henhold til tilleggskrav. Men i noen, ofte enkle oppgaver, viste den manglende evne til å forstå den logiske og matematiske essensen av problemet, selv etter å ha blitt spurt om feilene flere ganger.» ®

Tidstempel:

Mer fra Registeret