Gândiți-vă singur dacă doriți ca AI să vă învețe cum să codificați

Gândiți-vă singur dacă doriți ca AI să vă învețe cum să codificați

Nodul sursă: 3087147

Caracteristică A învăța cum să programați este poate acum mai ușor ca niciodată cu AI, deși instrumentele care vă sugerează sau generează cod sursă trebuie folosite cu înțelepciune. 

Programarea necesită răbdare și perseverență, mai ales la începutul procesului de învățare când nimic nu are prea mult sens. Regulile de scriere a codului par confuze. Există tot felul de semne de punctuație și simboluri care trebuie folosite cu atenție. Lipsa punctelor două puncte sau a unei virgule sau încurcarea indentării poate duce la erori, în funcție de limba folosită. De-a lungul timpului, cu suficientă practică, se fixează.

La fel ca majoritatea începătorilor care învață cum să codeze online, am început prin a urmări tutoriale și a rezolva probleme în seturi de exerciții de programare. Când am rămas blocat cu o problemă, a fost foarte tentant să apelez la ChatGPT, care m-ar ajuta cu ușurință să trec la soluția potrivită. Aceste tipuri de asistenți sunt buni la generarea de cod simplu, iar unii dintre ei vă pot oferi chiar un răspuns complet așa cum îl descrieți.

Mi-am dat seama de acest lucru când m-am luptat cu implementarea unei anumite funcții și am dezactivat caracteristica de completare automată a lui GitHub Copilot în Visual Studio Code pentru a nu înșela.

Nu doar copiați și lipiți

David Malan, profesor de informatică la Universitatea Harvard, care predă CS50, un curs popular de introducere în informatică (care poate fi urmat gratuit on-line), au fost de acord că AI poate fi puțin prea util uneori. 

Pentru a descuraja studenții să folosească instrumente precum ChatGPT de la OpenAI sau Bard de la Google pentru a-și finaliza sarcinile, profesorii le-au oferit o alternativă: o rață de cauciuc virtuală. Rața CS50 este un chat-bot de codare alimentat de GPT-4, dar are bare de protecție pentru a împiedica studenții să înşelăciune.

Depanarea rațelor de cauciuc, după cum probabil știți, este un lucru în dezvoltarea de software: dacă sunteți blocat cu un cod, vorbind despre problema cu o jucărie sau alt obiect neînsuflețit vă poate ajuta să găsiți singur soluția. Este destul de eficient.

Depanatorul de rață CS50 este un omagiu acestui lucru: bot-ul a fost pregătit să fie prietenos și de susținere, răspunde doar la întrebări legate de curs și nu oferă răspunsuri la problemele legate de teme, a spus Malan. Registrul

„Politica noastră de la începutul cursului este că studenții nu pot folosi software terță parte precum ChatGPT și Copilot; pur și simplu tind să fie prea de ajutor, prea dispuși să ofere studenților soluții, mai degrabă decât să-i îndrume spre ele, așa cum ar face un profesor bun. Dar studenților li se permite și sunt încurajați să folosească propriul software CS50 bazat pe inteligență artificială, care are acele balustrade pedagogice la locul lor”, a spus el.

Rața CS50 a fost introdusă anul trecut, iar feedback-ul a fost în mare parte pozitiv. Având un tutor virtual la îndemână, studenții pot cere ajutor oricând doresc. Dar, ca toate modelele AI, poate face greșeli și nu este întotdeauna precisă. Testele inițiale au arătat că a putut să răspundă corect la aproximativ 88% dintre întrebările legate de curriculum. 

Botul de codare este util și pentru instructori; le oferă mai mult timp pentru a ajuta elevii în alte domenii dincolo de teme. Într-o lucrare de cercetare [PDF] analizând impactul depanatorului de rață, profesorii de la Harvard au spus că experimentul lor de construire a unui asistent virtual de codare AI a dat roade. Ei cred că „AI generativă [poate] sprijini învățarea studenților, nu doar o perturbă” și caută modalități în care tehnologia poate fi aplicată în alte materii.

Economisiți timp cu mai puține google

Pentru cât merită, pregătirea mea academică este în fizică și jurnalism științific, și nu în informatică. Am început să învăț cum să codific chiar înainte ca cea mai recentă generație de roboti de chat să descopere. Anterior, încercam să înțeleg conceptele de software sau să remediez erori, ca mulți oameni, citind postări de blog sau căutând exemple de cod similar pe site-uri precum Stack Overflow. AI îmi permite să comand rapid acest proces.

