4. diel - Využitie umelej inteligencie pri štúdiu programovania
V predchádzajúcom kvíze, Kvíz - Úvod, konzoly a premenné v JavaScripte, sme si overili nadobudnuté skúsenosti z predchádzajúcich lekcií.
V tomto tutoriále sa naučíme využívať AI pri štúdiu programovania. Ukážeme si, ako pomocou umelej inteligencie lepšie pochopiť zložité koncepty a zrýchliť riešenie úloh, na ktorých bežne trávime veľa času.
Pozor: AI je dobrý pomocník, ale zlý pán! Táto lekcia ti ukáže, ako ti AI nájde chybu v tvojom kóde alebo jednoduché úlohy vyrieši úplne za teba. Najprv však musíš nad úlohou premýšľať a skúšať ju sám, než požiadaš o pomoc AI. Inak nebudeš schopný v zamestnaní riešiť komplexnejšie úlohy, s ktorými ti AI nepomôže, pretože jej nemôžeš poslať celý firemný projekt. Vo vlastnom záujme používaj AI len ako pomocníka, keď nevieš, ako ďalej, a už si vyčerpal všetky možnosti.
Využitie AI pri štúdiu programovania
Učenie sa programovania môže byť občas náročné. Budeme sa stretávať s množstvom nových konceptov a nezvyčajných problémov. Dnešná doba nám však poskytuje AI nástroje, ktoré nám prácu aj štúdium veľmi uľahčia. Stačí sa ich naučiť správne používať. Nerozumieme nejakej téme? ChatGPT nám danú problematiku na základe našich otázok znovu vysvetlí a pomôže nám si danú tému osvojiť. Narazili sme na problém v nejakej úlohe? Nástroj Canvas ju s nami rozoberie a v prípade potreby odporučí ďalší postup, opraví chyby a podobne. Strávili sme hodinu lúštením nášho kódu a nakoniec sme zistili, že celý problém zapríčinila chýbajúca zátvorka? Nie sme prví ani poslední – toto je skutočne viac ako bežné. Keď si osvojíme používanie AI nástrojov, bude riešenie podobných problémov otázkou niekoľkých sekúnd.
AI je nápomocná v mnohých ďalších oblastiach. Ako ju správne využívať, sa učíme v kurzoch Umelá inteligencia.
Potrebuješ poradiť? ChatGPT ti pomôže rýchlejšie ako lektor
Skvelým parťákom, a to nielen pri štúdiu, pre nás bude najmä ChatGPT. Zrozumiteľne nám vysvetlí zložitejšiu látku, prediskutuje s nami náročnejšie koncepty a dokáže navrhnúť aj riešenie technických problémov v našom počítači. Pre študentov našich rekvalifikačných kurzov sú samozrejme k dispozícii konzultácie s lektormi.
Vo väčšine prípadov však môžeme náš problém či otázku vyriešiť pomocou ChatGPT oveľa rýchlejšie a rovnako efektívne ako s lektorom.
ChatGPT je k dispozícii prostredníctvom mobilnej aplikácie alebo online na adrese chatgpt.com. V riešení problémov vie byť naozaj vynaliezavý a opýtať sa ho môžeme prakticky na čokoľvek:

Pri komunikácii s chatbotom sa dozvieme množstvo zaujímavých informácií a pochopíme aj zložité koncepty, ktorých je v programovaní mnoho:

Môžeme sa napríklad opýtať na látku, ktorá nám nie je jasná a ktorú by sme potrebovali dovysvetliť:
Vysvetli, na čo slúži v JavaScripte metóda
constructor().
Odpoveď od ChatGPT
V JavaScripte metóda constructor() slúži ako
špeciálna metóda triedy, ktorá sa automaticky volá
pri vytvorení novej inštancie triedy. Jej hlavný účel je
inicializácia objektu - teda nastavenie východiskových
hodnôt vlastností objektu, prípadne vykonanie iných potrebných operácií
pri jeho vzniku.
📌 Hlavné vlastnosti metódy
constructor()
- Meno metódy musí byť presne
constructor(nedá sa použiť iné). - Môže prijímať parametre, ktoré potom slúžia na nastavenie vlastností objektu.
- V jednej triede môže byť iba jeden
constructor(). - Pokiaľ žiadny
constructor()výslovne nedefinuješ, JavaScript vytvorí východiskový konštruktor automaticky (bez parametrov).
🔧 Príklad použitia:
class Person { constructor(name, age) { this.name = name; this.age = age; } greet() { console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`); } } const person = new Person('Carl', 30); person.greet(); // Hello, my name is Carl and I am 30 years old.
V tomto príklade:
constructor(name, age)prijíma hodnoty pri vytváraní novej inštanciePerson.- Tieto hodnoty sa ukladajú ako vlastnosti inštancie pomocou
this.nameathis.age.
🧠 Tipy a poznámky:
- V dedičnosti sa často používa kľúčové slovo
super()vo vnútriconstructor()na volanie konštruktora nadradenej triedy. constructor()nie je volaný znovu pri opätovnom volaní metódy alebo zmene objektu – iba pri jeho vytvorení (new).
Chceš aj ukážku s dedičnosťou alebo s použitím super()
?
Ďalej sa môžeme tiež opýtať na praktické využitie určitého konceptu, napríklad dedičnosti:
Vysvetli, čo je dedičnosť v JavaScripte, na čo sa používa v praxi a uveď jednoduchý príklad s kódom.
Odpoveď od ChatGPT
🔍 Čo je dedičnosť v JavaScripte
Dedičnosť je základný princíp objektovo orientovaného programovania (OOP), ktorý umožňuje vytvárať nové objekty na základe existujúcich. Inými slovami – objekt (alebo trieda) môže "zdediť" vlastnosti a metódy iného objektu (alebo triedy).
V JavaScripte je dedičnosť realizovaná pomocou:
- prototype-based inheritance (predtým štandardný prístup)
- class-based syntax (zavedená v ECMAScript 2015 – ES6)
🎯 Na čo sa používa v praxi
Dedičnosť sa v praxi používa, keď:
- Potrebujeme zdieľať spoločné správanie medzi
viacerými objektmi (napr. metóda
speak()pre rôzne typy zvierat). - Chceme zjednodušiť a sprehľadniť kód – odstránime duplicitu.
- Staviame hierarchiu objektov – napr.
Person→Employee→Manager.
🧪 Jednoduchý príklad s kódom
Ukážeme si dedičnosť pomocou ES6 tried:
// Parent class class Person { constructor(name) { this.name = name; } greet() { console.log(`Hello, my name is ${this.name}.`); } } // Subclass that inherits from Person class Student extends Person { constructor(name, major) { super(name); // Calls the constructor of the parent class this.major = major; } study() { console.log(`${this.name} is studying ${this.major}.`); } } // Usage const student1 = new Student("Anna", "Computer Science"); student1.greet(); // Hello, my name is Anna. student1.study(); // Anna is studying Computer Science.
✅ Zhrnutie
- Dedičnosť umožňuje znovupoužitie kódu a vytváranie hierarchických štruktúr.
- JavaScript od ES6 podporuje triednu syntax pomocou
class,extends,super. - Pomáha organizovať kód, zvyšuje jeho prehľadnosť a znižuje duplicitu.
Ak chceš príklad s prototype-based prístupom alebo zložitejšiu hierarchiu (napr. viac úrovní alebo prepisovanie metód), daj vedieť!
Kvalita odpovede závisí predovšetkým na našom dotaze, tzv. promptu. Ako správne štruktúrovať prompt, sa učíme v lekcii Vytvárame efektívne prompty pre excelentné výstupy.
Nefunguje ti kód? Vyskúšaj nástroj ChatGPT Canvas
Pri práci s ChatGPT je možné využiť rozšírenie Canvas, ktoré ponúka okrem iného aj rozhranie pre interaktívnu prácu s kódom. Na rozdiel od bežného chatovacieho okna umožňuje organizovať odpovede a návrhy kódu do blokov, čo je ideálne pre zložitejšie úlohy, ako je návrh architektúry aplikácie alebo ladenie rozsiahlejších projektov. Vďaka vizuálnemu usporiadaniu je možné lepšie sledovať jednotlivé kroky návrhu, experimentovať s rôznymi prístupmi a ľahko sa vracať k predchádzajúcim verziám riešenia. Nástroj spustíme tlačidlom Canvas v menu ChatGPT, ktoré sa nám otvorí po kliknutí na tri bodky v chatovacom okne:

Teraz chatbotu odovzdáme náš kód a začneme na ňom pracovať:
let name = prompt("Enter your name:"); if (name.length <= 3 && name.length >= 10) { document.write("Normal name"); } else { document.write("Your name is too short or too long!"); }
Nástroj nám v kóde vyhľadá a opraví chyby:

Pri správne zadanom prompte môžeme v našom kóde jednoducho doplniť chýbajúcu funkcionalitu:
Oprav kód a pridaj validáciu vstupu. Chcem, aby nešlo zadať prázdne meno.

GitHub Copilot – Pomocník priamo v tvojom IDE
GitHub Copilot je AI asistent vyvinutý spoločnosťami GitHub a OpenAI. V Visual Studio Code je k dispozícii ako rozšírenie, ktoré je schopné navrhovať doplnenia v našom kóde, generovať kód podľa zadania či vyhľadávať a opravovať chyby.
Pozor: Nepoužívej nástroj Copilot vo svojom IDE, pretože bez dôkladného zvládnutia základov programovania sa nenaučíš samostatne vytvárať funkčný kód a v zamestnaní budeš ľahko nahraditeľný.
AI nástroje dokážu výrazne pomôcť pri štúdiu programovania - uľahčujú pochopenie ťažké látky a riešenie náročných úloh. Po dohode so zamestnávateľom ich možno uplatniť aj v praxi, kde môžu šetriť čas a zvyšovať produktivitu. Preto je dôležité sa s nimi naučiť efektívne pracovať a využívať ich potenciál naplno.
V budúcej lekcii, Textové reťazce v JavaScripte, si popíšeme metódy pre prácu s textovými reťazcami, preberieme tiež používanie rôznych úvodzoviek a špeciálne znaky.
