Domů > Spomocník > Základní vzdělávání > Využití programu Scratch
Odborný článek

Využití programu Scratch

2. 4. 2013 Základní vzdělávání Spomocník
Autor
Tomáš Krisl

Anotace

Pohled na možnosti využití programu Scratch v hodinách výuky práce s počítačem i mimo ně s ukázkami.

O programu Scratch nejspíše neslyšíte poprvé. Přímo na Spomocníkovi jste se o něm mohli dozvědět v článku Scratch ve výuce. Návody a rady pro ovládání a práci se Scratchem je možné najít například na stránkách, které byly v článku uvedeny, a proto se tentokrát zaměříme na využití Scratche nejen pro výuku programování ale i na jiné situace, kdy může učiteli hodit.

Výhody

Proč vybrat zrovna Scratch? Tento program lze využít pro práci s žáky, kteří začínají a teprve se seznamují s programováním (a nejen s ním, jak si ukážeme za chvíli). Jedná se o vizuální programovací jazyk, není tedy nutné učit se příkazy a syntaxi. Veškerá práce spočívá v logickém navazování blokových prvků. Program můžeme nainstalovat v češtině, a proto jsou i popisky bloků pro všechny žáky srozumitelné. Díky snadné tvorbě příkazů, a tím i jednoduchému ovládání objektů na ploše programu, žáci vytvoří první pohybující se postavičku během několika minut. Snadno tak hned v prvním okamžiku zavedeme zvídavou dětskou duši na cestu programování.

Ve chvíli, kdy žákům ukážeme možnost svůj program vystavovat na internetových stránkách projektu Scratch, nebude trvat dlouho a někteří z nich budou na sociálních sítích, kde tráví s oblibou tolik času, vystavovat odkazy na programy, které oni sami vytvořili.

Scratch a programování

Jak již bylo řečeno, díky vizuálnímu blokovému pojetí je program často nasazován v rámci úvodu do programování. Ze začátku dítě samo jen díky radosti z tvorby vytváří pohybující se a komunikující postavičky na měnícím se pozadí. Možnost snadného vkládání a ovládání zvuku tuto samo-kreativní fázi s jistotou prodlouží.

Ovšem časem bude třeba přejít k tomu, co žáci nejspíše sami neobjeví - využívání proměnných (číselných i znakových, dokonce jednoduchého seznamu), vzájemná interakce objektů, přeposílání zpráv mezi jednotlivými objekty programu ad. Na vyšším stupni se pak samozřejmě již řeší jiné věci než jen vtipné scénáře a jednoduché hríčky.

Přestože s těmito možnostmi nám Scratch vydrží poměrně dlouhou dobu, jednou se dostaneme do fáze, kdy bude potřeba přejít se žáky, kteří mají o programování zájem, ke komplexním programovacím jazykům, které umožňují využití všech možností vstupů (program Scratch dovoluje pouze zadávání z klávesnice) a lépe implementují práci s proměnnými.

Pro zájemce doporučuji slovenské online materiály Scratch - Priručka pre začiatočníkov či pokročilejší práci Bc. Jána Hruboše z Katolické univerzity v Ružomberku Zahrajme sa s jazykom Scratch. Příznivci materiálů, které lze držet v ruce, možná sáhnou raději po knize Programování pro děti z nakladatelství Computer press. Pomoci vám mohou též mnohá videa na serveru Youtube.

Další využití v hodinách informatiky

Využít tento program pouze pro výuku programování opomíjí další možnosti, které se přímo nabízejí.

Ve chvíli, kdy se v hodinách chystáte žáky učit zpracovávat a upravovat zvuk, je Scratch skvělou motivací. Můžete využít zvuků a nahrávek z jiných programů nebo je možné zvuk též zaznamenat přímo. Poslední možností je využít velkého výběru připravených hudebních nástrojů a s jejich pomocí generovat zvuk vlastní.

