prodaja@stozacibrid.com hr@hardtechnique.com vjeko.kovacicek@coolintunit.com info@tehnikhard.net mail@coolintunit.com webmaster@stozacibrid.com admin@hardtechnique.com tehnikhard.net web.stozacibrid.com www.coolintunit.com

Uz pomoć umjetne inteligencije do bržeg i jednostavnijeg učenja programiranja

U svijetu novih tehnologija i sveopće digitalizacije, tehnološka rješenja čine nezaobilazni dio svakodnevice. Od komunikacije do poslovanja, gotovo svaki aspekt našeg života ovisi o novim tehnologijama i digitalizaciji procesa.

Novi tehnološki trendovi i integracija Internet of Things (IoT) i umjetne inteligencije (AI) mijenjaju naše navike i poslovanje na načine koji su do nedavno bili nezamislivi. Rastuća potreba za stručnjacima koji mogu i znaju održavati, poboljšavati i razvijati nova tehnološka rješenja, programiranje čini jednom od najvažnijih vještina digitalnog doba, a učenje programiranja sigurnim ulogom za budućnost. Učenje programiranja ne samo što razvija kritičko razmišljanje i sposobnost rješavanja problema, već pomaže i u razumijevanju tehnologije koja nas okružuje. Kao kreativna vještina, potiče maštu i inovativnost te ima široku primjenu u svakodnevnom životu.

Učenje programiranja zasigurno predstavlja izazov premda vrlo lako može postati i demotivirajuće, posebno za početnike koji često zbog nemogućnosti pronalaska rješenja, odustaju od daljnjih pokušaja i učenja. Kako bi se olakšao proces učenja i stjecanja programerskih vještina, danas se koriste različite strategije i alati, među kojima je i umjetna inteligencija. Uz pomoć naprednih tehnologija strojnog učenja i obrade prirodnog jezika, alati omogućuju stjecanje novih iskustava te unaprjeđuju vještinu koja postaje sve važnija u 21. stoljeću.

Sve više alata umjetnu inteligenciju koristi kao podršku učenju programiranja, a dostupni su zainteresiranim korisnicima i učenicima neovisno o njihovim prethodnim programerskim iskustvima. Primjerice, popularna obrazovna mrežna platforma Codecademy koristi tehnologiju obrade prirodnog jezika, algoritme strojnog učenja i vlastiti alat za automatsko ispravljanje kodova dok u GitHub Copilot-u učenici mogu unijeti ključne riječi kojima opisuju funkcionalnost koju žele implementirati, nakon čega umjetna inteligencija automatski generira odgovarajući kod. I popularni jezični model ChatGPT na osnovu postavljenog upita može generirati kod u mnogim programskim jezicima, uključujući Python, Java, C++, JavaScript, PHP, Ruby, Swift, Kotlin i dr. Dostupan je i trenutno besplatan online tečaj “ChatGPT Prompt Engineering for Developers” kojeg organiziraju DeepLearning.AI i OpenAI a putem kojega se korisnici (među njima nastavnici i učenici) mogu osposobiti za korištenje velikih jezičnih modela (Large Language models – LLM) u izradi novih aplikacija. Tečaj se sastoji od devet predavanja od 12-15 minuta, a pokriva sve bitne informacije o tome kako iskoristiti LLM za pisanje efikasnih uputa te kako sustavno dizajnirati zadatke poput sažimanja, zaključivanja, prevođenja i slično. Za sve se vježbe koristi Jupyter bilježnica koja omogućuje praktično iskustvo u radu s LLM-ovima. Tečaj učenicima pruža izvrsnu mogućnost da kroz interaktivno sučelje upoznaju velike jezične modele i izrade vlastiti chatbot a nastavnicima donosi ideje, materijale i resurse za obogaćivanje kurikuluma ili za izradu novih tečajeva u području programiranja. Platformu Code.org rado koriste i učenici i nastavnici: učenici za stjecanje novih i proširivanje postojećih znanja u području programiranja i umjetne inteligencije, a nastavnici radi primjenjivih i interaktivnih nastavnih materijala i aktivnosti prilagođenih razini znanja i sposobnostima svakog pojedinog učenika

AI Code Mentor za razliku od navedenih alata, koristi umjetnu inteligenciju za pružanje sveobuhvatnih objašnjenja kodnih linija kroz personalizirano i interaktivno iskustvo učenja. Namijenjen je svim razinama programera, a posebno početnicima, kako bi im pomogao u razumijevanju kodova u različitim programskim jezicima. Alat koristi napredne tehnologije obrade prirodnog jezika za analizu kodnih linija i pružanje personaliziranih objašnjenja te algoritme strojnog učenja za prilagodbu virtualnog poučavanja na razini sposobnosti korisnika. Jednostavno i intuitivno korisničko sučelje sastoji se od dva osnovna koraka: unos koda i odabir razine objašnjenja. Unos koda može se obaviti jednostavnim kopiranjem ili izravnim pisanjem novog koda u sučelju. Nakon toga, korisnici izabiru razinu objašnjenja koja najbolje odgovara njihovoj razini znanja. Stilovi objašnjenja prikazuju se u obliku ispisa prikladnih za različite razine znanja – od petogodišnjaka do programera početnika, nastavnika ili NASA programera, a mogu se prikazati i u obliku izravno generiranog strojnog objašnjenja. Ova jednostavnost omogućuje brzo usvajanje alata bez potrebe za ulaganjem dodatnog vremena za savladavanje funkcionalnosti.

AI Code Mentor potpuno je besplatan, pristupa mu se putem poveznice https://code-mentor.ai/, ne zahtijeva registraciju niti prijavu, što ga čini dostupnim svim korisnicima uključujući učenike. Osim što podržava više programskih jezika, uključujući HTML, CSS, JavaScript i Python, pruža i primjere kodova za algoritme sortiranja. Primjeri kodova algoritama sortiranja, poput Bubble sorta, Insertion sorta, Merge sorta i Radix sorta, jedna su od ključnih prednosti AI Code Mentora. Ovi primjeri omogućuju učenicima zorno i dubinsko razumijevanje logike programiranja, što izravno poboljšava njihove programerske vještine. Osim toga, ova funkcionalnost AI Code Mentora pomaže učenicima u savladavanju jednog od ishoda predmetnog kurikuluma informatike za treći razred srednje škole, a koji se odnosi na stjecanje vještina i znanja potrebnih za analizu i usporedbu algoritama sortiranja (njihove složenosti) s ciljem odabira najboljeg mogućeg algoritma za rješavanje zadanog problema.

Učenje programiranja ne bi trebalo biti bez izazova jer se upravo u izazovima stječu nova znanja i razvijaju vještine rješavanja problema. No, potencijal umjetne inteligencije može biti ključan u učinkovitijem savladavanju ovog procesa. Korištenje umjetne inteligencije u procesu učenja programiranja pruža učenicima dodatne mogućnosti koje im pomažu da prevladaju potencijalne poteškoće, razvijaju vlastite kreativne ideje i stvaraju nova rješenja koja doprinose razvoju tehnološkog napretka i bolje budućnosti.