A programozás megtanulása MI-vel könnyebb, mint valaha

A programozás megtanulása MI-vel könnyebb, mint valaha

2024. január 28. 22:18, Vasárnap
De gondolkodni attól még kell, és okosan kell használni a forráskódot javasló vagy generáló eszközöket.

A programozás türelmet és kitartást igényel, különösen a tanulási folyamat kezdetén, amikor semminek nincs sok értelme az ember számára. A kódírás szabályai zavarosnak tűnnek, mindenféle írásjelek és szimbólumok vannak, amelyeket nagyon pontosan kell használni. Egy kettőspont vagy vessző kihagyása, vagy a behúzás elrontása a használt nyelvtől függően hibához vezethet. Idővel, kellő gyakorlással azonban minden a helyére kerül. Az oktatóanyagok és programozási feladatok megoldásánál nagy a kísértés a ChatGPT vagy egy hasonló asszisztens használatára, mert ezek jól tudnak egyszerű kódot generálni, és némelyikük még a teljes választ is képes megadni.

David Malan, a Harvard Egyetem informatika professzora egy népszerű (online ingyenesen itt felvehető) bevezető informatikai kurzust tanít, a CS50-et. Mivel szerinte a mesterséges intelligencia néha túlságosan is segítőkész tud lenni, ezért hogy lebeszélje a diákokat arról, hogy a ChatGPT-hez vagy a Google Bardhoz hasonló eszközöket használjanak a feladatok megoldásához, alternatívát kínál nekik: egy virtuális gumikacsát. Egy GPT-4 által működtetett kódoló chat-botot készített, amely korlátokkal van ellátva, hogy megakadályozza a diákokat a csalásban. A botot úgy állították be, hogy barátságos és támogató legyen, csak olyan kérdésekre válaszol, amelyek a kurzushoz kapcsolódnak, és nem ad választ a házi feladatokra - mondta Malan.

"A tanfolyam indulásakor az az irányelvünk, hogy a diákok nem használhatnak olyan harmadik féltől származó szoftvereket, mint a ChatGPT és a Copilot; ezek egyszerűen hajlamosak túlságosan segítőkészek lenni, túlságosan is hajlandóak egyből megoldásokat nyújtani a diákoknak, ahelyett, hogy rávezetnék őket, ahogy egy jó tanár tenné. A diákok azonban használhatják és bátoríthatják a CS50 saját, mesterséges intelligencia alapú szoftverét, amely rendelkezik ezekkel a pedagógiai korlátokkal" - mondta. A botot tavaly mutatták be, és a visszajelzések többnyire pozitívak voltak. A virtuális oktatótól a diákok bármikor segítséget kérhetnek, de mint minden mesterséges intelligenciamodell, ez is hibázhat, és nem mindig pontos. Az első tesztek azt mutatták, hogy a tananyaggal kapcsolatos kérdések körülbelül 88 százalékára tudott helyesen válaszolni.


David J. Malan

A kódolórobot az oktatók számára is hasznos; több idejük marad arra, hogy a házi feladatokon kívül más területeken is segítsenek a diákoknak. A hibakereső hatását elemző kutatási dokumentumban a Harvardon tanító tanárok azt mondták, hogy az MI-kódolási asszisztenst létrehozó kísérletük megtérült. Úgy vélik, hogy "a generatív mesterséges intelligencia nem csak zavarni tudja, hanem gyorsítja is a diákok tanulását", és keresik a technológia más tantárgyakban való alkalmazásának lehetőségeit. A gép által írt kód azonban nem mindig hasznos, és ronthatja a kódbázis minőségét. Az MI-asszisztens kimenetének lemásolása és beillesztése a forráskódba gyakran új hibákhoz vezet, mert nem illeszkedik a program többi részéhez. Ezeket a hibákat ráadásul trükkös lehet kijavítani, különösen akkor, ha nem érti az ember, hogy mit generáltak. Kezdőként nem mindig egyértelmű, hogy egy hiba azért keletkezett-e, mert a kód egyszerűen csak rossz, vagy mert rossz kontextusban használták.

