UNIVERZITA PALACKÉHO V OLOMOUCI PEDAGOGICKÁ FAKULTA KATEDRA TECHNICKÉ A INFORMAČNÍ VÝCHOVY
Metodické listy pro výuku programování žáků 2. stupně základních škol Bakalářská práce
Kristýna Šimková Vedoucí práce: Mgr. Jan Kubrický
Olomouc 2013
Prohlášení Prohlašuji, že jsem zadanou bakalářskou práci vypracovala samostatně pod odborným dohledem vedoucího bakalářské práce, a že jsem v seznamu použité literatury uvedla všechny zdroje použité při zpracování této práce.
Ve Veselí nad Moravou dne 13. dubna 2013 ....................................
Poděkování Chtěla bych poděkovat všem, kteří jakkoliv přispěli ke zpracování mé bakalářské práce. V první řadě bych chtěla poděkovat především vedoucímu mé bakalářské práce panu Mgr. Janu Kubrickému za ochotu, cenné rady a užitečné připomínky při psaní této práce. V neposlední řadě bych chtěla poděkovat také mé rodině a příteli za podporu během studia.
Jméno a příjmení:
Kristýna Šimková
Katedra:
Katedra technické a informační výchovy
Vedoucí práce:
Mgr. Jan Kubrický
Rok obhajoby:
2013
Název práce:
Rozsah práce:
Metodické listy pro výuku programování žáků 2. stupně základních škol Methodological sheets for teaching programming for primary school students Bakalářská práce se zabývá výukou programování na 2. stupni základních škol. Teoretická část práce čtenáře seznamuje s problematikou v dané oblasti. Praktická část je rozdělena na dvě části, přičemž první obsahuje vytvořené metodické listy pro výuku programování žáků 2. stupně základních škol a druhá část představuje jejich následnou realizaci formou případové studie. algoritmické myšlení, programování, základní škola, metodické listy, programové prostředí Baltík, případová studie Thesis deals with teaching programming at primary schools. The theoretical part introduces the reader with problematic. The practical part is divided into two parts, the first containing a methodological sheets for teaching programming for students primary school and the other part is their subsequent implementation in the form of case studies. algorithmic thinking, programming, primary school, methodological sheets, programming environment Baltik, case study Příloha č. 1 Realizace případové studie č. 1 – dotazník Příloha č. 2 Realizace případové studie č. 2 – dotazník Příloha č. 3 Realizace případové studie č. 3 – dotazník Příloha č. 4 Realizace případové studie č. 4 – dotazník 49 str.
Jazyk práce:
český jazyk
Název v angličtině: Anotace práce:
Klíčová slova:
Anotace v angličtině:
Klíčová slova v angličtině: Přílohy vázané v práci:
Obsah Úvod ........................................................................................................................ 4 1 Seznámení s problematikou................................................................................... 6 1.1 Historie vývoje programovacích jazyků.......................................................... 6 1.2 Současná výuka programování na základních školách .................................... 7 1.3 Volba programového prostředí ....................................................................... 9 1.4 Programové prostředí Baltík ..........................................................................11 1.4.1 Kreslící režim .........................................................................................11 1.4.2 Příkazový režim......................................................................................11 1.4.3 Programovací režim................................................................................12 2 Metodické listy pro výuku programování žáků 2. stupně základních škol .............13 2.1 Metodický list č. 1 – Seznámení s programovým prostředím .........................13 2.2 Metodický list č. 2 – Pokročilá práce s příkazy ..............................................17 2.3 Metodický list č. 3 – Pokročilé užití cyklů .....................................................21 2.4 Metodický list č. 4 – Tvorba složitějšího programu .......................................24 3 Případová studie ...................................................................................................31 3.1 Strategie výzkumu .........................................................................................31 3.2 Cíle případové studie .....................................................................................32 3.3 Fáze případové studie ....................................................................................32 3.3.1 Fáze přípravná ........................................................................................32 3.3.2 Fáze realizační ........................................................................................33 3.3.3 Fáze zpracování výsledků .......................................................................36 4 Závěr ...................................................................................................................39 5. Použitá literatura a zdroje ....................................................................................40 Seznam příloh .........................................................................................................43
Úvod Současná doba vyžaduje více vzdělávaných osob zejména v oblasti programování a programovacích jazyků. Proto je třeba se zaměřit ke splnění tohoto cíle, který poptává trh práce již na žáky na základních školách, aby byly usměrněny jejich případné zájmy, na které by jinak přišli až v pozdějším věku (1). Právě tento předstih umožní ve středoškolském vzdělávání úspěšně navázat a tím zvýšit objem probíhané látky a v konečném důsledku zvýšení kvalifikace v tomto oboru. Programování je nedílnou součástí výuky informační výchovy na většině typu středních škol. Je nutné tuto výuku vzhledem k nárokům dnešní doby rozšířit také na základní školy a to tím způsobem, který bude žáky zajímat a částečně i rozšířit obor jejich zájmů. Největším přínosem by byl ten fakt, pokud by se žáci na základní škole, nejlépe již na prvním stupni, naučili základy algoritmického myšlení. Následně bude teprve vhodná doba s výukou zápisu algoritmů v programovacím jazyce, což se v současnosti neděje. Žák, který tuto problematiku ovládá, si dokáže problémy rozložit na jednotlivé dílčí kroky, načrtnout si postup řešení a tím snadněji docílí požadovaného výsledku. V neposlední řadě znalost programování, především algoritmů, rozvíjí žákům jejich abstraktní a logické myšlení. Program tvoří instrukce k řešení daného problému. Přitom musíme počítat s tím, že problém není automaticky vyřešen, jen za nás udělá hrubou práci – dohledá záznamy v databázi, uskuteční výpočty dle složitých vzorců nebo vykreslí obrázek, aj (2). Pro vytvoření požadovaného programu, musíme znát postup, jak vyřešit dílčí problémy. Formulace tohoto postupu se nazývá algoritmus. Použití slova algoritmus v souvislosti s programováním znamená vždy transformaci jedné množiny údajů (vstupních dat) na jinou množinu, na výstupní data (3). Hlavním cílem této práce je vytvoření metodických listů pro výuku programování žáků 2. stupně základní školy. K dílčím cílům můžeme zařadit následnou realizaci metodických listů formou případové studie. Teoretická část bakalářské práce je věnována seznámení s dřívější i současnou podobou vyučování programování na základních školách. Pro získání 4
informací jsem prostudovala dostupné dokumenty - Rámcový vzdělávací program (RVP), od úvodních kapitol zabývajících se obecným popisem vzdělávacích procesů až po kapitolu, která je věnována Informačním a komunikačním technologiím. Zde je uvedena charakteristika vzdělávací oblasti, cílové zaměření vzdělávací oblasti a v neposlední řadě také vzdělávací obsah, který je pro učitele informatiky zcela závazný (4). Dalším důležitým dokumentem, díky, jemu jsem získala představu o výuce informatiky, byl školní vzdělávací program (ŠVP), který vytváří prostor pro pedagogickou tvořivost. V historii školství je to tak poprvé, kdy se učitelé přímo podílejí na tvorbě závazného vzdělávacího dokumentu, a to jen na základě svých individuálních vizí a zkušeností (5). Dále je v teoretické části představeno vybrané programovací prostředí a možnosti jeho následné návaznosti. Praktická část je zaměřena na vytvoření jednotlivých metodických listů a jejich následnou realizaci.
5
1 Seznámení s problematikou První
podkapitola
se
věnuje
důležitým
historickým
milníkům
vývoje
programovacích jazyků a jejich aplikaci ve školství. Následující podkapitola analyzuje data dle zveřejněného dotazníku a její úloha spočívá v získání základní představy o současné podobě výuky programování na základních školách. Volbou vhodného programového prostředí se zabývá třetí podkapitola a následně se představuje zvolené programové prostředí Baltík a možnost jeho návaznosti na programovací jazyk Java.
1.1 Historie vývoje programovacích jazyků
Předstupněm objektového programování je sekvenční programování. Mezi sekvenční programovací jazyky patří například FORTRAN a ASSEMBLER, které vznikly v 50. letech 20. století. Programování se provádělo psaním sekvence příkazů, které program vykonával postupně v pořadí zápisu (6). Nevýhodou byla absence cyklů, které nám dnes v programování ušetří hodně práce a to se jedná o základní věc. Dalším milníkem byl vznik strukturovaného programování. K jeho zrodu vedlo především uvědomění si programátorů, že předávat řízení v jedné dlouhé sekvenci příkazů je značně nepohodlné a případné úpravy nebo odstraňování chyb do jisté míry dokonce nemožné. Nahradili tedy sekvenci příkazů striktně hierarchickou strukturou stromového typu, kde byly zavedeny cykly, podmínky a další nástroje usnadňující práci programátora. Hlavní rozdíl a výhoda oproti sekvenčnímu programování je, že bloky kódu jsou jednoznačně ohraničeny a nedochází ke skokům v sekvenci kódu, kde je úprava, čí odstraňování chyb podstatně jednodušší záležitostí. Nejlepším a nejznámějším příkladem strukturovaného jazyka je programovací jazyk C. Tento programovací jazyk skvěle sloužil řadu let a dokonce ještě nyní se v některých odvětvích využívá a proto i vyučuje na některých středních školách zejména staršími pedagogy.
6
Jako hlavní nevýhoda strukturovaného programování se ukázala být jeho rigidní hierarchie, která neodpovídá modelu „reálného světa“, který není hierarchický. Právě modelem reálného světa je programování objektové, kterému se budeme věnovat o odstavec níže. Objektově orientované programování rozbíjí hierarchickou strukturu kódu a snaží se v tomto směru nastavit vystihnout obraz reálného světa. Je založeno na síti vzájemně komunikujících objektů, jež se podle potřeby mohou, ale nemusí stavit do libovolných potřebných struktur, včetně hierarchické. Objektový přístup se v programovacím jazyce poprvé objevil před desítkami let v jazyce Simula 67, který je již dnes zapomenutý (6). V té době začal být model objektově orientovaného programování implementován postupně do dalších programovacích jazyků.
1.2 Současná výuka programování na základních školách
Pro základní představu o výuce programování na základních školách jsem vytvořila dotazník, který byl zveřejněn na portále Česká škola (7). Získané data z dotazníku jsem následně zpracovala. Dotazníku, který byl určen pouze vyučujícím, se zúčastnilo 35 respondentů. Mezi požadované informace spadal název základní školy, ve výuce uplatněný programovací jazyk a s tím související otázka, zda upřednostňovat procedurální model nebo objektový model programování. Dále se mohl respondent libovolně vyjádřit, z jakého důvodu názor na předchozí otázku zastává. 19 z 35 respondentů, více jak polovina, do dotazníku uvedlo pouze název základní školy a do poznámky přidalo, že se výuka programování na jejich škole vůbec nerealizuje. Na otázku „Který programovací jazyk ve výuce používáte převážně?“ byla nejčastější odpověď PHP. PHP patří mezi skriptovací programovací jazyky, které slouží pro tvorbu dynamických webových stránek, pro jeho relativní jednoduchost je vhodný pro obecné uvedení do objektově orientovaného programování (8). Porovnání s četností dalších odpovědí viz graf 1.
7
Graf 1 – Četnost programovacích jazyků
Četnost 6 5 4 3 2 1 0 Baltík
Java
Karel
PHP
Python
Visual Basic
Ze srovnání získaných dat dle četnosti využití jednotlivých programovacích jazyků byly vyřazeny dvě odpovědi respondentů, jelikož se ani v jednom případě nejednalo o programovací jazyk. Jedna z odpovědí zněla HTML – jedná se pouze o hypertextový značkový jazyk (9), který se nedá řadit mezi programovací jazyky, ale je možné na něm pochopit základní principy programování, jako je syntaxe programovacího jazyka, daná struktura aplikace a podobně. Druhá odpověď NXT MINDSTROMS také nespadá do kategorie programovacích jazyků. Jedná se o robotickou stavebnici, která obsahuje programovatelnou řídící jednotku, která posléze řídí činnost sestaveného robota (10). Graf 2 – Upřednostňovaný model programování
Model programování
Objektový model 44%
Procedurální model 56%
8
Dle
dotazníku
respondenti
více
upřednostňují
procedurální
model
programování a to zejména proto, neboť se jim tento model zdá jednodušší na pochopení základů programování a pro začátečníky lépe čitelný. Respondenti, ale také často odpovídali, že se rozhodli pro tento model z důvodu, že sami objektově programovat neumí. Dotazovaní, kteří zvolili možnost objektového modelu programování, oceňují zejména lepší využití programovacího jazyka a také uživatelskou přívětivost.
1.3 Volba programového prostředí
Pro výuku programování na základních školách je nejvhodnější programovací prostředí, kde na rozdíl od programovacích jazyků se neprogramuje pomocí textových příkazů, ale pomocí ikon. Práce při programování je jednodušší a zvídaví žáci mohou programovat již v předškolním věku bez potřeby znalosti četby a psaní. Mezi takové nejpoužívanější programovací prostředí patří Baltík, Karel a Imagine Logo. Při výběru programovacího prostředí, které se stane součástí praktické části mé bakalářské práce, jsem nejprve uvažovala o všech výše zmíněných. Správný výběr programovacího prostředí je důležitý, jelikož nevhodný výběr může i perspektivní žáky zcela jistě od programování odradit. Po bližším seznámení s jednotlivými prostředími mne, ale řada věcí odradila nebo nezaujmula, ba naopak jsem shledala nadšení pro možnosti jednotlivých prostředí. Programové prostředí Karel vzniklo na přelomu 70. a 80. let 20. století na Stanfordské universitě. Zajímavostí je to, že jeho autor jej pojmenoval po českém spisovateli, který slovo robot poprvé použil, Karlu Čapkovi (11). Robot Karel rozumí pěti základním příkazům, s jejichž pomocí lze definovat další složené příkazy. Programové prostředí Karel jsem postavila mimo výběr, jelikož neumožňuje vytvoření komplexních řešení a pokročilejšího algoritmického myšlení. V neposlední řadě, zadání příkazů neprobíhá pomocí názorných ikon, ale formou krátkých textů. Grafické zpracování programovacího prostředí také značně ubírá na atraktivnosti.
9
Obr. 1 Program vytvořený v programovém prostředí Karel (12) Imagine je nová generace vývojového prostředí a programovacího jazyka Logo. Prostředí je postaveno na objektově orientované struktuře, která podporuje hierarchii objektů, chování a paralelní nezávislé procesy (13). Zadané příkazy plní malý kreslící robot želva, od čehož se zde objevuje termín želví grafika. Želví grafika zastupuje vektorovou grafiku, která je kreslena pomocí virtuálního kurzoru (želvy) nad kartézskou soustavou souřadnic (14). Programované prostředí umožňuje využít široký rozsah možností od kreslení, animování až po tvorbu multimediálních aplikací. Imagine Logo je pro žáky, kteří mají již nějakou zkušenost s programováním pozitivní volbou. Prostředí je jednoduché, ale umožňuje také řešení složitějších např. multimediálních aplikací. Příkazy jsou tvořeny textově, což není pro absolutní začátečníky zrovna ideální. Jelikož se chci zaměřit právě na prvotní výuku programování, rozhodla jsem se, že toto prostředí se součástí mé bakalářské práce nestane. Ukázka příkazů v programovém prostředí Imagine Logo: PŘÍKAZ TROJÚHELNÍK PERODOLŮ OPAKUJ 3 [DOPŘEDU 50 VLEVO 70] PERONAHORU KONEC 10
1.4 Programové prostředí Baltík
Pro výuku programování na základních školách je nejvhodnější programové prostředí Baltík a to hned z několika důvodů. Prvním a nezanedbatelným důvodem jsou dovednosti, které se žáci společně s Baltíkem naučí, a tyto se jim budou hodit při pozdějším, následném poznávání objektově orientovaného programování. Druhým důvodem v pořadí je jeho atraktivní
pojetí - „programování hrou“. Baltík
umožňuje k výuce využít tři režimy, přičemž jejich rozdělení je dáno množstvím požadujících vstupních znalostí.
Kreslící režim
Příkazový režim
Programovací režim
1.4.1 Kreslící režim
Kreslící režim (režim Skládat scénu) reprezentuje tu nejjednodušší možnost pro práci s Baltíkem, která je určena k výuce dětí již od 4 let. V režimu lze skládat scénu, což je plocha pro skládání předmětů, které jsou uloženy v jednotlivých předmětových bankách (15). Režim Skládat scénu je nejčastěji využívá pouze k vytvoření scén, v nichž pak Baltík dokáže plnit uživatelem dané úkoly.
1.4.2 Příkazový režim
Příkazový režim (režim Čarování scény) představuje druhou úroveň. Režim pracuje také s vytvářením scény, která je na rozdíl od přechozího režimu „prokleta“, tudíž předměty nelze libovolně přemisťovat. Od této úrovně přesun předmětů realizuje „kouzelník Baltík“, pomocí námi zadaných příkazů. Pro pochopení základů algoritmického myšlení je tento režim stěžejní, jelikož je zde možnost tvorby základních příkazů a získané znalosti lze poté zúročit v navazujícím programovacím režimu.
11
1.4.3 Programovací režim
Režim předpokládá znalost pokročilých pojmů a také znalost programovacího prostředí. Umožnuje již samotné vytváření programů, které po spuštění Baltík provede. Dokáže pracovat s třemi typy dat: reálná čísla, celá čísla a textové řetězci. Tím pádem se zde vyskytuje možnost převodu mezi celými a reálnými čísly, mezi čísly a textovými řetězci a v neposlední řadě také dělení dlouhých řetězců. Režim také pracuje s konstantami, řeší rozdíl mezi globální a lokální proměnou. Vzhledem k možnosti využití souřadnic, lze v tomto režimu například naprogramovat jednoduchý program na hraní piškvorek, což zvídaví a schopní žáci, určitě ocení. Programové prostředí Baltík přímo navazuje na programovací jazyk Java, jelikož jeho prostředí je vytvořeno v tomto programovacím jazyce a ve třetím režimu prostředí Baltík, který je nazván „programovací režim“ se již setkáme se zdrojovým kódem, který je právě v Javě. V současné době patří Java mezi nejpopulárnější objektově orientované programovací jazyky, proto se také na převážné většině univerzit Java používá jako vstupní jazyk pro výuku programování (16). Díky tomu si žáci, kteří projdou výukovým kurzem lépe osvojí nejen objektově orientované principy, ale také v případě zájmu budou moci navázat na tento v dnešní době perspektivní programovací jazyk a to na střední škole, kde se již mnohdy vyučuje nebo na základě vlastního zájmu budou pokračovat sami.
12
2 Metodické listy pro výuku programování žáků 2. stupně základních škol Při tvorbě metodických listů jsem se inspirovala především zkušenostmi, které jsem získala v průběhu navštěvování předmětu Didaktika přírodopisu, z knižní publikace Didaktika technických předmětů (17) a portálem Česká škola, což je nezávislý školský zpravodajský server. Mezi autory jsou i pedagogové, kteří zveřejňují své praktické zkušenosti, jak zlepšit výuku – existují zde články renomovaných pedagogů v oblasti informační výchovy jako je Rudolf Pecinovský, Rostislav Fojtík nebo Jiří Vaníček.
2.1 Metodický list č. 1 – Seznámení s programovým prostředím
První metodický list má za úkol přiblížit žákům programované prostředí Baltík a přispět tak ke snazší orientaci mezi jednotlivými možnosti prvků. Součástí metodického listu je samostatná práce, na které si žák ověří získané vědomosti vytvořením svého prvního programu. Téma: Seznámení s programovým prostředím Baltík Vstupní znalosti:
základní znalost práce ve Windows
Pomůcky:
počítač s nainstalovaným programovaným prostředí Baltík
Časová dotace: 45 minut Cíl:
přiblížit žákům programové prostředí Baltík
seznámit žáky s panelem prvků
vysvětlit pojem program a jeho následné vytvoření 13
Klíčová slova: programové prostředí, panel prvků, program Rozpracované téma: Abychom mohli začít pracovat v programovém prostředí Baltík musíme mít nejprve tento licencovaný program nainstalovaný s možností využívání všech funkcí tohoto produktu. Program je tvořen příkazy, které říkají počítači, jak má splnit námi požadovanou úlohu (2). Po spuštění programového prostředí Baltík se nám otevře výchozí okno programu, s kterým se nyní podrobně seznámíme a vysvětlíme si funkce jednotlivých dostupných prvků.
Obr. 2 Okno programového prostředí Baltík
Pracovní plocha – oblast, která slouží k vytváření a úpravám programu. Stavový řádek – na levém okraji Baltík zobrazuje nápovědu o prvcích a příkazech, na které ukazujeme myší. Pravý okraj stavového řádku obsahuje informaci, kde se v programu nacházíme (číslo řádku).
14
Obr. 3 Panel prvků
- vytvoření nového programu/ načtení programu - uložení programu na disk - smazání programu - spustit program - nedostupné prvky pro režim začátečník - možnost přepnutí do editoru scén - výběr předmětu k vyčarování z banky předmětů - kreslení předmětů - nápověda k programu - konec programu - Baltík popojde o jedno pole vpřed - Baltík se otočí vlevo - Baltík se otočí vpravo - neviditelnost - viditelnost - Baltík čeká na stisk klávesy nebo tlačítka myši - Baltík čaruje s obláčkem - Baltík čaruje bez obláčku 15
-
- možnosti obrazovky - zvukové upozornění - Baltík se otočí dle světové strany - mezera - nastavení rychlosti 0 = nejpomalejší, 9 = nejrychlejší - blok příkazů - řádkové a textové komentáře - konec řádku
Cvičný příklad Z panelu prvků uchopíme prvek Popojdi o jedno pole vpřed
a přeneseme jej na
černou plochu, kde jej upustíme. Prvek můžeme upustit na libovolném místě černé plochy a automaticky se přesune do levého horního rohu plochy. Tímto jsme vytvořili nejjednodušší – jedno příkazový program, který spustíme stiskem tlačítka Start
. Spustí se instance programu, v jejímž levém dolním rohu bude stát
Baltík, který popojde o jedno pole vpřed a poté se okno instance zavře. Chceme - li si prohlédnout výsledek po skončení programu, musíme Baltíkovi přikázat, aby po ukončení programu počkal, dokud si výsledek neprohlédneme. Uchopíme tedy prvek Čekej
a umístíme jej ihned za prvek Popojdi. Opětovně spustíme program,
přičemž začátek programu bude stejný jako v předchozím případě, ale poté co Baltík popojde se okno instance nezavře, ale až v případě, že stiskneme klávesu nebo klikneme myší.
Obr. 4 První program – popojdi a čekej
16
Samostatná práce Samostatná práce ověřuje znalosti a zkušenosti získané z přechozího cvičného příkladu, jedná se o kombinaci příkazů Popojdi a Čekej. Zadání Vytvoř program, který Baltíkovi přikáže, aby přešel z jednoho konce svého pozemku na druhý. (od zdi k protější zdi). Řešení Jelikož je Baltíkův pozemek široký 15 polí, bude muset Baltík, pokud se chce dostat na konec svého pozemku, udělat 14 kroků (na prvním poli stojí).
Obr. 5 Baltík přechází od zdi k protější zdi Práci si můžeme ulehčit zkráceným zápisem příkazů. Takový zápis provedeme vložením čísla (požadovaný počet opakování) před příslušný příkaz.
Obr. 6 Samostatná práce – zkrácený zápis
2.2 Metodický list č. 2 – Pokročilá práce s příkazy
Jak zpřehlednit program rozdělením do řádků nebo zakomentováním jednotlivých příkazů představí žákům druhý metodický list. Žáci si také osvojí pojmy, prvek či příkaz. Samostatná práce uvedená v závěru metodického listu poukáže na možnosti využití cyklů. Téma: Pokročilá práce s příkazy Vstupní znalosti:
základní znalost práce ve Windows 17
orientace v programovém prostředí Baltík
schopnost tvorby základních příkazů
Pomůcky:
počítač s nainstalovaným programovaným prostředí Baltík
Časová dotace: 90 minut Cíl:
naučit žáky zpřehledňovat program
vysvětlení pojmů prvek, příkaz a jejich následná aplikace
Klíčová slova: řádek, komentář, prvek, příkaz Rozpracované téma: Cvičný příklad 1: V přechozí okruhu jsme si ukázali, jak vytvořit jednoduchý program, což si nyní s mírným rozšířením zopakujeme. Přidáme do programu další prvek, tak abychom docílili toho, že Baltík obejde celý svůj pozemek. Necháme tedy vždy Baltíka dojít k další zdi a poté vložíme prvek Vlevo v bok
. Dále si spočítáme, že Baltíkův
pozemek má na šířku 10 polí, ovšem na prvním poli vždy stojí, takže při tvorbě programu počítáme pouze s číslem 9. Námi vytvořený program by se měl shodovat s programem na obrázku číslo 7.
Obr. 7 Baltík obejde celý pozemek Jelikož je výsledný program nepřehledný a s přibývajícími příkazy by nabýval na zmatenosti, měli bychom si ukázat, jak program celkově uspořádat. Prvky v dobře rozvrženém programu jsou rozděleny do jednotlivých řádků a také zakomentovány. Každý řádek musíme zakončit prvkem Konec řádku
!
18
Obr. 8 Program rozdělený do řádků Program nyní vypadá mnohem přehledněji, ale pro ještě lepší orientaci, zejména nám programátorům, slouží komentáře. Komentáře, do nichž si zapisujeme poznámky, k čemu daná část programu slouží, počítač při intepretaci zcela ignoruje.
Obr. 9 Program s komentáři Cvičný příklad 2: Představme si, že bychom chtěli, aby Baltík obešel pozemek desetkrát. Opakované vkládaní příkazů by bylo ne jenom nepraktické, ale také časově náročné. K usnadnění a zefektivnění práce programátora Baltíka si nejprve zavedeme pojmy jako je prvek a příkaz. Prvek - je objekt z panelu prvků – může být, ale také nemusí být příkazem. Příkaz – znamená výslovný příkaz, který může být tvořen jedním nebo více prvky. Pokud tedy vložíme číslo (prvek) před příkaz, přikazujeme Baltíkovi, kolikrát má daný příkaz opakovat. Tento postup nazýváme složený příkaz. Při tvorbě složeného příkazu musíme použít prvek Blok příkazů
, který umístíme před první prvek
budoucího bloku a vzápětí jeho druhou část, za poslední prvek budoucího bloku. Z toho plyne, že vše co se nachází mezi příkazovými závorkami tvoří tělo bloku nebo také tělo cyklu. 19
Cyklus je část programu, v němž mu přikazujeme, aby něco opakoval a jehož počet opakování se uvádí v hlavičce cyklu (16). Výsledek cvičného příkladu by se měl shodovat s řešením na obrázku číslo 10.
Obr. 10 Baltík desetkrát obejde pozemek Samostatná práce: Samostatná práce plynule navazuje na předchozí cvičné příklady. Při jejím plnění si musíme uvědomit, že Baltík chápe složený příkaz jako jakýkoliv jiný příkaz, tudíž se uvnitř složeného příkazu mohou vyskytovat další složené příkazy. Zadání: Rozšiřte předchozí cvičný příklad o to, aby Baltík při obcházení pozemku také vysazoval vedle sebe stromy a využijte při tom složených příkazů. Řešení: Baltík musí nejdříve jeden krok popojít, aby se posunul na potřebné místo. Poté se musí otočit doleva, tam zasadit strom (využijeme složený příkaz), pak se nazpět otočit doprava a až poté popojít.
Obr. 11 Řešení samostatné práce
20
2.3 Metodický list č. 3 – Pokročilé užití cyklů
Třetí metodický list pracuje již s tím faktem, že žáci jsou v tomto okamžiku schopni vytvořit základní příkazy a proto cvičné příklady využívají prohloubení těchto získaných znalostí. Navazují na pokročilé užití cyklů, konkrétně tzv. cyklu v cyklu. Samostatná práce je inspirována cvičnými příklady, tudíž žáci při jejím zpracování použijí pouze jejich logickou obměnu. Téma: Pokročilé užití cyklů Vstupní znalosti:
základní znalost práce ve Windows
orientace v programovém prostředí Baltík
schopnost tvorby základních příkazů
znalost prvků a složených příkazů
orientace ve světových stranách
Pomůcky:
počítač s nainstalovaným programovaným prostředí Baltík
Časová dotace: 60 minut Cíl:
utužovat získané vědomosti z předchozích příkladů
objasnit žákům princip vložených cyklů
Klíčová slova: cyklus, příkazové závorky Rozpracované téma: Cvičný příklad 1: Vytvoříme si program s názvem HAD, kde budeme chtít po Baltíkovi, aby vysazoval stromy do tvaru tzv. hada po celém svém pozemku (viz obr. 12).
21
Obr. 12 Výsadba principem tzv. hada Baltík nebude moci jen tak vykročit, ale bude se muset nejprve otočit na sever
,
poté mu přikážeme, aby vysadil devětkrát strom, a tím se dostaneme na horní část pozemku. Dalším příkazem bude otočení na východ Následně by se měl Baltík otočit se na jih
a výsadba dvou stromů.
a vysadit dalších devět stromů. Poté
Baltíkovi přikážeme, aby se otočil na východ a zasadil dva stromy. Předchozí příkazy aplikujeme až do té doby, co Baltík vysadí celou plochu. Výsledný program by měl odpovídat obrázku číslo 13.
Obr. 13 Zápis programu HAD
22
Při zamyšlení ale zjistíme, že i když programové prostředí umožňuje kopírovat bloky příkazů, což nám práci usnadní, že je pro nás nejvýhodnější použít tzv. cyklus v cyklu. (viz níže)
Obr. 14 Cyklus v cyklu Všimněme si, že u složitějších programů nám snadnější orientaci umožňují příkazové závorky, které jsou u složeného příkazu, který je uvnitř jiného složeného příkazu a mají odlišné zbarvení. Samostatná práce: Samostatný příklad je zaměřen na získané zkušenosti z cvičné části, zejména na použití složeného příkazu uvnitř jiného složeného příkazu, tzv. cyklu v cyklu. Zadání: Naprogramujte program KOLONA AUT, který bude ve výsledku odpovídat obr. 15. Inspirujte se předchozím cvičným příkladem a nezapomeňte využít zápisu cyklu v cyklu.
Obr. 15 Výsledek programu KOLONA AUT 23
Řešení: Za prvé si spočítáme, kolik Baltík musí udělat kroků, aby se dostal do požadovaných stanovišť. V druhé řadě vytvoříme příkazy s příslušnými kroky, s aplikací jednotlivých aut. Nesmíme zapomenout na to, že se Baltík musí vždy, po aplikaci kroků, vhodně otočit a až poté pokračovat. Dále využijeme cyklu v cyklu, jelikož se poslední čtyři příkazy opakují, takže jej umístíme do cyklu, který se dvakrát zopakuje. Velkou výhodou toho řešení je, že programování v programovacím prostředí Baltík tímto způsobem nám zabere méně času i práce a je přehlednější, zajímavější a pro žáka poutavější.
Obr. 16 Program KOLONA AUT
2.4 Metodický list č. 4 – Tvorba složitějšího programu Závěrečný metodický list představuje žákům postupy, které je nutné si osvojit pro efektivní práci při tvorbě složitějších programů – princip dekompozice, zrychlování určitých částí programu a následně také využití řádkových komentářů. Žáci v této fázi již logickým způsobem řeší zpracování daného programu, který má za úkol kompletně otestovat získané znalosti ze všech tří přechozích metodických listů. Téma: Tvorba složitějšího programu Vstupní znalosti:
základní znalost práce ve Windows
orientace v programovém prostředí Baltík
schopnost tvorby složitějších příkazů 24
pochopení do sebe vložených cyklů
Pomůcky:
počítač s nainstalovaným programovaným prostředí Baltík
Časová dotace: 135 minut Cíl:
naučit se postupy při tvorbě složitějších programů (dekompozice)
zrychlování určitých pasáží
využití řádkových komentářů
Klíčová slova: dekompozice, inicializace programu, řádkový komentář Rozpracované téma: Nyní se budeme věnovat programování zajímavějších, tím pádem složitějších věcí. Zamysleme se nad tím, jak bychom realizovali program, podle nějž by Baltík vystavěl poušť, se vším co se na poušti může nacházet, jak to vidíme na obrázku číslo 17.
Obr. 17 Egyptská poušť Základní technikou při řešení složitých úloh je dekompozice, neboli rozdělení problému na několik jednodušších částí (18). Nejlépe si to lze představit na příkladu „Egyptská poušť“. Celý obrázek se skládá z části, kde je řeka Nil a poušť. Dále zde můžeme nalézt jednotlivé pyramidy, jejich zabezpečení a ve finální fázi se zobrazí 25
nápis EGYPT. Při programování, složitějších programů, je tedy zcela jistě nejdůležitější si každý problém, každou část programu důkladně promyslet. Před samotnou realizací daného úkolu si nejprve naplánujeme, jak bude vypadat náš program v jednotlivých krocích.
Obr. 18 Koncept programu „Egyptská poušť“ Začneme vytvořením pouště. To znamená, že musíme postavit základní řadu písku, která se bude jako jediná skládat z 12 kostek písku, jelikož při dalších příkazech se Baltík bude muset otočit, přičemž udělá o krok navíc. Následující příkazy vytvoříme pomocí cyklu, který se bude čtyřkrát opakovat. Poslední krokem při tvoření pouště bude příkaz, který je již obsažený v přechozím cyklu, jelikož ale Baltíkův pozemek má jen deset řádků, musí tento příkaz osamostatnit. Teď je poušť hotová. (obr. 19)
Obr. 19 Zápis pro vytvoření pouště
26
Nyní se pustíme do vytváření řeky Nil, kterou ve skutečnosti představuje modrý obdélník o rozměrech 3 x 10 polí. Nabízí se nám řada možných postupů, jak tento obdélník získat. Pro procvičení předchozích okruhů, kde jsme tvořili například kolonu aut, může využít princip programu HAD.
Obr. 20 Část programu pro stavbu Nilu Nilský krokodýl je nedílnou součástí stejnojmenné řeky a proto i v naší úloze nesmí také chybět. Příslušný obrázek nalezneme v bance předmětů a přikážeme Baltíkovi, aby vždy udělal jeden krok a vykouzlil obrázek krokodýla.
Obr. 21 Program po dokončení pouště a řeky Nil 27
Dosavadní vzhled programu by měl odpovídat obrázku číslo 21, ale také nemusí. Není totiž důležité, jakým způsobem jsme program vyřešili, ale je důležité, že jsme jej vyřešili a výsledek odpovídá zadaným požadavkům. Výsledná plocha by měla být tvořena ze 11/14 žlutou barvou zprava (poušť) a 3/14 zleva modrou barvou, která vytvoří řeku. (viz obr. 22)
. Obr. 22 Spuštěný program Testování funkčnosti jednotlivých částí programu může být mnohdy velice zdlouhavé, obzvlášť pokud vždy musíme čekat, než Baltík postupně provede všechny části i ty o kterých dávno víme, že jsou funkční. Tuto nepříjemnost můžeme obejít pomocí nastavení rychlosti na nekonečno. Hotovou část programu nastavíme tedy na nekonečno a v okamžiku, kdy se dostaneme do námi požadované nefunkční oblasti, nastavíme rychlost zpět na číselnou hodnotu. Rychlost probíhání programu můžeme nastavit již v počátečním nastavení v tzv. inicializaci programu (18). Na obrázku číslo 17 zjistíme, že další částí programu by měla být stavba pyramidy. Nejprve Baltíkovi přikážeme posun na námi požadované místo, kde poté začneme se stavbou. Dojem pyramidy získáme složením řádků, ve kterých se počet tmavě žlutých čtverců vždy sníží oproti předchozímu příkazu, o dva. Jelikož pyramidy jsou stavby, které sloužily jako hrobky egyptských králů, můžeme špičku pyramidy názorně označit lebkou (19). Druhou pyramidu sestavíme stejně jako předchozí, pouze musíme nejdříve Baltíka přesunout na dané místo.
28
Obr. 23 Stavba pyramid Také nezapomeňme, že každá pyramida má svou stráž. Tudíž si v bance předmětů vybereme vhodnou stráž, například hada. V první řadě přemístíme Baltík na požadované místo, poté mu přikážeme vyčarovat pětičlennou hadí stráž před druhou pyramidu. Stejný postup aplikujeme na stráž u první pyramidy.
Obr. 24 Hadí stráž Konečnou fází je vytvoření nápisu Egypt. Sedmá předmětová banka nám nabízí písmena a číslice, potíž je ale v tom, že pozadí písmen je modrá. Využijeme tedy tlačítko Kreslení
, kde pozadí jednoduše přebarvíme. Poté přikážeme Baltíkovi,
aby nejprve vyčaroval, námi požadované písmeno a poté udělal krok. Tento postup aplikujeme do té doby, až Baltík vykouzlí nápis EGYPT. Posledním prvkem, který
29
použijeme, bude neviditelnost. Neviditelností docílíme toho, že Baltík po splnění všech příkazů zmizí a nám se zobrazí výsledek dle obrázku číslo 17.
Obr. 25 Nápis EGYPT
30
3 Případová studie 3.1 Strategie výzkumu
Literatura charakterizuje strategii výzkumu jako určitý specifický koncept řešení výzkumného úkolu, jenž zahrnuje řadu teoretických, metodologických, ale i organizačních aspektů. Existují
dvě
hlavní
kategorie
výzkumných
strategií
-
kvalitativní
a kvantitativní (20). Při zpracování výzkumné části mé bakalářské práce jsem se rozhodla zvolit metodu kvalitativní výzkumné strategie, jelikož kvalitativním přístupem získáváme konkrétní, názorný a plastický obraz skutečnosti (21). Kvalitativní výzkum je vázán na přímý kontakt a vzájemné působení se zkoumanými subjekty. Oproti kvantitativnímu výzkumu, kde sběr dat je krátkodobý a jednorázový, má zde průběh sběru dat dlouhodobější charakter. Mezi kvalitativní metody zkoumání patří například kvalitativní rozhovor, nestrukturované pozorování, případové studie a projektivní techniky (22). Mnou zvolenou metodou byla případová studie, která je dle pedagogického slovníku charakterizována jako „Výzkumná metoda v empirickém pedagogickém výzkumu. Při níž je zkoumání podroben jednotlivý případ (např. žák, malá skupina žáků, jednotlivá třída, škola apod.), detailně popsán a vysvětlován, takže se dochází k takovému typu objasnění, jehož při zkoumání týchž objektů v hromadném souboru nelze dosáhnout. Výhodou metody případové studie je možnost hlubokého poznání podstaty případu, nevýhodou omezenost zobecnitelnosti výsledků (23).“ Pro případovou studii je také příznačné, že na rozdíl od laboratorního izolovaného výzkumu se odehrává v terénu. Při výzkumu s využitím případové studie se rozlišují dva přístupy, přičemž jeden z nich multicase studies právě použiji. Multicase studies je přístup při němž je realizuje více případových studií, které se srovnají a v konečném výsledku vytvoří jednu společnou studii (24).
31
3.2 Cíle případové studie
Cílem případové studie je ověření vytvořených metodických listů v praxi a získání rozvoje poznání v oblasti výuky programování. Dílčím cílem je srovnání jednotlivých případových studií, jehož výsledkem by mělo být zjištění, zda mohou žáci 2. stupně základní školy porozumět základním principům programování. Pohled
na
výzkumné
cíle
byl
inspirován
profesorem Vladimírem
Vondráčkem, který tvrdí: ,,Výzkum je činnost směřující k získání nových poznatků, tj. nových fakt, zkušeností, souvislostí … Výzkumný i vědecký pracovník se může stát objevitelem, vynálezcem, nebo tím, jenž upozorní na dosud nepovšimnutý vztah, tím, který objeví chybu v dosavadním pojetí, který nastíní novou hypothesu či teorii nebo který vyvrátí dosavadní.“ (25)
3.3 Fáze případové studie Zvolená případová studie se skládá z fáze přípravné, realizační a zpracování výsledků. Tyto fáze jsou v této kapitole blíže popsány spolu s jednotlivými realizacemi.
3.3.1 Fáze přípravná
Přípravná fáze směřovala k praktickému ověření mnou zvolených teoretických postupů. Zahrnovala zpracování teoretické části a posléze vytvoření jednotlivých návrhů metodických listů. Kritériem pro výběr žáků byl jejich věk a také skutečnost, že se výuka programování na jejich základní škole nerealizuje. Objektivnější celkové hodnocení případové studie měla zajistit ta skutečnost, že každý žák navštěvuje jiný z ročníků 2. stupně základní školy. Naplánovala jsem si výuku vždy na páteční odpoledne a její realizace započala od nejstaršího žáka a poté měla věkově sestupnou tendenci.
32
3.3.2 Fáze realizační
Případová studie byla realizována se čtyřmi žáky po dobu čtyř týdnů, přičemž každý týden byly metodické listy probrány s jedním žákem. Pečlivá příprava, obzvlášť názorné ukázky výsledných programů, mi umožnila efektivní průběh případové studie a okamžitou zpětnou vazbu od žáků. Důležité také bylo při realizaci navodit pozitivní atmosféru, která velkou mírou přispěla k lepší komunikaci s žáky. Využila jsem metody dotazovacího typu, ale svou roli sehrála také metoda pozorovací. Mezi sledované aspekty patřila otevřenost vůči novým poznatkům a také schopnost logického uvažování jednotlivých věkových skupin.
Realizace č. 1
První realizace proběhla dne 1. března 2013 se žákem, který navštěvuje devátou třídu základní školy. První informací, kterou jsem chtěla v počátku práce od tohoto žáka získat, byla skutečnost, zda má již podanou přihlášku na střední školu. Negativní odpověď, která vzápětí zazněla, mne nesmírně motivovala k co nejlepšímu podání následné výuky. Uvědomila jsem si, že právě mnou navržené metodické listy dostanou šanci ovlivnit jeho další studium. A to byla výzva. Práce na prvním metodickém listu, jehož téma „Seznámení s programovým prostředím Baltík“, zabralo necelých 10 minut, což bylo způsobeno především tím, že žák již úspěšně absolvoval veškerou výuku informatiky na základní škole. Byl tedy schopen se snadno zorientovat v panelu prvků i v jednoduchém cvičném příkladu. Při řešení samostatné práce žák dokázal ihned navrhnout možnost zkráceného zápisu, který pak bez problému ve své další práci aplikoval. Druhý metodický list „Pokročilá práce s příkazy“ zpracovával tentýž žák také bez sebemenšího zaváhání. Již při tvorbě cvičných příkladů navrhoval vlastní řešení a podotknul, že mu více vyhovuje příkaz, který otáčí Baltíka na dané světové strany než příkaz „otoč vlevo/vpravo“.
33
Třetí metodický list, který objasňuje tvorbu cyklů, žák nadšeně přijal se slovy „Vždyť to ulehčí spoustu času!“ a požádal mě, zda může vyřešit zadání cvičných příkladů nejprve samostatně, což jsem samozřejmě uvítala. Při závěrečném zpracování posledního čtvrtého metodického listu „Tvorba složitějších programů“ se zajímal o další možnosti programového prostředí Baltík. Při mém sdělení, že v programovém prostředí lze vytvořit i jednoduchou počítačovou hru Piškvorky, konstatoval, že si to musí doma zkusit a zda mu zapůjčím instalační CD.
Realizace č. 2
Realizaci, která proběhla dne 8. března 2013, jsem si domluvila s žákyní osmého ročníku, která jako své oblíbené školní předměty uvedla fyziku a matematiku. Při dalším dotázání mi sdělila, že se také pravidelně účastní olympiád z výše uvedených předmětů a že ve volném čase nejraději řeší různé logické hlavolamy. Jelikož nikdo z jejího okolí se nevěnuje programování, přiznala se, že o něm má jen minimální představu, které se posléze ukázala jako mylná. Úvodní metodický list opět vzhledem dobré znalosti počítače nepůsobil žákyni problém. Druhý metodický list plnila svědomitě, až na malé zaváhání při tvorbě samostatné práce. Proto jsem se zkoumanou žákyní opětovně prošla cvičné příklady. Na základě opakování cvičných případů žákyně vše pochopila a při plnění třetího metodického listu již aktivně navrhovala vlastní způsoby řešení. Při realizaci čtvrtého metodického listu se v plné míře rozvinulo a projevilo logické myšlení žákyně, kdy díky kterému tvořivě uplatňovala osvojené poznatky z přechozích cvičeních.
Realizace č. 3
Dne 15. března 2013 jsem uskutečnila případovou studii s žákyní sedmé třídy základní školy. Žákyně se již od počátku prováděné případové studie chovala značně
34
pasivně. Ve svém třídním kolektivu dle známek patří mezi horší průměr. Tato skutečnost je pravděpodobně způsobena dyskalkulií. Dyskalkulii je specifická vývojová porucha učení, která se projevuje neschopností naučit se počítat a aplikovat matematické operace (26). První a druhý metodický list žákyně zvládla ještě bez větších obtíží, ale s přibývajícím množstvím příkazů, které postupně narůstaly, se zvyšovala chybovost a komplikace na straně žákyně. Při cvičném příkladu z třetího metodického listu měla žákyně při práci s příkazy značné obtíže a při tvorbě samostatné práce si již nevěděla rady. Okamžitě resignovala a chtěla programové prostředí zavřít. Napadlo mne, že jí může pomoci tužka a papír. Vysvětlila jsem jí, že pro lepší představu má „hada“, kterého má Baltík vyčarovat, nejprve rozkreslit po jednotlivých krocích na papír. Takto si žákyně s mojí pomocí navrhnula na papír požadovaný cíl, tedy cílový obrázek. Tento způsob práce s touto žákyní se osvědčil a program „Kolona aut“ již naprogramovala, opětovně s použitím papíru a tužky, ale již zcela sama. Závěrečný metodický list si také rozkreslila, ale bez sebemenších obtíží jej zvládla a jeho výsledek odpovídal zadání. Zde jsem si ověřila, že ne každý žák má stejnou míru představivosti. Některý, viz tato žákyně, si musí výsledný cíl nejdříve navrhnout a to i třeba pomocí náčrtku či jiných mnemotechnických pomůcek. K výslednému cíli se však lze i přes tento hendikep dobrat zcela vždy.
Realizace č. 4
Závěrečná realizace proběhla dne 22. března 2013. Jejím objektem byl nejmladší testovaný žák, který navštěvoval šestý ročník základní školy. Oblast počítačů, pominu-li znalost sociálních sítí a počítačových her, pro něj byla jednou velkou neznámou. V této realizaci jsem pozorovala to, že tento žák na rozdíl od přechozích testovaných všechny úkoly pomalu, ale pečlivě procházel, nic nechtěl uspěchat. Programové prostředí se mu očividně líbilo. Při výběru předmětu v plnění samostatné práce z druhého metodického listu, si nadšeně a se zájmem prohlížel předmětovou banku a tak jsem svolila k tomu, že může Baltík místo stromu sázet i ostatní předměty. Nemohl se rozhodnout pro předmět, který vybere, proto jsem mu navrhla, že může vytvořit dvě verze cvičného příkladu. Přičemž v každé jednotlivé 35
verzi pokaždé bude Baltík sázet jiný předmět. Přijal moji nabídku řešení s nadšením. Jelikož se mi při předchozí realizaci se žákyní trpící dyskalkulií osvědčil pro lepší znázornění a pochopení papír a tužka, opětovně jsem je využila vzhledem k nízkému věku testovaného žáka i v této realizaci. Poté co si žák vše rozkreslil a tedy graficky znázornil cíl své práce, zvládl následné programování suverénně a vytvořil i samostatně práci. Tvorba složitějších příkazů, které obsahuje metodický list číslo čtyři, přinesla do jeho práce nejistotu a obavu, že úkoly z tohoto listu nezvládne. Proto jsem mu kompletně metodický list osobně převedla. Poté jsem se žáka dotázala, zda by dovedl zopakovat mnou předvedený postup a tím pádem samostatně vypracovat program „Egyptská poušť“. Žák souhlasil a bylo na něm zjevné, že získal jistotu a jednotlivé kroky v programování mu již nečily žádné velké problémy.
3.3.3 Fáze zpracování výsledků
Každý účastník případové studie byl požádán po ukončení práce o její zhodnocení. K získání potřebných informací od zkoumaných objektů jsem zvolila dotazníkovou metodu (přiloženy jako příloha). Provedla jsem také své sebehodnocení, které je ve vzdělávání důležitým aspektem, je to postup, který umožňuje srovnávat vlastní výkon s objektivizovaným nebo předepsaným standardem (27). Následné zpětné pohledy slouží především ke zkvalitnění budoucích realizací.
Sebehodnocení Úvodní realizace případové studie probíhala poměrně snadno, tato skutečnost byla podmíněna z větší části bystrostí testovaného žáka, ale také tím, že mnou vytvořené metodické listy ukazovaly možnosti například zkrácených programových zápisu, což tento typ aktivních žáků zcela jistě ocenil. Průběh realizace poukázal na to, že pokud by realizace neprobíhala formou případové studie, ale například kolektivní výukou objevila by se zcela jistě zásadní komplikace, kterou by vytvořil typ zvídavých žáků. Zvídaví žáci jsou rychlejší než zbytek žáků ve skupině a tedy by jim například nevyhovovalo tempo ostatních žáků. Při budoucí tvorbě metodických listů bych proto chtěla zařadit za závěrečný příklad ještě další příklad pro tyto bystré žáky. Tím 36
by se tito žáci zaměstnali a neměli tak prostor k vyrušování ostatních žáků, kteří by tak získali prostor k dokončení své práce. Druhá realizace předchozí myšlenku na potřebné doplnění příkladů pro aktivní, zvídavé žáky jen utužila. Žákyně pilně pracovala, menší zaváhaní při samostatné práci přispělo k tomu, že jsem si uvědomila důležitost neustálého opakování informací, čemuž jsem při následných realizacích věnovala více pozornosti. Počátek třetí realizace mne značně znejistil, neboť při předchozích realizacích žáci byli vždy nadšeni z nově získaných poznatků a ochotně přijímali nové informace a výzvy dané novými úkoly z mnou navržených metodických listů, což se v tomto případě zde nedělo. Pasivita žákyně mě uváděla do složité situace, s kterou jsem si vzhledem k minimální pedagogické praxi nevěděla příliš rady. Naneštěstí jsem problém, jenž ovlivňoval pasivitu žákyně - její specifická vývojová porucha učení, použitím zcela názorného rozkreslení pomocí tužky a papíru, vyřešila. Tuto realizace také provázela má chyba – rychlé tempo řeči, které způsobuje jistou mírnou nesrozumitelnost pro druhou stranu. Tato chyba může u některých žáků způsobovat nižší zapamatovatelnost a tím snižovat efektivitu, soustředění se a zájem o jejich následovnou práce. Proto jsem se na tuto svou chybu u následující realizace značně soustředila a snažila jsem se pomalejším tempem své řeči své zkoumané objekty lépe zaujmout a lépe jim úkol podat. V závěrečné realizaci jsem se vyvarovala předešlému problému, jenž vyvolal značně pasivní přístup testované žákyně, proto jsem ihned zvolila aplikaci zcela názorné metody pomocí papíru a tužky. Myslím si, že tento názorný postup je zcela určitě vhodné praktikovat při prvotní výuce programování na základních školách, jelikož žáci nemají k dispozici tak individuální přístup, tudíž se jim hůře převádí jejich vlastní představivost do následné realizace pomocí příkazů. Tato realizace také ukázala, že použití metodických listů při výuce žáků nižších ročníků druhého stupně základní školy vyžaduje vyšší míru časové dotace, neboť jejich přístup je vzhledem výběru atraktivního programového prostředí značně hravý. Vzhledem k tomu, že jednotlivé realizace případové studie probíhaly vždy pouze v jeden den, nemohla jsem brát v potaz předchozí znalosti i přesto jsem se snažila, aby žáci značnou část svých nově nabytých vědomostí získávali především 37
svou vlastní úvahou. Dle mého mínění je tento přístup v dlouhodobějším měřítku výhodnější z toho důvodu, že žáci mohou v případě zájmu samostatně pokračovat v rozšiřování získaných znalostí.
Hodnocení z pohledu žáků Hodnocení ze strany žáků probíhalo pomocí vytvořeného dotazníku. Všechny vyplněné dotazníky nalezneme v kapitole přílohy. Dotazník obsahoval otázky, které měly přinést od žáků důležitou zpětnou vazbu, ať už to byla otázka, co se v průběhu realizace dozvěděli, jak hodnotí přístup lektora, ale také vlastní sebehodnocení jejich práce. Poslední dvě otázky se žáků dotazovaly, který metodický list se jim líbil nejvíce a který naopak nejméně. Odpovědi na první otázku měly významově shodný charakter, žáci se při jednotlivých realizacích poprvé dozvěděli o existenci programového prostředí Baltík a tím pádem o možnostech dalšího využití osobního počítače. Výsledek po sečtení bodů, zaznamenaných na stupnice hodnotící přístup a výkon lektora, byl 34 bodů z možných 40, což je velmi pozitivní zjištění. Příslušné komentáře k této hodnotící stupnici obsahovaly zejména kladná hodnocení. Sebehodnotící otázka vypovídala o snaze žáků rozšířit si svůj okruh zájmů, tedy až na žákyni z realizace číslo tři, jejíž odpověď ,,moc mi to nešlo“ tuto snahu příliš nepotvrzovala. Odpovědi na poslední dvě otázky vyvodily, že pro starší žáky je atraktivnější čtvrtý metodický list, který je složitější ale také zajímavější a mohou se při jeho plnění více aktivně projevit. Naopak nejméně se jim líbil metodický list číslo jedna, jelikož jeho úkoly byly pro ně příliš triviální. Mladší dva žáci uvedli přesně opačné odpovědi, nejméně se jim líbily metodické listy číslo tři a čtyři právě kvůli jejich složitosti. Za povedený označili metodický list číslo jedna, neboť jich bavil a zdálo se jim, že se jim dobře daří při jeho následném zpracování. Hodnocení žáků působilo pozitivním dojmem, při žádné odpovědi nenastala negativní shoda. Příznivě mě překvapilo, že z jednotlivých odpovědí vyplývala ta skutečnost, že si žáci uvědomovali, že si z této realizace odnesli řadu nově nabytých vědomostí.
38
4 Závěr V bakalářské práci jsem se věnovala otázce výuky programování na druhém stupni základních škol. Teoretická část práce se zabývala problematikou historického vývoje programovacích jazyků a historií jejich aplikace ve školství. Tato část se také snažila dát čtenáři základní představu o současné situaci ve výuce programování na základních školách, například dle zjištění se jen na minimu základní škol do tematických plánů informační výchovy aplikuje výuka základů programování. Tato situace je značně znepokojující, neboť současná společnost stále více podléhá informačním a komunikačním technologiím, počítače spravují stále více procesů v nespočtu odvětví a proto je nutné již na základních školách začít vychovávat odborníky - programátory nebo jim alespoň poskytnout vhodné základy pro jejich následný rozvoj. Proto cílem mé bakalářské práce bylo vytvoření metodických listů pro žáky, kteří navštěvují druhý stupeň základní školy. Metodické listy vzhledem k výběru programového prostředí Baltík měly sloužit k výuce základů programování, ne k výuce specifického programovacího jazyka, jelikož vývoj v programovacích jazycích jde bezostyšně kupředu a než se žáci dostanou do praxe, budou programovací nástroje zcela jistě vypadat jinak. Provedená případová studie výrazně přispěla zisku detailnějších poznatků o schopnost žáků různých věkových skupin. Z hodnocení případové studie vychází najevo, že žáci druhého stupně základní školy jsou zcela jistě schopni rozvíjet své logické a abstraktní myšlení pomocí mnou vytvořených metodických listů, jež obsahují jednoduchá algoritmické cvičení, důležitá pro pochopení základů programování. Absence výuky základních principů programování již na základní škole je tedy značně neopodstatněná. Realizace jednotlivých případových studií také ukázaly, že při aplikaci metodických listů v kolektivní výuce lze nutné brát zřetel na různou míru rychlosti žáků při aplikaci jejich logického myšlení do formy příkazů. Vynaložené úsilí při tvorbě této bakalářské práci pro mě bylo velkou zkušeností. Hlavní přínos měla praktická část práce, konkrétně vytvoření metodických listů a následná jejich realizace mi přinesla spoustu praktických zkušeností, které bych chtěla využít a také zdokonalit při praxi v navazujícím studiu. 39
5. Použitá literatura a zdroje 1. Rámcový vzdělávací program pro základní vzdělávání (se změnami k 1. 9. 2010). [online]. Praha: Výzkumný ústav pedagogický v Praze, 2007. 126 s. [cit. 2013-0213].
Dostupné
z
WWW:
content/uploads/2009/12/RVPZV_2007-07.pdf>. 2. VIRIUS, Miroslav. Java pro zelenáče. 2. upr. vyd. Praha: Neocortex, 2005. 268 s. ISBN 80-863-3017-6. 3. VIRIUS, Miroslav. Úvod do programování. Vyd. 1. V Praze: České vysoké učení technické, 2009. 263 s. ISBN 978-80-01-04278-6. 4. SEHNALOVÁ, Vladimíra. Metodika výuky informatiky na 2. stupni základních škol a středních školách z pohledu pedagogické praxe - náměty pro začínajícího učitele.
Ostrava:
Ostravská
univerzita
v
Ostravě,
2010.
72
s.
ISBN 978-80-7368-891-2. 5. ČÁBALOVÁ, Dagmar. Pedagogika pro učitele: podoby vyučování a třídní management, osobnost učitele a jeho autorita, inovace ve výuce, klíčové kompetence ve vzdělávání, práce s informačními prameny, pedagogická diagnostika. 2. rozš. a aktualiz. vyd. Praha: Grada, 2011. 456 s. ISBN 978-802-4733-579. 6. ČADA, Ondřej. Objektové programování: naučte se pravidla objektového myšlení. 1. vyd. Praha: Grada, 2009. 200 s. ISBN 978-80-247-2745-5. 7. Dotazník: Současná výuka programovaní na základních školách. [online]. [cit. 2013-03-11]. Dostupné z: http://www.ceskaskola.cz/2013/02/anketa-soucasnavyuka-programovani-na.html 8. LAVIN, Peter. PHP - objektově orientované: koncepty, techniky a kód. 1. vyd. Praha: Grada, 2009. 211 s. ISBN 978-80-247-2137-8. 9. PÍSEK, Slavoj. HTML: začínáme programovat. 3., aktualiz. vyd. Praha: Grada, 2010. 190 s. ISBN 978-80-247-3117-9. 10. LEGO MINDSTORMS NXT. [online]. [cit. 2013-03-11]. Dostupné z: https://lego.zcu.cz/web/ 40
11. BERGIN, Joseph. Karel: a gentle introduction to the art of object-oriented programming. New York: Wiley, 1997. 187 p. ISBN 04-711-3809-6. 12. VEJVODA, Michal; RYTÍŘ, Miroslav. Programovací jazyk Karel [online]. Český Krumlov : Stanice Mladých Techniků při ZRP Větřní, 2001 [cit. 2013-03-10]. Dostupné z WWW:
. ISBN 99972-03-09-7. 13. BLAHO, Andrej a Ivan KALAŠ. Imagine Logo: učebnice programování pro děti. Vyd. 1. Brno: Computer Press, 2006. 48 s. Česká škola (Computer Press). ISBN 80-251-1015-X. 14.
Želví
grafika.
[online].
[cit.
2013-03-12].
Dostupné
z:
http://cs.wikipedia.org/wiki/%C5%BDelv%C3%AD_grafika 15. PECINOVSKÝ, Rudolf. Baltík – Učebnice programování nejen pro děti. SGP Systems, 2001, 216 s. 16. PECINOVSKÝ, Rudolf. Myslíme objektově v jazyku Java: kompletní učebnice pro začátečníky. 2., aktualiz. a rozš. vyd. Praha: Grada, 2009. 570 s. ISBN 978-80247-2653-3. 17. KROPÁČ, Jiří. Didaktika technických předmětů: vybrané kapitoly. 1. vyd. Olomouc: Univerzita Palackého v Olomouci, 2004, 223 s. Ediční řada Skripta. ISBN 80-244-0848-1. 18. KLIMEŠ, Lumír. Slovník cizích slov. 8. vyd. SPN - pedagogické nakladatelství, 2005. 829 s. ISBN 978-80-7235-446-7. 19.
Egyptské
pyramidy.
[online].
[cit.
2013-03-04].
Dostupné
z:
http://cs.wikipedia.org/wiki/Egyptsk%C3%A9_pyramidy 20. HENDL, Jan. Kvalitativní výzkum: základní teorie, metody a aplikace. 2., aktualiz. vyd. Praha: Portál, 2008. 407 s. ISBN 978-80-7367-485-4. 21. CHRÁSKA, Miroslav. Metody pedagogického výzkumu. Vydání 1. Praha: Grada Publishing, 2007. 265 s. ISBN 978-80-247-1369-4. 22. ČÁBALOVÁ, Dagmar. Pedagogika. Vyd. 1. Praha: Grada, 2011. 272 s. ISBN 978-802-4729-930. 41
23. PRŮCHA, Jan, Eliška WALTEROVÁ a Jiří MAREŠ. Pedagogický slovník. 4., aktualiz. vyd. Praha: Portál, 2003. 322 s. ISBN 80-717-8772-8. 24. YIN, Robert K. Case study research: design and methods. 2nd ed. Thousand Oaks: Sage Publications, 1994. 170 s. ISBN 08-039-5663-0. 25. VONDRÁČEK, Vladimír. Úvahy psychologicko-psychiatrické: základní teorie, metody a aplikace. 1. vyd. Praha: Avicenum nakladatelství, 1975. 225 s. 26. PRŮCHA, Jan a Jaroslav VETEŠKA. Andragogický slovník. Vyd. 1. Praha: Grada, 2012, 294 s. ISBN 978-802-4739-601. 27. PALÁN, Zdeněk. Lidské zdroje: Výkladový slovník. 1. vyd. Praha: Academia, 2002, 280 s. ISBN 80-200-0950-7.
42
Seznam příloh Příloha č. 1: Realizace případové studie č. 1, dotazník vyplněný žákem Příloha č. 2: Realizace případové studie č. 2, dotazník vyplněný žákyní Příloha č. 3: Realizace případové studie č. 3, dotazník vyplněný žákyní Příloha č. 4: Realizace případové studie č. 4, dotazník vyplněný žákem
43
Příloha č. 1: Realizace případové studie č. 1, dotazník vyplněný žákem
44
Příloha č. 2: Realizace případové studie č. 2, dotazník vyplněný žákyní
45
Příloha č. 3: Realizace případové studie č.3 , dotazník vyplněný žákyní
46
Příloha č. 4: Realizace případové studie č. 4, dotazník vyplněný žákem
47