În loc să cercetez o mulțime de informații pentru a găsi soluții care se potrivesc cel mai bine cu problema mea, acum pot apela la un model lingvistic mare pentru ajutor direct. Învăț astfel încât să înțeleg mai bine tehnologiile pe care le folosesc alții; acești asistenți digitali mă fac să ajung la viteză mai rapid decât să studiez mai multe articole despre, de exemplu, felii versus matrice, sau să răsfoiesc proiectele software ale altor oameni.

Cu toate acestea, codul scris de mașină nu este întotdeauna util și poate scade calitatea a unei baze de cod. Dacă aș copia și lipit rezultatul unui asistent AI în sursa mea, ar introduce adesea noi erori, deoarece nu se potrivea cu restul programului meu. Încercarea de a remedia aceste greșeli poate fi dificilă, mai ales dacă nu înțelegeți ce a fost generat. În calitate de începător, nu a fost întotdeauna clar dacă erorile se datorau faptului că codul era pur și simplu greșit sau dacă era folosit într-un context greșit.

„Cred că dacă cineva ar dori să învețe să codifice [folosind actuala] recoltă de instrumente AI, ar trebui să o abordeze cu două obiective: să-și facă timp să învețe să codifice suficient pentru a ști ce generează instrumentul. [Și] adoptă rolul de „revizor de cod” și studiază cum să identifice și să îmbunătățești codul prost”, Zed Shaw, un dezvoltator de software și autorul cărții Învață Python calea tare, a declarat pentru Registrul

Programatorii ar trebui să poată identifica erori în codul creat de mașini și nu ar trebui să aibă încredere completă în roboți. „Faptul că ChatGPT oferă soluții mai rapid înglobate în fraze liniștitoare precum „Cred că asta ar trebui să-ți rezolve problema...” face ca să ne oprim gândirea critică și să nu punem la îndoială soluțiile sale atât de atent pe cât ar trebui”, a spus Charles. Severance, un profesor de informatică la Școala de Informații a Universității din Michigan, care are eliberat cursuri gratuite de codare online.

„Întotdeauna să presupunem că ChatGPT este un programator mai puțin calificat decât tine. Singura modalitate sigură de a folosi instrumentele AI este atunci când aveți încredere că soluția pe care o produce este corectă”, a adăugat el. 

Trebuie să știi ce faci

Pentru a utiliza aceste instrumente în mod eficient, trebuie să vă înțelegeți problema și să o explicați clar în solicitarea dvs. Calitatea codului returnat în ieșire depinde de modul în care vă încadrați întrebările în intrare, a declarat Inbal Shani, director de produs la GitHub. Registrul.

Utilizatorii ar trebui să interacționeze cu Copilotul GitHub de parcă ar fi vorbit cu un coleg, a sugerat ea. „Cu cât îi oferi mai multe detalii asistentului care stă lângă tine despre intenția ta, unde te îndrepți pentru problema pe care încerci să o rezolvi, cu atât vei obține un răspuns mai bun, deoarece AI primește mai mult context. Știe cum să facă o căutare mai detaliată pentru a găsi acea bucată de cod potrivită sau să recomande infrastructura de testare potrivită pentru tine”, a spus ea. 

Limbajele de programare pe care le folosim au devenit mai aliniate cu limbajul uman; instrumentele de chat sunt doar următorul pas în această evoluție

Phillip Compeau, profesor asistent la Universitatea Carnegie Mellon, care a creat Rosalind platformă şi Programare pentru îndrăgostiți tutorial, pentru persoanele interesate de biologia computațională, de acord.

Când îi învață pe studenți care încep să codifice, îi încurajează să stea departe de AI. Dar pentru studenții mai avansați care cunosc elementele de bază, el îi învață cum să folosească tehnologia pentru a fi mai productivi și mai eficienți în munca lor.

„Unul dintre lucrurile pe care le arăt studenților este că cea mai bună modalitate de a obține un răspuns corect și curat de la un cod generator de instrumente AI este dacă sunteți capabil să specificați clar și corect exact ce trebuie să facă computerul. Aceasta este însăși definiția programării unui computer și, în timp, limbajele de programare pe care le folosim au devenit mai aliniate cu limbajul uman; instrumentele de chat sunt doar următorul pas în această evoluție”, a spus el Registrul

În codificare este crucial să știi ce vrei să facă programul tău, cum ar trebui să funcționeze și unde a mers prost. Cursanții își pot dezvolta aceste abilități de bază în timp doar cu o practică consecventă. Nu puteți sări peste acest proces bazându-vă pe AI dacă doriți să fiți un dezvoltator de software competent. Dar dacă îl folosiți cu înțelepciune, vă puteți îmbunătăți rapid și puteți deveni un programator bun – și poate chiar va fi distractiv. ®

Timestamp-ul:

Mai mult de la Registrul