Stejně tak při výuce práce s grafikou se přímo nabízí vytváření vlastních postaviček a tvarů. Nejjednodušší variantou je využít obrázků, které připravíme jinde. Scratch  sice obsahuje pro kreslení vlastní aplikaci, se kterou můžeme začít, ale protože její možnosti jsou velmi omezené, sami žáci nejspíše po chvíli budou vyžadovat práci s programem, který jim umožní přesnější a kvalitnější tvorbu.

Další oblastí, v níž je Scratch doma, je tvorba animací. Při tvorbě pohyblivých postaviček vznilklých rychlým střídáním několika obrázků, pozadí s ubíhajícími mraky nebo sluníčka přesouvajícího se po obloze, můžeme názorně vysvětlit, jak je vytvářen pohyblivý obraz ve filmu. Můžeme vyzkoušet, jaký je rozdíl při sledování animace při různých rychlostech změn obrázků, které pohyblivý obraz vytvářejí. Jak taková animace vypadá, nejlépe zjistíte z malé ukázky

Scratch v jiných předmětech

Pokud jsme žáky naučili vytvářet aplikace se zvukem a animacemi, mohou toho využít i v hodinách jiných předmětů. Místo vypracování textu referátu nebo prezentace, například pro téma ekologie a třídění odpadů, mohou vytvořit buď animaci, kdy postavička roznáší odpad do správných kontejnerů, nebo dokonce hru, ve které mají s pomocí postavičky odpad hráči roztřídit a za správně umístěné odpadky získávají body.

Dalším příkladem může být například využití přímo kódu hotového programu v hodinách matematiky při probírání logických výroků (obvykle 1. ročník gymnázií). Žáci bez jakékoliv znalosti programování dokáží v zápisu najít logické výroky, převést si je na značky, které se na zápis výroků používají a v případě úmyslně složitě sestaveného výroku jej dokáží zjednodušit. Přímo v praxi vidí využití toho, co se naučili.

Ukázka programu na třídění odpadů

Scratch pro učitele

Díky snadné tvorbě dokážou s programem pracovat i učitelé neprogramátoři. Velice snadno si mohou sami (či s mírnou pomocí) vytvořit pomůcku pro výuku nebo cvičení pro žáky na doma. Typickým příkladem může být program pro opakování malé násobilky nebo ve spojení se zvukem i slovíček v cizím jazyku.

Tvorba takovýchto prográmků může být i náplní pro hodiny programování. Ideální aktivitou je, dělají-li starší žáci výukové aplikace pro mladší jako zakázku vyučujících.

Ukázka programu na procvičení násobilky

Každý, kdo program zná, by určitě doplnil další možnosti jeho využití. Hlavní výhodou je snadnost tvorby na pohled pěkných programů, díky které jsou žáci motivováni. Této motivace můžeme využít různými způsoby nejen v hodinách práce s počítačem, ale i v jiných předmětech. S tímto nástrojem můžete rozšiřovat schopnosti dítěte již ve velmi útlém věku.

Začínat přitom nebudete tvrzením: „Dnes se začneme učit programovat.“ Mnohem výstižnější je: „Dnes si budeme hrát.“

Licence

Všechny články jsou publikovány pod licencí Creative Commons BY-NC-ND.

Autor
Tomáš Krisl

Hodnocení od uživatelů

