Ivo Lysoněk: Imagine Logo – programování pro nejmenší

Monday, April 7, 2008 ·

Když v úvodní hodině vysvětluji dětem, co je to Imagine Logo, říkám, že to je z padesáti procent programovací jazyk, z padesáti procent grafický editor a z padesáti procent hra. Ale to je dohromady 150 %, namítnou ti bystřejší… Ano, je to opravdu tak, tedy aspoň já jsem o tom přesvědčen. V prostředí Imagine Logo společně s modulem Logo Motion si žáci nebo studenti mohou velmi příjemnou a nenáročnou formou vyzkoušet základy procedurálního programování i programování řízeného událostmi, práci v rastrovém grafickém editoru včetně vytváření animovaných obrázků a přitom se navíc i dobře pobavit. Podpora multimédií a snadná možnost prezentace vytvořených projektů na webu jsou pak už jen drobné třešničky na tomto softwarovém dezertu. Pokud jste nikdy nepracovali s žádným programovacím nástrojem pro děti, vyberte si tento… Pokud nevíte jak na to, zkuste to se mnou.

Když jsem se asi před deseti lety poprvé setkal s programovacím nástrojem Logo pro Windows, byl jsem jím naprosto unesen. Jako uživatel odkojený Pascalem na PDP-1134, BASICem na ZX Spectru a Karlem na IQ 151 jsem v počítači neustále viděl zejména „programovatelný automat“ a předmět Informatika a výpočetní technika, který se stále ještě nenápadně zabydloval v českém školství jsem měl neodmyslitelně spjatý s pojmem „programování“. Byl to jistý atavismus z doby, kdy s počítačem opravdu nešlo dělat nic moc jiného, než jej programovat. Před zmiňovanými deseti lety se situace v souvislosti s rozvojem programového vybavení počítačů povážlivě měnila. Jako informatici jsme najednou měli plné ruce práce s tím, jak naučit děti zvládat grafické uživatelské rozhraní, textové editory, tabulkové procesory, databáze, grafické programy a další nezbytné atributy počítačové gramotnosti. A jak se měnila pořadová čísla a písmena u nových verzí počítačových programů, trpělivě jsme po roce či dvou přepracovávali učební plány, seznamy užitečných zkratek a postupů kam kliknout, aby to či ono fungovalo. Také já jsem ve snaze držet krok s dobou a obchodní zdatností Billa Gatese prošel ve výuce cestu od T602 přes AmiPro, WinText602 a všechny verze MSWordu až k OpenOffice Writeru (…a zase zpátky) a mohl bych jmenovat i názvy dalších softwarových produktů, kdybych neměl obavu, že nepopletu jejich jména a neunudím čtenáře, aniž bych se dostal k podstatě věci. Totiž, že ať se učební plán měnil za posledních deset let jakkoli, programování v Logu v tercii v něm má své pevné a nenahraditelné místo. A jsem si téměř jist, že až se neuvěřitelné stane skutečností a s textovým editorem jakožto nástrojem pro práci s mateřským jazykem se budou děti seznamovat v českém jazyce, výuku tabulkového kalkulátoru (jako druhdy práci s logaritmickým pravítkem) převezmou matematici, tvorbu prezentací, úpravy fotografií a střih videa a zvuku si do svého programu zařadí učitelé estetické výchovy, o pravěku výpočetní techniky se zmíní historici a o jejím novověku fyzici a snad i biologové, na právní aspekty duševního vlastnictví přijde řeč v základech společenských věd a antivirová ochrana bude tak samozřejmá jako mytí rukou před jídlem a po použití záchodu (s mikročipem ve splachovadle), že i tehdy bude v učebním plánu informatiky a výpočetní techniky v naší škole významná část hodin věnována „krocení želv“. S pevným přesvědčením, že tím pro studenty děláme jednu z nejlepších služeb. Myslíte si alespoň v koutku duše totéž? Pak se zkuste nechat okouzlit tajemným světem želví grafiky, pokud vás už ovšem nezlákal na svou stranu nějaký jiný konkurenční kouzelník.

