2.10 Programování: Pomoc u vybraných úkolů
Naučte se programovat, aniž by kód psala UI
Předmět: Programování · Ročník: 9. ročník (14–15 let) · Délka: 1 dvouhodinový blok (90 min) · UI: Podpora S UI
| Kompetence v oblasti UI (rámec DUAL.AI.TEACHer) – úroveň učitele | Předmětové vzdělávací cíle – úroveň žáka |
|
AF-TL-2b (Základy a aplikace UI × Výuka a učení, úroveň 2 – Reflektivní implementace):
„Pedagogové dokážou uspořádat prvky výuky, které zapojují používání UI s jasnými pedagogickými rolemi a strategiemi pro ověřování výstupů.“
AF-FC-2b (Základy a aplikace UI × Podpora digitální kompetence žáků (v oblasti UI), úroveň 2 – Reflektivní implementace):
„Pedagogové dokážou realizovat vedení, které pomáhá žákům rozvíjet praktické dovednosti v oblasti UI, a přizpůsobit úkoly předchozím znalostem žáků a dostupným nástrojům UI.“ |
Na konci hodiny žáci dokážou:
|
Klíčové poselství: Žáci potřebují znát základy programování, chtějí-li hodnotit výsledky, které model poskytne. Žáci v prvních krocích učení se programování by proto měli modely UI používat k podpůrným a opakujícím se úkolům souvisejícím s programováním, nikoli k tvorbě kódu. Model mohou také požádat o možná vylepšení kódu, a otestovat si tak své programátorské schopnosti.
Obrázek 1. Obrázek vytvořený pomocí Gemini (3.6 Thinking), 8. září 2026.
Obsah
Výuka programování se mění v době, kdy systémy UI dokážou kód generovat, vysvětlovat i revidovat. Tyto nástroje sice nabízejí nové příležitosti k učení, přinášejí však i důležitou pedagogickou výzvu: žáci potřebují dostatečné znalosti programování, aby dokázali posoudit, zda je návrh vygenerovaný UI správný, efektivní, nebo vůbec relevantní pro zadaný úkol. Bez základního porozumění programovacím konceptům mohou žáci přijmout chybná řešení, přehlédnout chyby nebo nerozpoznat lepší alternativy. Proto zůstává osvojení základů programování zásadní i tehdy, jsou-li nástroje UI k dispozici.
V úvodních kurzech programování by UI měla mít roli nástroje na podporu učení, nikoli náhradního programátora. Žáci mohou UI účelně využívat k opakujícím se nebo rutinním úkolům, které nesnižují kognitivní úsilí spojené s učením se programovat. Příkladem je formátování a odsazování kódu, generování dokumentačních komentářů, vysvětlování chybových hlášení, shrnování pravidel syntaxe nebo pomoc s pochopením účelu konkrétních programových konstrukcí. Tato využití umožňují žákům soustředit pozornost na logiku, algoritmy a postupy řešení problémů, které tvoří jádro programátorské kompetence.
Dalším přínosným využitím UI je revize kódu. Místo toho, aby žáci model UI požádali o napsání řešení, napíšou nejprve vlastní kód a poté model požádají, aby určil možná vylepšení. UI může navrhnout srozumitelnější názvy proměnných, lepší uspořádání kódu, omezení redundance, lepší čitelnost nebo alternativní přístupy, které žák samostatně vyhodnotí. Tím se UI mění v partnera pro zpětnou vazbu: žáci mohou porovnat vlastní úvahy s vnějšími návrhy a posoudit silné a slabé stránky svých řešení.
Zpětnou vazbu vygenerovanou UI by však žáci neměli přijímat nekriticky. Modely mohou doporučit změny, které jsou zbytečné, neefektivní nebo vycházejí z chybných předpokladů o účelu kódu. Ústředním cílem této hodiny je proto rozvíjet schopnost žáků kriticky hodnotit návrhy UI. Žáci se naučí ptát se modelu UI nejen na to, jaká vylepšení navrhuje, ale také proč tyto změny považuje za přínosné. Porovnáním argumentace modelu s osvědčenými programátorskými principy mohou žáci posoudit, zda navrhovaná optimalizace kód skutečně zlepšuje, nebo zda jde jen o jiné návrhové rozhodnutí.
Tato hodina pojímá UI jako nástroj, který podporuje reflexi, sebehodnocení a zvyšování kvality kódu, nikoli jeho generování. Žáci si procvičují psaní vlastních programů, využívání UI k podpůrným úkolům, vyžádání zpětné vazby ke své práci a kritickou analýzu kvality odpovědí, které dostanou. Konečným cílem je pomoci žákům stát se jak lepšími programátory, tak poučenějšími uživateli systémů UI.
Plán hodiny
| Fáze | Čas | Aktivita |
| Úvod | 10 min | Učitel představí dvě krátká řešení téhož problému – jedno napsané žákem a jedno vygenerované modelem UI. Žáci diskutují o tom, které řešení působí srozumitelněji, efektivněji nebo je snazší na pochopení. |
| Vstup | 10 min | Učitel představí vhodná využití UI ve výuce programování a zdůrazní rozdíl mezi podpůrnými úkoly, revizí kódu a generováním kódu. |
| Zkoumání | 15 min | Žáci pracují ve dvojicích na malém programátorském cvičení a určují, které úkoly by bylo vhodné svěřit asistentovi UI a které mají zůstat jejich odpovědností. |
|
Cyklus vylepšování |
35 min | Žáci napíšou vlastní řešení a projdou 2 až 3 kola cyklu napiš → zeptej se → vyhodnoť → uprav, přičemž UI využívají pouze k podpůrným úkolům a návrhům na vylepšení. |
| Reflexe | 20 min | Diskuse s celou třídou o užitečnosti a omezeních zpětné vazby od UI se zaměřením na to, jak žáci určovali, zda jsou návrhy přínosné, nebo ne. |
Vodicí otázky: postupné zvyšování složitosti
Žáci projdou tolik kol, kolik během 35minutového cyklu vylepšování stihnou. Každé kolo má stejné čtyři kroky: Napiš → Zeptej se → Vyhodnoť → Uprav
- Kolo 1 — Využití UI k podpůrným úkolům
- Napiš: Samostatně vypracuj krátké programátorské cvičení.
- Zeptej se: Požádej UI o podporu u úkolu, který se netýká samotného programování, například:
- zlepšení odsazení,
- vygenerování komentářů,
- vysvětlení chybového hlášení,
- popis toho, co dělá určitá funkce.
- Vyhodnoť: Popisuje vysvětlení od UI kód přesně? Jsou vygenerované komentáře užitečné a srozumitelné?
- Uprav: Zapracuj užitečné změny, ale dbej na to, aby logika programu zůstala výhradně tvým dílem.
- Kolo 2 — Žádost o návrhy na vylepšení
- Napiš: Projdi si svůj hotový program a najdi části, které by bylo možné vylepšit.
- Zeptej se: Požádej o návrhy na vylepšení, aniž bys UI nechal kód přepsat. Například:
„Navrhni tři způsoby, jak zlepšit čitelnost a udržovatelnost tohoto programu, ale neposkytuj náhradní kód.“
-
- Vyhodnoť: Které návrhy se zdají přínosné? Které návrhy by na program měly jen malý dopad?
- Uprav: Proveď vylepšení, se kterými souhlasíš, a otestuj, zda se program stále chová správně.
- Kolo 3 — Kritické hodnocení rad k optimalizaci
- Napiš: Vyber část svého kódu, která provádí opakující se úkol nebo používá cykly.
- Zeptej se: Požádej o návrhy na optimalizaci a vyžádej si, aby UI svá doporučení zdůvodnila.
Ukázkový prompt:
„Vysvětli, jak by bylo možné tento kód optimalizovat a proč by každá navrhovaná optimalizace zlepšila výkon nebo čitelnost. Neposkytuj optimalizovaný kód.“
-
- Vyhodnoť: Jsou navrhované optimalizace skutečně přínosné? Které z nich jsou podloženy jasnou argumentací? Které se jeví jako zbytečné nebo těžko zdůvodnitelné?
- Uprav: Rozhodni, která doporučení uplatníš, a své rozhodnutí zdůvodni.
Reflektivní otázky:
- Které návrhy UI byly pro vylepšení tvého kódu nejužitečnější?
- Poskytla UI nějaké návrhy, se kterými jsi nesouhlasil? Proč?
- Jak jsi určil, zda se optimalizace vyplatí?
- Kdy je UI během programování nejužitečnější?
- Které programátorské úkoly by měl stále vykonávat žák sám?
- Proč jsou znalosti programování nezbytné pro hodnocení zpětné vazby vygenerované UI?
- Jak se mohou žáci při učení programování vyhnout přílišné závislosti na nástrojích UI?
Závěrečná otázka (pro fázi reflexe):
Kolik znalostí programování je nutných k tomu, aby člověk posoudil, zda návrh UI program skutečně zlepšuje, a jaká rizika vznikají, když se uživatelé spoléhají na rady vygenerované UI, aniž by kódu sami rozuměli?
Materiály
- Jeden notebook na dvojici žáků s programovacím prostředím
- Přístup k chatovacímu asistentovi UI nebo lokálně provozovanému jazykovému modelu
- Krátké programátorské cvičení odpovídající úrovni zkušeností žáků
- Pracovní list podle cyklu napiš → zeptej se → vyhodnoť → uprav
- Reflektivní otázky zaměřené na gramotnost v oblasti UI a kritické hodnocení
- Volitelně ukázky kódu ilustrující dobrou a špatnou programátorskou praxi

No comments to display
No comments to display