Programování se seznamy v Imagine Jiří Komínek
PaedDr. Jiří Vaníček Ph.D. Školní rok: 2008 - 09
Abstrakt V mé diplomové práci se zabývám programováním se seznamy v prostředí Imagine Logo. Práce by měla pomoci žákům a jejich učitelům pochopit využití seznamů při programování v Imagine a inspirovat je při tvorbě zajímavých projektů. Tato práce by měla sloužit jako referenční příručka pro žáky i učitele, která má za úkol odhalit základní pojmy a výhody seznamů jako datových struktur při programování. Příklady, na kterých bude demonstrováno, jak postupovat při tvorbě různých projektů, by měly být inspirací pro čtenáře při tvorbě vlastních projektů.
Abstract In my diploma thesis I deal with programming with lists at Imagine Logo. Work should help students and their teachers to understand using lists at programming in Imagine Logo and inspires them to create interesting projects. This work should serve like user’s guide for students and teachers and show them idea and advantages of lists like data structures in programming. There would be examples on which will be demonstrated how to proceed creation of different project. Also they should be inspiration for readers to create own projects.
Klíčová slova Seznam, programování, datová struktura, datové objekty užívající seznamy, uživatelská příručka, pracovní listy
Keywords List, programming, data structure, data objels using lists, user’s guide, working sheets
Zadání práce Seznamy jsou základní datovou strukturou, používanou v didaktickém programovacím prostředí Imagine. Bude vytvořena uživatelská a metodická příručka pro práci se seznamy v Imagine s vlastními i sebranými příklady. Tato příručka vysvětlí na vhodných ukázkách syntaxi a základní nástroje pro práci se seznamy, základní datové objekty Imagine užívající seznamy (souřadnice, čas, seznam aktivních želv, záběry obrázků ...). Na vhodných úlohách bude vysvětlena užitečnost používání strukturovaných dat tak, aby podle nich byl uživatel schopen pochopit účel a výhody použití seznamů. Součástí příručky bude komentovaný projekt v Imagine, používající strukturovaná data, ve kterém bude možno nahlédnout do filozofie modelování pomocí strukturovaných dat.
Úvod Úvod do problematiky Problematika užití seznamů v Imagine by se dala zařadit již do pokročilejších technik programování, bereme-li to v rámci programování na základní škole. Podobně jako jiné programovací jazyky i Imagine Logo využívá datové struktury. V našem případě se jedná o seznamy. Seznam v Imagine je datová struktura, jejímž obsahem mohou být další objekty jako text, obrázky, další seznamy, nebo různé hodnoty. Při tvorbě složitějšího projektu se většinou můžeme obejít i bez seznamů, ale s jejich využitím můžeme projekt zpracovat elegantněji, efektivněji a co je nejdůležitější nejrychleji a bez zbytečných komplikací.
Cíle práce Cílem mé práce by mělo být sepsání uživatelské a metodické příručky, která nás seznámí s prací se seznamy v programovacím prostředí Imagine Logo. Tato příručka bude obsahovat řadu úloh ať již sesbíraných, nebo vlastních, na kterých budou představeny procedury pracující se seznamy a jejich syntaktické zápisy. U úloh, u kterých to bude možné a smysluplné, bude zároveň naznačen postup, jak řešit podobnou situaci bez využití seznamů a následné srovnání obou postupů. Dalším z cílů je vytvoření pracovních listů, s jejichž pomocí bude problematika žákům podávána. Od práce očekávám, že by měla rovněž rozvíjet algoritmické myšlení a tvořivost žáků ať už základních či středních škol, nebo účastníkům různých zájmových kurzů, ve kterých by se Imagine vyučovalo. Jedním z problému současné výuky informatiky je, že řada vyučujících tohoto předmětu nemá dostatečné vzdělání na to, aby mohli vyučovat programování a proto toto téma odkládají buď úplně, nebo se mu věnují jen velmi okrajově. Proto si myslím, že by je tato příručka mohla zaujmout a nasměrovat na to, jak tuto problematiku na základní či střední škole vyučovat, případně u nich rozvinout touhu se dovzdělat, aby byli schopni tuto zajímavou látku žákům předložit. Mou snahou bude co nejbližší přiblížení seznamů žákům tak, aby po přečtení a zvládnutí této metodické příručky a pracovních listů, byli schopni reagovat a samostatně řešit vzniklé problémy s využitím seznamů.
Současný stav problematiky Vezmeme-li to celkově, tak k Imagine není mnoho materiálů, ze kterých by se dalo čerpat. Vývojem Imagine se zabývala skupina kolem prof. Ivana Kalaše, která vydala několik publikací, týkajících se programování v Imagine. K problematice užití seznamů v Imagine je v těchto publikacích poměrně
málo informací. Tyto informace jsou ke všemu jen velmi obecné, a proto pro neznalého tématu je poměrně složité začít využívat seznamy při tvorbě náročnějších projektů. To je jedním z důvodů, proč jsem si vybral právě toto téma, aby byla tato problematika důkladněji popsána a informace byly dostupné pro širší veřejnost.
Analýza problému Východiska řešení Jak už je zmíněno výše, k problematice seznamů v Imagine jsou dostupné jen základní informace. Snažím se tuto práci koncipovat jako uživatelskou příručku pro práci se seznamy s názornými ukázkami na praktických příkladech. Měli by zde být popsány především operace se seznamy a jejich syntaxe, postupy jak vytvářet a upravovat seznamy, představit datové objekty vystupující jako seznamy a jejich využití. Součástí příručky bude rozsáhlejší komentovaný projekt, tvořený zejména s využitím seznamů. Zde bude popsána filozofie modelování pomocí strukturovaných dat.
Metodika Při psaní práce budu většinou vycházet ze svých zkušeností, jelikož literatury k tomuto tématu je nedostatek. Práce bude rozdělena na několik částí. V první části budou popsány seznamy jako datové struktury a základní operace, které se s nimi provádějí (vytváření nových seznamů a jejich upravování, zjišťování velikosti seznamů, porovnávání seznamů a dalších). V další části se budu zabývat datovými objekty Imagine, které vystupují jako seznamy (čas, datum, barva…). Tyto objekty budou popsány a samozřejmě ukázány v praktickém využití na příkladech. V další části se čtenář dozví, kde dále v prostředí Imagine se může setkat se seznamy. Budou zde popsány například slova a věty, seznamy nastavení, instrukcí a další. V závěru práce bude popsán hotový projekt, tvořený převážně pomocí seznamů. Jedná se o hru, se kterou se můžeme setkat například v televizním pořadu AZ kvíz. Tedy o pyramidu, kde je naším úkolem označování polí tak, abychom dostali spojitou linii, která se dotýká všech tří stran pyramidy. Na tomto projektu budou demonstrovány všechny důležitý operace, které se týkají seznamů. Zejména jde o vytváření nových seznamů, jejich následné spojování, přidávání hodnot do seznamů, nahrazování hodnot v seznamech, porovnání seznamů a další operace. Součástí práce budou také pracovní listy, pomocí nichž by mohl vyučující problematiku žákům předkládat. Celá problematika seznamů bude rozdělena do několika listů, podobně jako příručka. Na každém listu budou úkoly podobné příkladům z příručky a postup jejich řešení. Potom ve
spolupráci s příručkou budou, žáci schopni úkoly řešit. Pokud my to bude umožněno, příručku spolu s pracovními listy bych rád předložil posluchačům PF JU v semináři Didaktiky programování v Logu. Jelikož se jedná o budoucí učitele, což je jedna z mých cílových skupin, bude možno na základě problémů, které se vyskytnou, materiály přepracovat, tak aby plnily svou funkci co nejlépe.
Co je již hotovo Větší část literatury, která je uvedena níže, jsem již prostudoval, ale stále se snažím hledat více zdrojů, které by mě inspirovaly při tvorbě příručky. Jelikož v zatím prostudované literatuře jsem objevil jen základní informace o práci se seznamy, proto velkou část informací čerpám z nápovědy v Imagine, kterou mám již důkladně prostudovanou. Většina příkladů, které mám v plánu použít v příručce, je z větší části hotova. Kompletně hotový je projekt z poslední kapitoly, který jsem vytvořil již před nějakým časem.
Co je třeba ještě udělat V mé práci je ještě třeba hodně toho udělat. Je třeba utřídit sesbírané informace a příklady, rozdělit je do jednotlivých kapitol, které budě příručka obsahovat. Dále je třeba dokončit některé příklady po obsahové stránce a dát jim určitou grafickou podobu. Jakmile bude z větší části příručka hotová, budu moci začít tvořit pracovní listy, které budou z příručky vycházet. Je třeba také okomentovat závěrečný projekt a nastínit filozofii modelování pomocí seznamů.
Seznam literatury Seznam literatury kterou jste prostudovali či se chystáte prostudovat. Seznam tvořte dle pravidel na www.citace.com. BLAHO, A., KALAŠ, I. Comenius Logo: Tvorivá informatika 1. časť. Bratislava: CL Group, 1998. BLAHO, A., KALAŠ, I. Comenius Logo: Tvorivá informatika 2. časť. Bratislava: CL Group, 1998. BLAHO, A., KALAŠ, I. Imagine Logo, učebnice programování pro děti. Brno: Computer Press, 2006. KALAŠ, I. a kol. Informatika pre stredné školy. Bratislava: SPN, 2000. TOMCSÁNYI, P., TOMCSÁNYIOVÁ, M. Programujeme v Comenius Logu. Bratislava: Metodické centrum, 1997. PIXTON, J. a kol. A Turtle's Guide to Imagining. Cambridge: Logotron, 2001. KALAS, I., HRUSECKA, A. The Great Big Imagine Logo Project Book. London: Logotron, 2004.