Jak už jsem naznačil, podstatnou součástí programu Imagine Logo je grafické prostředí pracující na principu tzv. želví geometrie. Je to jakási virtuální plocha, po níž se pohybuje robot ve tvaru želvy. Pomocí několika málo jednoduchých příkazů můžeme želvu po ploše posouvat, přičemž po jejím pohybu zůstává na ploše stopa. Základní příkazy jsou v češtině, je ale možno zvolit i anglickou jazykovou verzi (pokud bychom například chtěli výukou podporovat mezipředmětové vztahy), a pro začátek jich není zapotřebí mnoho. Dopředu (do) a vzad (vz) pohybují želvou o daný počet kroků (pixelů) určeným směrem, vpravo (vp) a vlevo (vl) želvou otáčejí. Ze začátku zadáváme se studenty příkazy do příkazového řádku a ani se příliš nezatěžujeme zadáváním vstupních parametrů (počtu kroků a úhlu otočení). V interaktivním režimu si totiž želva o jejich doplnění sama řekne názorným dialogovým oknem. Okamžitě ale upozorňuji na to, že pro kreslení úseček stejné délky je výhodnější zadávat počet kroků rovnou do dialogového řádku a nezatajuji ani další příjemnou skutečnost, a to že k již jednou zadaným příkazům je možné se jednoduše vracet a pouštět je opakovaně. Brzy se studenti sami začnou dožadovat nových příkazů. Dá se kreslit i jinou barvou? Může být ta čára tlustější? Můžu želvu přesouvat tak, aby nedělala čáru? Můžu čáru nějak smazat? Můžu začít úplně od začátku? Do sady příkazů tak postupně přibude ještě barvapera! (bp!) tloušťkapera! (tp!) peronahoru (pn) perodolů (pd) smaž a domů. Toto „desatero“ nám na nějakou dobu vystačí. Obvykle ho rozšířím ještě o příkaz puntík. Některá přání studentů ale zůstanou nevyslyšena. Jak udělám krok zpět? Jak můžu vymazat pouze část již hotového obrázku? Tohle želva opravdu neumí. Co s tím? Rada je jednoduchá. Nesnažit se obrázky vytvářet metodou pokusu a omylu, ale předem si postup jejich kreslení důkladně promýšlet. Klidně si vytáhni tužku a čtverečkovaný papír a obrázek si předem kresli. Nebo se jdi projít po třídě či po chodbě a želví kroky si nejdříve vyzkoušej na vlastní kůži. Aniž by to studenti tušili, začínají programovat. A pomalu začínají tušit, že při této činnosti jde o něco úplně jiného, co po nich v žádném jiném předmětu dosud nikdo nechtěl (všechna čest výjimkám potvrzujícím toto pravidlo). Velmi rychle také zjišťují, že některým z nich je v tomto směru „shůry dáno“ více a některým méně, a že některým, jak trefně říká jeden můj kamarád, je dokonce „shůry zablokováno“. Tady pak přijde na řadu pedagogická zdatnost, fůra bonusových úkolů pro ty rychlejší a naopak drobných „podvodů“, které mírně popostrčí ty pomalejší.

Dosavadní známé příkazy obvykle doplním ještě o vyplň. Jeho analogie s plechovkou známou z Malování nebo jiných jednoduchým rastrových editorů je obvykle úplně zřejmá a jeho požívání nedělá studentům potíže. Ještě v interaktivním režimu zavádíme také příkaz opakuj (op), který pomůže zkrátit zápis postupu kreslení zejména  pravidelných obrázků. Po řazení příkazů za sebou tak budoucím programátorům podstrčím další řídící strukturu – cyklus. Aniž by samozřejmě některé z těchto vulgárních slov vůbec zaznělo. To už je ale nejvyšší čas začít s opravdovým programováním a z příkazů, které jsme dosud zadávali z příkazového řádku, začít vytvářet příkazy nové – vlastní procedury. Zprvu bez parametrů, později s nimi. Ostatně přemýšlivější studenti si o ně sami řeknou. A popravdě řečeno, těm ostatním je příliš nevnucuji. Ale dost řečí a pojďte chvilku programovat.

Nejdříve tak trochu „upovídaně“.

příkaz čtverec

