FINÁLNÍ VÝPRODEJ KREDITŮ na ITnetwork je tady. Využij poslední šanci a získej až 80 % extra kreditů ZDARMA na náš interaktivní e-learning. Zjisti více:
NOVINKA: Kurz kybernetické bezpečnosti s akreditací MŠMT, nyní již od 0 Kč. Staň se žádaným profesionálem. Zjisti více:

Lekce 2 - Využití umělé inteligence při studiu programování

V minulé lekci, Úvod do JavaScriptu, jsme probrali úvod do jazyka JavaScript.

V tomto tutoriálu se naučíme využívat AI při studiu programování. Ukážeme si, jak pomocí umělé inteligence lépe pochopit složité koncepty a zrychlit řešení úkolů, na kterých běžně trávíme spoustu času.

Pozor: AI je dobrý pomocník, ale zlý pán! Tato lekce ti ukáže, jak ti AI najde chybu ve tvém kódu nebo jednoduché úlohy vyřeší zcela za tebe. Prvně ale musíš nad úlohou přemýšlet a zkoušet ji sám, než požádáš o pomoc AI. Nebudeš jinak schopný v zaměstnání řešit komplexnější úlohy, se kterými ti AI nepomůže, protože ji nemůžeš poslat celý firemní projekt.

Využití AI při studiu programování

Učení se programování může být občas náročné. Budeme se setkávat se spoustou nových konceptů a nezvyklých problémů. Dnešní doba nám však poskytuje AI nástroje, které nám práci i studium velmi ulehčí. Stačí se je naučit správně používat. Nerozumíme nějakému tématu? ChatGPT nám danou problematiku na základě našich otázek znovu vysvětlí a pomůže nám si dané téma osvojit. Narazili jsme na problém v nějaké úloze? Nástroj Canvas ji s námi rozebere a v případě potřeby doporučí další postup, opraví chyby a podobně. Strávili jsme hodinu luštěním našeho kódu a nakonec jsme zjistili, že celý problém zapříčinila chybějící závorka? Nejsme první ani poslední – toto je skutečně více než běžné. Když si osvojíme používání AI nástrojů, bude řešení podobných problémů otázkou několika sekund.

AI je nápomocná v mnoha dalších oblastech. Jak ji správně využívat, se učíme v kurzech Umělá inteligence.

Potřebuješ poradit? ChatGPT ti pomůže rychleji než lektor

Skvělým parťákem, a to nejen při studiu, pro nás bude zejména ChatGPT. Srozumitelně nám vysvětlí složitější látku, prodiskutuje s námi náročnější koncepty a dokáže navrhnout i řešení technických problémů v našem počítači. Pro studenty našich rekvalifikačních kurzů jsou samozřejmě k dispozici konzultace s lektory.

Ve většině případů však můžeme náš problém či dotaz vyřešit pomocí ChatGPT mnohem rychleji a stejně efektivně jako s lektorem.

ChatGPT je k dispozici prostřednictvím mobilní aplikace nebo online na adrese chatgpt.com. V řešení problémů umí být opravdu vynalézavý a zeptat se ho můžeme prakticky na cokoli:

Prompt pro ChatGPT - Základní konstrukce jazyka JavaScript

Při komunikaci s chatbotem se dozvíme spoustu zajímavých informací a pochopíme i složité koncepty, kterých je v programování mnoho:

Odpověď ChatGPT na zadaný prompt - Základní konstrukce jazyka JavaScript

Můžeme se například zeptat na látku, která nám není jasná a kterou bychom potřebovali dovysvětlit:

Vysvětli, k čemu slouží v JavaScriptu metoda constructor().

Odpověď od ChatGPT

V JavaScriptu metoda constructor() slouží jako speciální metoda třídy, která se automaticky volá při vytvoření nové instance třídy. Její hlavní účel je inicializace objektu – tedy nastavení výchozích hodnot vlastností objektu, případně provedení jiných potřebných operací při jeho vzniku.

📌 Hlavní vlastnosti metody constructor()

  • Jméno metody musí být přesně constructor (nelze použít jiné).
  • Může přijímat parametry, které pak slouží k nastavení vlastností objektu.
  • V jedné třídě může být pouze jeden constructor().
  • Pokud žádný constructor() výslovně nedefinuješ, JavaScript vytvoří výchozí konstruktor automaticky (bez parametrů).

🔧 Příklad použití:

class Osoba {
  constructor(jmeno, vek) {
    this.jmeno = jmeno;
    this.vek = vek;
  }

  pozdrav() {
    console.log(`Ahoj, jmenuji se ${this.jmeno} a je mi ${this.vek} let.`);
  }
}

const clovek = new Osoba('Karel', 30);
clovek.pozdrav(); // Ahoj, jmenuji se Karel a je mi 30 let.

V tomto příkladu:

  • constructor(jmeno, vek) přijímá hodnoty při vytváření nové instance Osoba.
  • Tyto hodnoty se ukládají jako vlastnosti instance pomocí this.jmeno a this.vek.

🧠 Tipy a poznámky:

  • V dědičnosti se často používá klíčové slovo super() uvnitř constructor() pro volání konstruktoru nadřazené třídy.
  • constructor() není volán znovu při opětovném volání metody nebo změně objektu – pouze při jeho vytvoření (new).

Chceš i ukázku s dědičností nebo s použitím super()?

Dále se můžeme také zeptat na praktické využití určitého konceptu, například dědičnosti:

Vysvětli, co je dědičnost v JavaScriptu, k čemu se používá v praxi, a uveď jednoduchý příklad s kódem.

