Trendy ve vzdělávání 2013 Informační a komunikační technologie ve vzdělávání
SPOJENÍ KONSTRUKČNÍ STAVEBNICE LEGO WeDo S PROJEKTEM SCRATCH JAKO JEDNA Z ALTERNATIVNÍCH CEST VE VÝUCE ALGORITMIZACE A PROGRAMOVÁNÍ NA 1. STUPNI ZŠ HAVELKA Martin – DÖMISCHOVÁ Ivona, ČR Resumé Příspěvek klade otázky související s pojetím výuky programování a algoritmizace. Kdy začít výuku uvedené problematiky? Jaké jsou cíle této výuky? Jaké prostředky jsou k tomu vhodné? Cílem je diskuse na toto téma. Na některé z uvedených otázek nabízíme odpovědi. Klíčová slova: Výuka základů algoritmizace a programování, projekt Scratch, konstrukční stavebnice Lego WeDo CONNECTING LEGO WeDo CONSTRUCTION KIT WITH SCRATCH PROJECT AS A POSSIBLE WAY IN TEACHING ALGORITHM DEVELOPMENT AND PROGRAMMING AT PRIMARY SCHOOL Abstract In this contribution there are several questions referring to teaching programming and algorithm development. When should the above mentioned subjects be taught? What are the aims of such teaching? What tools are applicable in such teaching? The aim is to discuss this topic. We offer several answers to some of the mentioned questions. Key words: Teaching the basics of algorithm development and programming, Scratch project, Lego WeDo construction kit. Úvod Z hlediska budoucí profesní orientace žáků a rozvíjení jejich zájmů není rozhodující až 2. stupeň ZŠ. Zkušenosti ukazují, že již na 1. stupni ZŠ jsou při vhodném uspořádání podmínek výuky vytvářeny předpoklady pro rozvíjení široké palety schopností a dovedností žáků. Patří sem bezesporu také rozvoj technické kreativity, tvořivého technického myšlení žáků a schopnost formulace jednoduchých algoritmů. Uvedený komplex dovedností může následně zapůsobit i jako motiv pro žádoucí orientaci žáků ke studiu technických a přírodovědně zaměřených oborů. Programování a algoritmizace je téma vyskytující se v RVP ZV až na 2. stupni ZŠ. V této stati ukážeme, že v kontextu výše uvedeného žádoucího rozvoje osobních zájmů a schopností žáků lze utvářet vhodné podmínky pro rozvoj schopnosti navrhovat jednoduché algoritmy a osvojit si základy programování již na 1. stupni ZŠ. 1. Zakotvení pojmů programování a algoritmizace v RVP ZV RVP ZV jako kurikulární dokument na úrovni ZŠ není novinkou, v platnosti je od roku 2007. Novinkou je jeho aktuálně inovovaná podoba, vstupující v platnost od 1. září 2013. (1) Pokud se ovšem blíže zaměříme na oblast obecně technického předmětu – vzdělávací oblasti Informační a komunikační technologie a Člověk a svět práce, zjišťujeme, že těmto
205
Trendy ve vzdělávání 2013 Informační a komunikační technologie ve vzdělávání
oblastem se přes všeobecně již několik let proklamovanou podporu technického vzdělávání veškeré inovace vyhnuly. Otázkou je, zda je to v pořádku. Pojem programování (ve smyslu vytváření programu) zde nenajdeme. Pojem algoritmus nalézáme ve vzdělávací oblasti 5.3 Informační a komunikační technologie (zde konkrétně algoritmické myšlení) (2, s. 35) a dále ve vzdělávací oblasti 5.2 Matematika a její aplikace (algoritmy, algoritmické porozumění) (2, s. 29 a s. 31). Charakteristika vzdělávací oblasti 5.3 Informační a komunikační technologie mj. uvádí: „Dovednosti získané ve vzdělávací oblasti Informační a komunikační technologie umožňují žákům aplikovat výpočetní techniku s bohatou škálou vzdělávacího software a informačních zdrojů ve všech vzdělávacích oblastech celého základního vzdělávání. Tato aplikační rovina přesahuje rámec vzdělávacího obsahu vzdělávací oblasti Informační a komunikační technologie, a stává se součástí všech vzdělávacích oblastí základního vzdělávání.“ (2, s. 35) Můžeme tedy shrnout, že ICT zde mají integrační charakter. 2. Programování a algoritmizace, nebo algoritmizace a programování? Otázka stojí takto: Je cílem výše uvedených vzdělávacích oblastí naučit žáka na ZŠ programovat? Byť v základech? Pokud ano, tak jistě ne prioritním, spíše až druhotným. Cílem však je rozvoj schopností žákova myšlení ve všech jeho složkách. Zde se odkazujeme na výše uvedený výskyt pojmů algoritmické myšlení a algoritmické porozumění. Programování potom (zvláště v jeho počáteční fázi) chápeme jako konkrétní způsob vyjádření algoritmů, jako prostředek rozvíjení analytického a syntetického myšlení žáků (na úrovni přiměřené jejich věkovým a individuálním zvláštnostem). V dřevních etapách zavádění ICT do výuky (doby počítačů PMD 85 a IQ 151) byly tendence naučit každého žáka programovat (Basic, Pascal). Vývoj však pokročil. Na ZŠ preferujeme spíše uživatelský přístup. Vyhledávání a třídění informací, využívání vybraného aplikačního software. Problematika programování má těžiště spíše až na střední škole. 3. Algoritmizace: kdy a jak? Otázkou tedy zůstává, zda (když je programování spíše doménou střední školy) není vhodné na ZŠ vytvářet a rozvíjet schopnosti algoritmického myšlení? Z výše uvedeného plyne, že ano; je to úloha vzdělávacích oblastí Matematika a její aplikace a Informační a komunikační technologie. Jak bude dále ukázáno, lze k tomu využít i vzdělávací oblast Člověk a svět práce. Již dlouhou dobu jsou čistě k výuce algoritmizace a programování používány na ZŠ ikonové programovací jazyky (SGP Systems) Baltazar a Baltík (3), dále Logo (4), Karel (5), Petr (6), aj. Stojíme tedy před otázkami: Kdy je vhodné s uvedenou výukou začít? Jaké prostředky využvat? V případě utváření zájmu o jednotlivé oblasti lidské činnosti se ukazuje, že s rozvíjením příslušných dovedností a zájmů je vhodné začínat už na 1. stupni ZŠ. Je ovšem třeba volit takové způsoby práce, které uvedenou učební činnost navozují vhodnou formu, hravě a nenásilně. S tím se pojí i volba vhodných prostředků. Jako prostředek vhodný pro rozvíjení technického myšlení se na 1. stupni ZŠ jeví konstrukční stavebnice Lego WeDo. Prostor pro její aplikaci spatřujeme mj. ve vzdělávací oblasti Člověk a svět práce (Konstrukční činnosti na 1. stupni ZŠ a Design a konstruování na 2. stupni ZŠ). (2)
206
Trendy ve vzdělávání 2013 Informační a komunikační technologie ve vzdělávání
Propojením konstrukční stavebnice Lego WeDo s projektem výukového programovacího jazyka Scratch získáváme také vhodný prostředek pro rozvoj algoritmického myšlení. 4. Charakteristika WeDo Konstrukční stavebnice Lego WeDo je určena pro žáky 1. stupně ZŠ. Její koncepce podporuje integrující pojetí výuky, spojuje v sobě aspekty technické, přírodovědné, matematické, informatické a další. Samotná konstrukční stavebnice WeDo umožňuje nenásilnou integraci prvků ICT do výuky. Vytváření řídících programů pro sestavené modely (Software LEGO Education WeDo) je velmi intuitivní. Příklad programu ve WeDo ukazuje obrázek č. 1.
Obr. 1 – ukázka programu „stopky“ v SW LEGO Education WeDo Jako ilustrativní příklad sestavování programu ve WeDo uvádíme transkripci programu „stopky“ na obr. 1: začátek programu – zobrazit text „start“ po dobu 10 desetin sekundy. Program čeká spuštění stiskem klávesy S, zobrazení „0“ – čeká 1 s, dále se 16krát opakuje cyklus: k číslu na obrazovce přičti hodnotu 1, zahraj tón č. 4, počkej 1 s, opakuj tělo cyklu. Náročnost návrhu a sestavování programů pro modely ve WeDo je tedy přiměřená věku žáků, pro něž je stavebnice určena (7 až 11 let). Podporován je paralelní běh více programů, řízení modelu podle stavu připojených senzorů – čidlo náklonu (2 osy), čidlo přiblížení, čidlo zvukové (mikrofon zabudovaný v PC), časové řízení motorů, řízení výkonu motorů a světel a řízení smyslu otáčení motorů. 5. Charaktristika projektu Scratch V „pokročilejších“ programovacích jazycích je třeba zapisovat algoritmus v podobě strukturovaného textu, který má vždy určitou syntaxi. To je pro začátečníka v počátcích učení programovacího jazyka problém. Projekt výukového programovacího jazyka Scratch /vytvořený na Massachussetts Iistitute of Technology/ (aktuální verze Scratch 1.4) je koncipován odlišně – uživateli nabízí určité „stavební jednotky“ – programovací bloky, z nichž je program skládán. Použité bloky jsou opatřeny „zámky“, které do sebe zapadají a tak je ošetřena potřeba hlídat syntaxi jazyka, viz obr. 2. Stavební jednotky, které k sobě nepatří, do sebe nezapadnou. Program je přehledný.
207
Trendy ve vzdělávání 2013 Informační a komunikační technologie ve vzdělávání
Obr. 2 – ukázka programu „spirála“ (7) a výstupu programu – zakreslení pohybu spritu po ploše Další nespornou výhodou je jednoduchost uživatelského prostředí, kde téměř nic není skryto, vše je přehledné a jednoduché, intuitivní, viz obr. 3.
Obr. 3 – ukázka uživatelského prostředí programu Scratch Okno programu Skratch je rozdělenou šesti částí: Vlevo nahoře je celkem osm skupin bloků. Zvolené bloky jedné skupiny jsou zobrazeny vlevo dole. Zde programové bloky skupiny kreslení na ploše „pero“. Nahoře uprostřed jsou zobrazovány informace o tzv. spritu (objekt pohybujíc se po ploše, volitelný rastrový obrázek, zde kocour). Uprostřed dole je z jednotlivých bloků sestavován vlastní program řídící chování spritu.
208
Trendy ve vzdělávání 2013 Informační a komunikační technologie ve vzdělávání
Vpravo nahoře je vyobrazena scéna, na níž se sprit pohybuje (scéna je také obrázek rastrové grafiky, scény mohou být na základě událostí měněny). Vpravo dole lze konfigurovat sprity a scény. Spritů na ploše může být více. K dalším vlastnostem patří možnost zaznamenání pohybu spritu po pracovní ploše, možnost práce se zvuky, pohyb více spritů po pracovní ploše, komunikace mezi jednotlivými sprity, ošetření událostí (událostmi řízené programování) – kontakt spritů, kontakt spritu s okrajem plochy, ukázání ukazatelem myši, tvorba více typů smyček (nekonečná, smyčka s podmínkou – forever if, repeat-until, if-then, if-then-else), použití skalárních proměnných, práce s jednoduchými seznamy. Skratch podporuje možnost sdílení vytvořených programů mezi uživateli. Sdílené programy lze spustit přímo ve webovském prohlížeči, bez instalace Skratche, pro přehrávání je používán Java applet. Výstupy programu mohou mít charakter prezentace multimediálního programu či jednoduché hry a lze je snadno prezentovat na Internetu, což má pro uživatele nespornou motivační funkci. Díky své jednoduchosti má Skratch i určitá omezení, např. v podstatě neumožňuje vstup a výstup dat do souborů, nemožnost tvořit procedury a funkce (některé z těchto omezení řeší na Skratch navazující projekty, např. projekt BYOB /univ. Berkeley/ „Build Your Own Block“, viz (8)). 6. Spojení WeDo a Scratch Pokud ve Skratchi v menu editovat provedeme volbu zobrazit motor. bloky, popř. k PC připojíme WeDo USB HUB, potom se u vybraných kategorií „pod čarou“ rozšíří nabídka bloků o bloky pracující s WeDo motory (menu pohyb, viz obr. 4) a WeDo senzory (menu vnímání, viz obr. 5).
Obr. 4 – bloky pracující s WeDo motory
Obr. 5 – bloky pracující s WeDo senzory
Tyto bloky potom umožňují sestavit takovou aplikaci, jejíž chování je řízeno nejen událostmi týkajícími se jednotlivých spritů, ale i připojenými WeDo senzory, popř. může být WeDo model řízen programem ve Skratchi. Tím se možnosti využití obou popisovaných prostředků poměrně rozšiřují a posiluje se jejich integrační charakter a možnosti aplikace mezipředmětových vztahů ve výuce. Jako příklad typových učebních úloh realizovaných formou pracovního listu pro žáka uvedeme dvě jednoduchá zadání zpracovaná dle pramene (9): Téma: Pohyb • Použijte bloky (blok motor, blok senzor a blok stisk klávesy) pro ovládání WeDo motoru stiskem klávesy „šipka vpravo“ a „šipka vlevo“, chod motoru
209
Trendy ve vzdělávání 2013 Informační a komunikační technologie ve vzdělávání
bude doprovázet pohyb kocoura po ploše okna programu Scratch. (Realizovaný program je na obrázku 6.) Téma: Senzor vzdálenosti • Použijte WeDo senzor vzdálenosti a blok nastavení velikosti spritu tak, aby se kocour přiblížením předmětu k senzoru zvětšil a oddálením naopak zmenšil. (Realizovaný program je na obrázku 7.)
Obr. 6 – program „pohyb“
Obr. 7 – program „senzor vzdálenosti“
Popis činnosti programu na obr. 6: Při stisku klávesy „šipka vpravo“ se sprit „kocour“ po ploše posune o určený krok vpravo a současně se na 2 s spustí motor stanoveným směrem. Při stisku klávesy „šipka vlevo“ se sprit „kocour“ po ploše posune naopak o určený krok vlevo a současně se na 2 s spustí motor opačným směrem. To mj. ilustruje, že zde ve Scratchi běží současně 2 programy (obecně jich může být více) a jedná se o příklad řízení programu událostí – stiskem klávesy. Popis činnosti programu na obr. 7: Horní program cyklicky mění velikost spritu v % v závislosti na hodnotě ze senzoru vzdálenosti. Dolní program realizuje u spritu výstup v podobě textové bubliny s nápisem „Jsem malý“, je-li velikost spritu menší než 50 %, jinak je u spritu výstup v podobě textové bubliny s nápisem „Jsem veliký“. Závěr Výuka jednoduché algoritmizace a základů programování na ZŠ není novinkou přesto, že uvedené téma v RVP ZV není nijak zvlášť akcentováno. V uvedené oblasti mají u nás tradici programovací nástroje typu Karel a Baltík. Jedná se zpravidla o čistě předmětové „informatické“ pojetí realizace výuky. Oproti tomu konstrukční stavebnice Lego WeDo vybízí k realizaci integrovaného pojetí výuky (nabízí se zvláště různé varianty projektové výuky) přičemž mohou být do realizované výuky integrovány prvky ICT. Kombinace konstrukční stavebnice Lego WeDo a programovacího jazyka Scratch je jednou z variant řešení, které umožňující již na 1. stupni ZŠ vytvářet podmínky pro rozvoj technické kreativity, tvořivého technického myšlení žáků, vytvářet schopnosti formulovat jednoduché algoritmy a osvojit si základy programování bez potřeby znalosti syntaxe konkrétního programovacího jazyka. Mezi nesporné výhody Scratche patří, že jde o freeware a je lokalizován do českého jazyka. Aplikace je intuitivní. Komunita uživatelů (tedy i učitelů, viz komunita učitelů využívajících Scratch s názvem ScratchED) využívajících jej k výuce programování a tvorbě multimediálních a herních aplikací je rozsáhlá a tak není problém se při aplikaci uvedených
210
Trendy ve vzdělávání 2013 Informační a komunikační technologie ve vzdělávání
prostředků do výuky v začátcích inspirovat u zkušenějších uživatelů. Doporučujeme mj. užitečné a inspirativní informační zdroje (10) a (11). Literatura 1 Národní ústav pro vzdělávání: Upravený Rámcový vzdělávací program pro základní vzdělávání účinný od 1. 9. 2013. Národní ústav pro vzdělávání [online]. 2013 [cit. 201306-01]. Dostupné z: http://nuv.cz/ramcove-vzdelavaci-programy/upraveny-ramcovyvzdelavaci-program-pro-zakladni-vzdelavani. 2 Rámcový vzdělávací program pro základní vzdělávání: (verze platná od 1. 9. 2013) úplné znění upraveného RVP ZV s barevně vyznačenými změnami. In: Národní ústav pro vzdělávání: Upravený RVPZV s_barevně vyznačenými změnami_290313 [online]. 2013 [cit. 2013-06-01]. Dostupné z: http://nuv.cz/file/319_1_1/ 3 SGP Systems: Baltík C+ 3D vizuální výukové programovací nástroje pro děti, mládež a dospělé. SGP Systems [online]. 2013 [cit. 2013-06-01]. Dostupné z: http://www.sgpsys.cz/cz/Product_B3.asp 4 Logo – dětská hračka nebo programovací jazyk?. TIŠNOVSKÝ, Pavel. ROOT.CZ [online]. 2007 [cit. 2013-06-01]. Dostupné z: http://www.root.cz/clanky/logo-ndash-detska-hracka-nebo-programovaci-jazyk/ 5 Programovací jazyk Karel: Úvodní strana. KLÍMA, Karel. KAREL [online]. 2007 [cit. 2013-06-01]. Dostupné z: http://karel.webz.cz/ 6 KRAUS, Josef. Nástroj Petr: Programování i pro začátečníky. Živě.cz [online]. 2011 [cit. 2013-06-01]. Dostupné z: http://www.zive.cz/clanky/nastroj-petr-programovani-i-prozacatecniky/sc-3-a-158822/default.aspx 7 TIŠNOVSKÝ, Pavel. Scratch: plnohodnotný programovací jazyk nebo jen dětské puzzle? (2. část). ROOT.CZ [online]. 2011 [cit. 2013-06-01]. Dostupné z: http://www.root.cz/clanky/scratch-plnohodnotny-programovaci-jazyk-nebo-jen-detskepuzzle-2-cast/ 8 TIŠNOVSKÝ, Pavel. Scratch: plnohodnotný programovací jazyk nebo jen dětské puzzle? (3. část: Scratch a BYOB). ROOT.CZ [online]. 2011 [cit. 2013-06-01]. Dostupné z: http://www.root.cz/clanky/scratch-plnohodnotny-programovaci-jazyk-nebo-jen-detskepuzzle-3-cast-scratch-a-byob/ 9 BRENNAN, Karen. WeDo Project Ideas. ScratchED [online]. 2010 [cit. 2013-06-01]. Dostupné z: http://scratched.media.mit.edu/resources/wedo-project-ideas 10 LEGO WeDo and Scratch. Scratch: Vymysli, programuj, poděl se [online]. 2012 [cit. 2013-06-02]. Dostupné z: http://info.scratch.mit.edu/WeDo 11 Getting Started. LEGO WeDo and Scratch [online]. 2012 [cit. 2013-06-02]. Dostupné z: http://info.scratch.mit.edu/WeDo/Tutorial Lektoroval: PhDr. PaedDr. Jiří Dostál, Ph.D. Kontaktní adresa: Martin Havelka, Mgr., Ph.D., Katedra technické a informační výchovy, Pedagogická fakulta UP, Žižkovo nám. 5, 771 40 Olomouc, ČR, tel. 00420 585 635 812, e-mail:
[email protected] Ivona Dömischová, PhDr., Ph.D., Katedra německého jazyka, Pedagogická fakulta UP, Žižkovo nám. 5, 771 40 Olomouc, ČR, tel. 00420 585 635 957, e-mail:
[email protected]
211