perodolů

opakuj 4 [dopředu 100 vpravo 90]

peronahoru

konec

příkaz trojúhelník

perodolů

opakuj 3 [dopředu 100 vpravo 120]

peronahoru

konec

příkaz domeček

tloušťkapera! 5

barvapera! "žlutá

čtverec

dopředu 100

vpravo 30

barvapera! "červená

trojúhelník

vlevo 30

vzad 100

konec

příkaz strom

tloušťkapera! 5

barvapera! "červená4

perodolů

dopředu 150

tloušťkapera! 1

barvapera! "zelená

puntík 80

peronahoru

vzad 150

konec

příkaz ulice

smaž

domů

vlevo 90

dopředu 300

vpravo 90

opakuj 3 [

domeček

vpravo 90

dopředu 150

vlevo 90

strom

vpravo 90

dopředu 50

vlevo 90

]

domů

konec

Že vám to příliš nepřipomíná programovací jazyk? Nevadí, zkuste to třeba takhle. Dlouhé názvy příkazů nahraďte jejich zkrácenými ekvivalenty. A význam „kouzelného“ parametru lib? Ten jistě odhalíte sami.

příkaz nu :n :a

pd

op :n [do :a vp 360 / :n]

pn

konec

příkaz vnu :n :a :b1 :b2

tp! 1 bp! :b1

nu :n :a

vp (90 - 180 / :n) do :a / 2

bp! :b2 vypln

vz :a / 2 vl (90 - 180 / :n)

konec

příkaz house :a :b

vnu 4 :a "černá :b

do :a vp 30

vnu 3 :a "černá "červená

vl 30 vz :a

konec

příkaz street :n :a

op :n [house :a lib vp 90 do :a vl 90]

konec

příkaz square :n :a

op 4 [street :n :a vp 90]

konec

příkaz circle :n :a

op :n [house :a lib vp 90 do :a vl 90 - 360 / :n]

konec

příkaz star :n :k :a :b

bp! :b pd

op :n [do :a vp :k * 360 / :n]

pn

konec

příkaz superstar :n :k :a :b1 :b2 :b3

tp! 9 star :n :k :a :b1

tp! 5 star :n :k :a :b2

tp! 1 star :n :k :a :b3

konec

Výsledek hraní si s parametry může vypadat třeba takhle… Anebo úplně jinak.

1. nu 6 60

2. vnu 8 50 "černá "šedá

3. house 80 "žlutá

4. star 9 4 150 "černá

5. superstar 31 15 150 "modrá4 "modrá8 "bílá

6. street 5 30

7. square 5 30

8. circle 18 30

A co když takovéto obrázky začnou děti nudit? Nebo prostě devadesát procent z nich přestane jednoduše stíhat. V tu chvíli je čas atmosféru (a želvy) trochu rozhýbat. Ale to na papíře dost dobře nejde. Na to se budete muset přijít podívat na můj workshop.

Příspěvek byl přednesen na konferenci Počítač ve škole 2008 a byl publikován v jejím sborníku.



Ivo Lysoněk

0 comments:

Články dle data



Učitelské listy

Nabídka práce

Česká škola - portál pro ZŠ a SŠ

Česká škola poskytuje svým čtenářům diskusní prostor k vyjádření názorů na školskou problematiku. Tyto příspěvky se nemusí shodovat se stanoviskem redakce České školy a jsou uveřejňovány jako podnět k dalším diskusím.

Obsah článků nemusí vyjadřovat stanovisko redakce nebo vydavatele Albatros Media, a.s.


Všechna práva vyhrazena.

Tento server dodržuje právní předpisy
o ochraně osobních údajů.

ISSN 1213-6018




Licence Creative Commons

Obsah podléhá licenci Creative Commons Uveďte autora-Neužívejte dílo komerčně-Nezasahujte do díla 3.0 Česká republika, pokud není uvedeno jinak nebo nejde-li o tiskové zprávy.



WebArchiv - archiv českého webu



Tyto webové stránky používají k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Informace o tom, jak tyto webové stránky používáte, jsou sdíleny se společností Google. Používáním těchto webových stránek souhlasíte s použitím souborů cookie.