v blokově orientovaném programovacím jazyce vytvoří přehledný program, používá opakování, větvení programu, proměnné

INF-INF-002-ZV9-007
divider

Popis a zdůvodnění

Žák si prohlubuje svoje dovednosti související s programováním. Osvojuje si komplexnější pracovní postup – od specifikace problému přes rozmyšlení algoritmu, návrh a implementaci řešení k ověření jeho fungování a k opravě chyb, resp. k jeho iterativnímu vylepšování do požadované kvality.

Využívá další řídicí programové struktury, k opakování s daným počtem přidává opakování s ukončovací podmínkou. Naučí se také program větvit podle zadané podmínky. Běžně využívá podprogramy (bloky kódu) pro větší přehlednost a menší chybovost kódu. Proměnné mu pak umožní řešit složitější úlohy a vytvářet pokročilejší programy, např. hry nebo jiné simulace. Pokročilé programy také vyžadují základní péči o podobu kódu, aby byl přehledný a srozumitelný i pro ostatní (programátory v týmu).

Žák předvídá možné pozitivní i negativní důsledky programů, které vytváří, a přijímá za ně přiměřenou zodpovědnost.

Vytvoření přehledného a zodpovědného programu v blokově orientovaném programovacím jazyce, který řeší praktický problém, motivuje žáky k dalšímu studiu a rozvoji. Žáci řeší zajímavým způsobem úlohy, které je baví, jsou jasně stanovené, propojují učení s reálným světem, nabízejí výzvy, podporu učitele i autonomii při tvorbě.

Hodnoty

  • Sdílené poznání
  • Respektování potřeb planety
  • Podpora udržitelných technologií a inovací
  • Důstojný život pro všechny

Postupné/dílčí kroky dosahování očekávaného výsledku učení:

  • začíná na jednoduchých příkladech, činí jednoduchá rozhodnutí, např. se seznamuje s hotovým programem a na vymezených místech upravuje jeho chování; postupně narůstá obtížnost různých aspektů jeho práce
  • zlepšuje se jeho orientace v daném programovacím prostředí, osvojuje si další pojmy a koncepty, pokročilé možnosti, nabídky a postupy
  • seznamuje se s dalšími bloky a možnostmi jejich vzájemného ovlivňování a kombinování, a rozšiřuje tak možnosti svých programů
  • trénuje jednotlivé dílčí programátorské činnosti (specifikace a analýza zadání, návrhy řešení, výběr nejslibnějšího, převod na bloky, implementace a testování), postupně je kombinuje a řadí za sebou, aby kompletoval rozsáhlejší vlastní projekty
  • seznamuje se s příklady použití nových řidicích struktur, testuje je v izolovaných příkladech, učí se předvídat, k jakému vedou chování, sám je implementuje podle pokynu, později sám rozhoduje, kdy bude jejich využití vhodné; nakonec se obdobně (postupně) učí je mezi sebou kombinovat
  • krokuje programy s proměnnými, sleduje vývoj jejich hodnot, hodnotí přínosy jejich použití; první pokusy s proměnnými jsou vedeny, postupně žák iniciativu přebírá a samostatně rozpoznává, že si program má něco pamatovat, jaké to bude hodnoty, jakým způsobem se bude hodnota proměnné měnit
  • zdrojový kód je zprvu nahodilý, postupně ho žák uspořádává lépe (aspoň co do zarovnání), přidává komentáře, zvažuje rovnováhu mezi rychlostí implementace, přehledností a úsporností kódu
  • seznamuje se s příklady důsledků jiných programů a služeb, včetně těch obecně neočekávaných, zvažuje dopady na sebe, na své uživatele, jejich okolí, případně i širší dopady

Očekávané výsledky učení