"Úgy gondolom, ha valaki meg akar tanulni kódolni a jelenlegi mesterséges intelligencia eszközökkel, akkor két céllal kell megközelítenie a dolgot: Szánjon időt arra, hogy megtanuljon kódolni annyira, hogy tudja, mit generál az eszköz, és vállalja a "kódellenőr" szerepét, tanulmányozza, hogyan lehet azonosítani és javítani a rossz kódot" - véli Zed Shaw szoftverfejlesztő, a Learn Python the Hard Way című könyv szerzője. A programozóknak képesnek kell lenniük arra, hogy kiszúrják a hibákat a gépi készítésű kódban, és nem szabad teljesen megbízniuk a botokban. Mindenképpen figyelniük kell arra, hogy a modellek kimenetébe nem csúszik-e nyilvánvalóan szerzői jogvédett kód.

"Az a tény, hogy a ChatGPT gyorsabban ad megoldásokat olyan megnyugtató mondatokba csomagolva, mint például "Azt hiszem, ez megoldja a problémádat...", kikapcsolja a kritikus gondolkodásunkat, és nem kérdőjelezzük meg a megoldásait olyan alaposan, ahogy kellene" - mondta Charles Severance, a Michigani Egyetem Informatikai Iskolájának informatika professzora, aki ingyenes kódolási tanfolyamokat tett közzé az interneten. "Mindig feltételeznünk kell, hogy a ChatGPT kevésbé képzett programozó, mint mi. Az egyetlen biztonságos módja a mesterséges intelligencia eszközök használatának, ha biztosak vagyunk abban, hogy az általa előállított megoldás helyes" - tette hozzá.

"A hatékony használathoz meg kell érteni a problémát, és világosan el kell magyarázni azt. A kimenetként visszaküldött kód minősége attól függ, hogyan fogalmazza meg a kérdéseit a bemenetben" - mondta Inbal Shani, a GitHub vezető termékmenedzsere. Azt javasolta, hogy a felhasználók úgy lépjenek kapcsolatba a GitHub Copilottal, mintha egy kollégával beszélgetnének. "Minél részletesebben tájékoztatod a melletted ülő asszisztenst arról, hogy mi a szándékod, hová tartasz a megoldandó problémával kapcsolatban, annál jobb választ kapsz, mert a mesterséges intelligencia több kontextust kap. Tudja, hogyan végezzen részletesebb keresést, hogy megtalálja a megfelelő kódot, vagy ajánlja a megfelelő tesztelési infrastruktúrát" - mondta.

Egyetért ezzel Phillip Compeau is, a Carnegie Mellon Egyetem tanársegédje, aki a Rosalind platformot és a Programming for Lovers oktatóprogramot hozta létre a számítógépes biológia iránt érdeklődők számára. Amikor olyan diákokat tanít, akik most kezdenek kódolni, arra biztatja őket, hogy maradjanak távol a mesterséges intelligenciától. A haladóbb diákoknak azonban, akik már ismerik az alapokat, megtanítja, hogyan használhatják a technológiát, hogy produktívabbak és hatékonyabbak legyenek a munkájukban. "Az egyik dolog, amit a diákoknak mutatok, hogy a legjobb módja annak, hogy tiszta, helyes választ kapjunk egy mesterséges intelligencia eszköztől, az, ha képesek vagyunk világosan és helyesen megadni, hogy pontosan mit kell tennie a számítógépnek. Ez a számítógép programozásának definíciója, és idővel az általunk használt programozási nyelvek egyre inkább az emberi nyelvhez igazodtak; a chat-eszközök csak a következő lépést jelentik ebben a fejlődésben."

A kódolásban kulcsfontosságú, hogy tudjuk mit akarunk a programunkkal, hogyan kellene működnie, és hol rontottuk el. A tanulók ezeket az alapkészségeket csak idővel, következetes gyakorlással tudják kiépíteni. Ha valaki kompetens szoftverfejlesztő akar lenni ezt a folyamatot nem lehet kihagyni az MI-ra támaszkodva. De okosan használva gyorsan lehet fejlődni és jó programozóvá válni - és talán még szórakoztató is lesz.

Listázás a fórumban 
Adatvédelmi beállítások