Lukáš Kotek
3. 4. 2013, 11:09
Děkuji za výborný článek, Scratch je fascinující věc :-) Od doby, co jsem k němu přičichl (a v reálu ho vyzkoušel),vidím, že programování na ZŠ není jen nějakou iluzí (či úletem apod.). Ale co jsem chtěl napsat, v rámci plnění jednoho předmětu jsem po nějaký čas učil žáky na jedné pražské ZŠ a musím říct, že to byla cenná zkušenost.
Jeden žák se např. v podstatě sám dobral k principu proměnných a posléze i polí. Bylo zajímavé sledovat jeho vývoj, jak krok za krokem postupoval vpřed. Nepsal ani tak vlastní programy, spíš výrazně rozšiřoval ty stávající o další funkcionalitu. Když jsem tam končil, už narážel na meze Scratche jako takového a tvořil si programátorské obezličky :-)
U jiných zase bylo zajímavé vidět, jak - bez předchozí zkušenosti s programováním - jedni volí spíše objektový přístup a jiní spíš procedurální. Ale co je hlavní - jen málokterý žák Scratch zavrhl (vlastně si nevybavuji nikoho takového) nebo s prací v něm měl nějaký výraznější problém (byť úroveň se samozřejmě lišila). Nebylo to pro ně něco nezvladatelného, ale něco s čím pracovali rádi, co je bavilo.
Ivan Ryant
2. 5. 2013, 20:53
S tímto článkem souvisí:
http://scratch.mit.edu/
Scratch ve výuce. Metodický portál: Články [online]. 26. 01. 2012, [cit. 2013-05-02]. Dostupný z WWW: http://spomocni…UCE.html ISSN 1802-4785.
Raspberry Pi a jeho potenciál pro školství. Metodický portál: Články [online]. 27. 06. 2012, [cit. 2013-05-02]. Dostupný z WWW: http://spomocni…TVI.html ISSN 1802-4785.
KOTEK, Lukáš. Raspberry Pi a možnosti jeho praktického použití. Metodický portál: Články [online]. 17. 12. 2012, [cit. 2013-05-02]. Dostupný z WWW: http://spomocni…ITI.html ISSN 1802-4785.
HUMPOLCOVÁ, Tereza. MS Kodu ve výuce. Metodický portál: Články [online]. 16. 06. 2011, [cit. 2013-05-02]. Dostupný z WWW: http://spomocni…UCE.html ISSN 1802-4785.
Pavlína Hublová
10. 11. 2013, 17:37
Přidávám aktuálně zkušenosti Libora Klubala a jeho náměty na aktivity: http://www.ipad…scratch/
Ivan Ryant
13. 11. 2013, 23:14
Dovoluji si upozornit na to, že Libor Klubal uvádí ve svém článku velmi pěkné příklady -- kdo si chce ušetřit spoustu práce s vymýšlením a přípravou vlastních příkladů, má příležitost. Ty, kteří chtějí ukázat žákům (studentům), co je to algoritmické myšlení nebo algoritmický způsob řešení úloh, však musím upozornit na věcnou chybu ve větě: "Cílem je naučit žáky rozložit větší problém na menší, pochopit pojem algoritmus a provést jeho návrh, znát základní algoritmické konstrukce (sekvence, podmínka, cyklus)". Bohužel se jedná o všeobecně rozšířený omyl, že sekvence, selekce (podmínka) a iterace (cyklus) nám umožní zkonstruovat libovolný algoritmus z elementárních kroků výpočtu. Není to pravda. Pomocí sekvence, selekce a iterace se nedá např. vyhodnocovat aritmetický výraz se závorkami ani hledat cesta bludištěm (což jsou algoritmy běžně používané prakticky). Algoritmizace má významný přesah do matematiky, který by studenti měli pochopit, a to je konstrukce matematických důkazů -- ty se ovšem pouhou sekvencí, selekcí a iterací konstruovat nedají. Scratch ovšem umožňuje v omezené míře i rekurzi (např. ke kreslení fraktálů) a modifikovaný Scratch pod názvem BYOB plnou rekurzi. Starší nástroje pro výuku programování, jako Karel nebo Logo, byly ovšem na rekurzi metodicky založeny a ve svých původních verzích ani neumožňovaly programovat s cykly. Libora Klubala jsem sice na jeho chybu upozornil, ale on ji odmítl opravit, proto se o ní zmiňuji zde.
Libor Klubal
15. 11. 2013, 19:24
Děkuji za reakce. Chtěl bych upozornit (stejně jako jsem se to snažil vysvětlit i p. Ryantovi), že článek je skutečně koncipován jen jako praktická ukázka toho, jak lze využít Scratch v hodinách. V žádném případě se nejedná o teoretické pojednání o problematice algoritmizace. Berme prosím Scratch jako nástroj pro první kroky v programování.
Ivan Ryant
15. 11. 2013, 19:53
Pan Klubal žije ve vědomém omylu, svůj omyl veřejně šíří a odmítá svoji chybu opravit. Zveřejnil větu "Cílem je ... pochopit pojem algoritmus a provést jeho návrh, znát základní algoritmické konstrukce (sekvence, podmínka, cyklus)", v této větě je VĚCNÁ CHYBA a na tom nic nemění ani zbytečné řeči o praktičnosti a neteoretičnosti. Chce-li pan Klubal redukovat algoritmizaci na strukturované programování, nemá mluvit o algoritmizaci, protože to algoritmiace prostě NENÍ a požadavky RVP to prostě nepokrývá. Je snadné se urazit jako pan Klubal, ale nic to nemění na tom, že pan Klubal vědomě klame veřejnost a zejména své žáky, kteří se proti jeho výchovně-vzdělávacímu působení nemohou bránit.
 
