Nëse përdorni AI për t’ju mësuar se si të kodoni, mbani mend se duhet ende të mendoni vetë

Të mësosh se si të programosh është ndoshta tani më e lehtë se kurrë me AI, megjithëse mjetet që sugjerojnë ose gjenerojnë kodin burimor për ju duhet të përdoren me mençuri.

foto

Programimi kërkon durim dhe këmbëngulje, veçanërisht në fillim të procesit të të mësuarit kur asgjë nuk ka shumë kuptim. Rregullat për të shkruar kodin duken konfuze. Ka të gjitha llojet e shenjave të pikësimit dhe simboleve që duhen përdorur me kujdes. Mungesa e dy pikave ose presjes, ose ngatërrimi i dhëmbëzimit mund të çojë në gabime, në varësi të gjuhës së përdorur. Me kalimin e kohës, me praktikë të mjaftueshme, ajo klikohet në vend.

foto

Ashtu si shumica e fillestarëve që mësojnë se si të kodojnë në internet, unë fillova duke parë mësime dhe duke zgjidhur probleme në grupe ushtrimesh programimi. Kur mbërthehesha në një problem, ishte shumë joshëse të drejtohesha te ChatGPT, gjë që do të më ndihmonte lehtësisht të hidhesha te zgjidhja e duhur. Këta lloj asistentësh janë të mirë në gjenerimin e kodit të thjeshtë dhe disa prej tyre madje mund t’ju japin një përgjigje të plotë ashtu siç po e përshkruani.

E kuptova këtë kur luftoja me zbatimin e një funksioni të caktuar dhe çaktivizova funksionin e plotësimit automatik të GitHub Copilot në Visual Studio Code për të ndaluar veten nga mashtrimi.

David Malan, një profesor i shkencave kompjuterike në Universitetin e Harvardit që jep mësim CS50, një kurs popullor hyrës i shkencave kompjuterike (që mund të merret falas në internet ), ra dakord që AI mund të jetë paksa shumë e dobishme ndonjëherë.

Për të larguar studentët nga përdorimi i mjeteve si ChatGPT i OpenAI ose Bard i Google për të përfunduar detyrat e tyre, mësuesit u ofruan atyre një alternativë: një rosë gome virtuale. Duck CS50 është një chat-bot kodues i mundësuar nga GPT-4, por ka parmakë mbrojtëse në vend për të parandaluar që studentët të mashtrojnë .

Korrigjimi i rosës së gomës, siç mund të jeni të vetëdijshëm, është një gjë në zhvillimin e softuerit: nëse keni ngecur në një kod, të flisni edhe pse problemi me ndonjë lodër ose objekt tjetër të pajetë mund t’ju ndihmojë të kuptoni vetë zgjidhjen. Është mjaft efektive.

Korrigjuesi i rosave CS50 është një homazh për këtë: roboti është përgatitur për të qenë miqësor dhe mbështetës, ai u përgjigjet vetëm pyetjeve që lidhen me kursin dhe nuk jep përgjigje për problemet e detyrave të shtëpisë, tha Malan për The Register .

“Politika jonë në fillim të kursit është që studentët nuk mund të përdorin softuer të palëve të treta si ChatGPT dhe Copilot; ata thjesht priren të jenë shumë të dobishëm, shumë të gatshëm për t’u ofruar studentëve zgjidhje të drejtpërdrejta në vend që t’i drejtojnë drejt tyre, si një mësues i mirë. Por studentët lejohen dhe inkurajohen të përdorin softuerin e bazuar në AI të CS50, i cili i ka ato mbrojtëse pedagogjike në vend”, tha ai.

Duck CS50 u prezantua vitin e kaluar dhe reagimet kanë qenë kryesisht pozitive. Të kesh një mësues virtual në dorë do të thotë që studentët mund të kërkojnë ndihmë në çdo kohë që dëshirojnë. Por si të gjitha modelet e AI, ai mund të bëjë gabime dhe nuk është gjithmonë i saktë. Testet fillestare treguan se ishte në gjendje t’i përgjigjej saktë rreth 88 për qind të pyetjeve që lidhen me kurrikulën.

Boti i kodimit është i dobishëm edhe për instruktorët; u jep atyre më shumë kohë për të ndihmuar nxënësit në fusha të tjera përtej detyrave të shtëpisë. Në një punim kërkimor [ PDF ] që analizon ndikimin e korrigjuesit të rosës, mësuesit në Harvard thanë se eksperimenti i tyre në ndërtimin e një asistenti virtual të kodimit të AI ka dhënë rezultat. Ata besojnë se “Inteligjenca artificiale gjeneruese [mund] të forcojë mësimin e studentëve, jo thjesht ta prishë atë,” dhe po shikojnë mënyrat se si teknologjia mund të zbatohet në lëndë të tjera.

Për sa ia vlen, formimi im akademik është në fizikë dhe gazetari shkencore, dhe jo në shkenca kompjuterike. Fillova të mësoja se si të kodoja pak para se të dilte brezi i fundit i robotëve të bisedës. Më parë do të përpiqesha të kuptoja konceptet e softuerit ose të rregulloja gabimet duke lexuar, si shumë njerëz, postime në blog ose duke kërkuar shembuj të kodit të ngjashëm në sajte si Stack Overflow. AI më lejon të shkurtoj këtë proces.