Odpověď od ChatGPT

🔍 Co je dědičnost v JavaScriptu

Dědičnost je základní princip objektově orientovaného programování (OOP), který umožňuje vytvářet nové objekty na základě existujících. Jinými slovy – objekt (nebo třída) může "zdědit" vlastnosti a metody jiného objektu (nebo třídy).

V JavaScriptu je dědičnost realizována pomocí:

  • prototype-based inheritance (dříve standardní přístup)
  • class-based syntaxe (zavedena v ECMAScript 2015 – ES6)

🎯 K čemu se používá v praxi

Dědičnost se v praxi používá, když:

  • Potřebujeme sdílet společné chování mezi více objekty (např. metoda speak() pro různé typy zvířat).
  • Chceme zjednodušit a zpřehlednit kód – odstraníme duplicitu.
  • Stavíme hierarchii objektů – např. OsobaZaměstnanecManažer.

🧪 Jednoduchý příklad s kódem

Ukážeme si dědičnost pomocí ES6 tříd:

// Nadřazená třída
class Osoba {
  constructor(jmeno) {
    this.jmeno = jmeno;
  }

  pozdrav() {
    console.log(`Ahoj, jmenuji se ${this.jmeno}.`);
  }
}

// Podtřída, která dědí z Osoba
class Student extends Osoba {
  constructor(jmeno, obor) {
    super(jmeno); // Volá konstruktor nadřazené třídy
    this.obor = obor;
  }

  studuj() {
    console.log(`${this.jmeno} studuje obor ${this.obor}.`);
  }
}

// Použití
const student1 = new Student("Anna", "Informatika");

student1.pozdrav();  // Ahoj, jmenuji se Anna.
student1.studuj();   // Anna studuje obor Informatika.

✅ Shrnutí

  • Dědičnost umožňuje znovupoužití kódu a vytváření hierarchických struktur.
  • JavaScript od ES6 podporuje třídní syntaxi pomocí class, extends, super.
  • Pomáhá organizovat kód, zvyšuje jeho přehlednost a snižuje duplicitu.

Pokud chceš příklad s prototype-based přístupem nebo složitější hierarchii (např. více úrovní nebo přepisování metod), dej vědět!

Kvalita odpovědi závisí především na našem dotazu, tzv. promptu. Jak správně strukturovat prompt, se učíme v lekci Vytváříme efektivní prompty pro excelentní výstupy.

Nefunguje ti kód? Vyzkoušej nástroj ChatGPT Canvas

Při práci s ChatGPT lze využít rozšíření Canvas, které nabízí mimo jiné i rozhraní pro interaktivní práci s kódem. Na rozdíl od běžného chatovacího okna umožňuje organizovat odpovědi a návrhy kódu do bloků, což je ideální pro složitější úlohy, jako je návrh architektury aplikace nebo ladění rozsáhlejších projektů. Díky vizuálnímu uspořádání je možné lépe sledovat jednotlivé kroky návrhu, experimentovat s různými přístupy a snadno se vracet k předchozím verzím řešení. Nástroj spustíme tlačítkem Canvas v menu ChatGPT, které se nám otevře po kliknutí na plus v chatovacím okně:

Zapnutí Canvasu v ChatGPT - Základní konstrukce jazyka JavaScript

Nyní chatbotu předáme náš kód a začneme na něm pracovat:

const jmeno = prompt("Zadej své jméno:");

if (jmeno.length <= 3 && jmeno.length >= 10) {
    document.body.innerHTML += "Normální jméno";
} else {
    document.body.innerHTML += "Máš moc krátké nebo moc dlouhé jméno!";
}

Nástroj nám v kódu vyhledá a opraví chyby:

Editace kódu v Canvasu - Základní konstrukce jazyka JavaScript

Při správně zadaném promptu můžeme v našem kódu jednoduše doplnit chybějící funkcionalitu:

Přidej do kódu validaci vstupu. Chci, aby nešlo zadat prázdné jméno.

Editace kódu v Canvasu – doplnění funkcionality - Základní konstrukce jazyka JavaScript

AI nástroje dokážou výrazně pomoci při studiu programování – usnadňují pochopení obtížné látky a řešení náročných úloh. Po dohodě se zaměstnavatelem je lze uplatnit i v praxi, kde mohou šetřit čas a zvyšovat produktivitu. Proto je důležité se s nimi naučit efektivně pracovat a využívat jejich potenciál naplno.

Shrnutí lekce

AI používáme při studiu jako pomocníka, ne jako náhradu vlastního přemýšlení. Může nám vysvětlit složitou látku, najít chybu v kódu nebo poradit s dalším postupem, když se zasekneme. ChatGPT se hodí na vysvětlení pojmů a řešení problémů, Canvas pomáhá přehledně pracovat s delším kódem. AI nástroje nám mohou výrazně ušetřit čas, ale nejdříve se vždy snažíme úlohu pochopit a vyřešit sami, abychom se programování opravdu naučili.

V příští lekci, VS Code a Copilot, si připravíme editor Visual Studio Code a ukážeme použití GitHub Copilota.


 

Předchozí článek
Úvod do JavaScriptu
Všechny články v sekci
Základní konstrukce jazyka JavaScript
Přeskočit článek
(nedoporučujeme)
VS Code a Copilot
Článek pro vás napsal Adam Straňovský
Avatar
Uživatelské hodnocení:
530 hlasů
Autor se zabývá výukou a vzděláváním dospělých, zejména v oblasti výpočetní techniky, programování a tvorby webových stránek. Ve volném čase se rád věnuje hudbě a hře na kytaru.
Aktivity