Libor Klubal
16. 11. 2013, 08:27
Nevím, zda je tato diskuse vhodným místem pro řešení výkladu pojmu algoritmizace a jeho správného začlenění do RVP-G. Určitě se shodneme na tom, že samotný pojem algoritmizace je velmi obecný a vždy je nutné při jeho výkladu přihlédnout ke kontextu ve kterém je probírán. V případ RVP-G je pojem algoritmus jednou zmíněn v oblasti Matematika a podruhé v oblasti IKT. V případě IKT je uvedeno "algoritmizace úloh - algoritmus, zápis algoritmu, úvod do programování". Tím je kontext dle mého názoru jednoznačně dán. Proto se můj původní článek jmenuje "Výuka programování - Scratch". 
Podobná diskuse o pojetí pojmu algoritmizace již proběhla na serveru Česká škola a nemyslím že by bylo nutné ji na tomto místě opakovat. 
Pane Ryante: Nikoho vědomě neklamu, možná jen nesdílím Váš vyhraněný názor na výklad pojmu algortmizace, stejně jako Vy nesdílíte můj. Nikdy bych si však nikdy nedovolil o Vás napsat, že je Váš názor věcně chybný a že svými články někoho klamete. Vnímám Vaše poznámky a respektuji je, to však nic nemění na tom, jaké formy, metody a obsah výuky používám a používat budu. 
Ivan Ryant
16. 11. 2013, 13:46
K zápisu algoritmů nepotřebujete cyklus a nevystačíte s ním (podobně jako ze sčítání přirozených čísel do deseti nepochopíte, co je to  matematika) -- to je fakt, nikoli věc názoru. A když někdo udělá faktickou chybu, tak si ho na to klidně dovolím upozornit. A když někdo zákeřně klame veřejnost, je mojí profesionální povinností veřejnost varovat.
Lenka Urbanová
20. 11. 2013, 15:20
Dobrý den!
Pane Ryante, pane Klubale, dovolte, prosím, pár moderátorských poznámek.
Debatujete nikoli o článku, který je publikován výše, nýbrž o blogovém příspěvku pana Klubala, na který v komentářích odkázala paní Hublová. Jen konstatuji. 
Pane Ryante, určitě vítáme upozornění, že v odkazovaném článku považujete některé tvrzení za mylné. Napříště vás ale prosím, abyste zůstal u věcné argumentace k tématu a nevyjadřoval se k osobě autora. I když jste přesvědčen, že "pravda" je na vaší straně, emoce vám nepomohou ji prosadit, čtenář si všimne.
Pane Klubale, upozornění na věcnou chybu vás, jak doufám, dovedlo ke klidnému zamyšlení a rozhodnutí. Děkujeme za vaše reakce v komentářích!
Pánové, oběma přejeme mnoho zdaru ve vaší práci! Ostatně vaše zapálení je také inspirující.
Lenka Urbanová, moderátorka diskuzí na Metodickém portálu RVP.cz

Váš komentář

Pro vložení komentáře je nutné se nejprve přihlásit.

Článek není zařazen do žádného seriálu.