Në vend që të analizoj shumë informacione për të gjetur zgjidhje që përputhen më mirë me problemin tim, tani mund t’i drejtohem një modeli të madh gjuhësor për ndihmë të drejtpërdrejtë. Po mësoj që të kuptoj më mirë teknologjitë që përdorin të tjerët; këta asistentë dixhitalë më bëjnë të shpejtoj më shpejt sesa të shikoj artikuj të shumtë rreth, të themi, pjesët kundrejt grupeve, ose të shfletoj projektet softuerike të njerëzve të tjerë.

Sidoqoftë, kodi i shkruar në makinë nuk është gjithmonë i dobishëm dhe mund të ulë cilësinë e bazës së kodit. Nëse kopjoja dhe ngjisja daljen e një asistenti të AI në burimin tim, ai shpesh do të shfaqte gabime të reja sepse nuk përputhej me pjesën tjetër të programit tim. Përpjekja për të rregulluar këto gabime mund të jetë e ndërlikuar, veçanërisht nëse nuk e kuptoni se çfarë është krijuar. Si një fillestar, nuk ishte gjithmonë e qartë nëse gabimet ishin për shkak se kodi ishte thjesht i gabuar ose nëse po përdorej në kontekstin e gabuar.

“Unë mendoj se nëse dikush do të donte të mësonte të kodonte [duke përdorur prodhimin aktual] të mjeteve të AI, ata duhet t’i qasen asaj me dy qëllime: Merrni kohë për të mësuar të kodoni mjaftueshëm për të ditur se çfarë po gjeneron mjeti. [Dhe] adoptoni rolin i ‘shqyrtuesit të kodit’ dhe studioni se si të identifikoni dhe përmirësoni kodin e keq”, tha Zed Shaw, një zhvillues softuerësh dhe autor i Learn Python the Hard Way , për The Register .

Programuesit duhet të jenë në gjendje të dallojnë gabimet në kodin e bërë nga makina dhe nuk duhet t’u besojnë plotësisht robotëve. Ata me siguri duhet të jenë të kujdesshëm për kodin e qartë të mbrojtur me të drejtë autori që rrëshqet në prodhimin e modeleve.

“Fakti që ChatGPT jep zgjidhje më të shpejta të mbështjella me fraza qetësuese si “Unë mendoj se kjo duhet të zgjidhë problemin tënd…” e bëjnë këtë që të çaktivizojmë të menduarit tonë kritik dhe nuk i vëmë në dyshim zgjidhjet e tij me aq kujdes sa duhet.” tha Charles Severance, një profesor i shkencave kompjuterike në Shkollën e Informacionit të Universitetit të Miçiganit, i cili ka lëshuar kurse falas të kodimit në internet.

“Gjithmonë supozoni se ChatGPT është një programues më pak i aftë se ju. Mënyra e vetme e sigurt për të përdorur mjetet e AI është kur jeni të sigurt se zgjidhja që prodhon është e saktë,” shtoi ai.

Për t’i përdorur këto mjete në mënyrë efektive, duhet të kuptoni problemin tuaj dhe ta shpjegoni atë qartë në kërkesën tuaj. Cilësia e kodit të kthyer në dalje varet nga mënyra se si i kornizoni pyetjet tuaja në hyrje, tha për The Register Inbal Shani, shefi i produktit në GitHub .

Përdoruesit duhet të ndërveprojnë me GitHub Copilot sikur të ishin duke folur me një koleg, sugjeroi ajo. “Sa më shumë detaje t’i jepni atij asistenti që ulet pranë jush se cili është qëllimi juaj, ku po shkoni për problemin që po përpiqeni të zgjidhni, aq më mirë do të merrni përgjigje sepse AI merr më shumë kontekst. Ajo e di si të bëni një kërkim më të detajuar për të gjetur atë pjesë të duhur të kodit ose të rekomandoni infrastrukturën e duhur të testimit për ju, “tha ajo.

Phillip Compeau, një profesor i asociuar në Universitetin Carnegie Mellon, i cili krijoi platformën Rosalind dhe tutorialin Programimi për të dashuruarit , për njerëzit e interesuar në biologjinë kompjuterike, ra dakord.

Kur ai u mëson studentëve që kanë filluar të kodojnë, ai i inkurajon ata të qëndrojnë larg AI. Por për studentët më të avancuar që dinë bazat, ai u mëson atyre se si të përdorin teknologjinë për të qenë më produktivë dhe efikas në punën e tyre.

“Një nga gjërat që u tregoj studentëve është se mënyra më e mirë për të marrë një përgjigje të pastër dhe të saktë nga një kod që gjeneron një mjet AI është nëse jeni në gjendje të specifikoni qartë dhe saktë se çfarë duhet të bëjë kompjuteri. Ky është vetë përkufizimi i programimit të një kompjuteri dhe me kalimin e kohës, gjuhët e programimit që përdorim janë bërë më të përafruara me gjuhën njerëzore; mjetet e bisedës janë vetëm hapi tjetër në këtë evolucion, “tha ai për The Register .

Të kuptosh se çfarë dëshiron të bëjë programi, si duhet të funksionojë dhe ku ka gabuar, është thelbësore në kodim. Nxënësit mund t’i ndërtojnë këto aftësi thelbësore me kalimin e kohës vetëm me praktikë të qëndrueshme. Ju nuk mund ta kaloni këtë proces duke u mbështetur në AI nëse dëshironi të jeni një zhvillues kompetent softuerësh. Por nëse e përdorni me mençuri, mund të përmirësoheni shpejt dhe të bëheni një programues i mirë – dhe ndoshta do të jetë edhe argëtuese.