Kateřina Pelcová: Rozvoj algoritmického myšlení pomocí Lego Mindstorms

čtvrtek 24. ledna 2013 ·

Článek shrnuje základní informace o možnostech využití robotické stavebnice Lego Mindstorms ve výuce.

Úvod

Robotická stavebnice Lego Mindstorms se v posledních letech poměrně často objevuje v článcích různých technických a populárně naučných časopisů nebo webových portálů. Produkt známého dánského výrobce dětských plastových stavebnic Lego se postupně vypracoval z hračky určené pro starší děti a dorost až na světově uznávaný nástroj pro výuku robotiky. Stavebnice spadá původně do kategorie Lego Technic, s jejímiž kostkami je kompatibilní. Ve své v současnosti již 3. verzi nabízí nečekaně mnoho možností, které daleko přesahují úlohu pouhé hračky. Pomocí „chytré“ řídící kostky, přesných motorů a rozmanité nabídky senzorů mohou prostřednictvím této stavebnice vznikat až nečekaně složité a pokrokové výtvory. I z toho důvodu je možné se setkat s Lego Mindstroms i v seriózních výrobních či vědeckých projektech, kde plní úlohu levného a velmi snadno použitelného nástroje pro vytvoření různých typů robotických aplikací (též viz Hippelova technologická inovace ve školství).

Jak už bylo řečeno, Lego Mindstorms slouží často právě k výuce robotiky. Dle mého názoru se však také jedná o výbornou pomůcku pro výuku algoritmizace a algoritmického myšlení obecně. Tento fakt není příliš propagován nebo publikován a je trochu zastíněn právě robotickou stránkou věci. Jistě, algoritmizace je nedílnou součástí robotiky, ale na většině nespecializovaných škol se spíše setkáme s výukou algoritmizace jako takové. A právě tam by mohla tato stavebnice najít své uplatnění.

Možné způsoby programování pomocí Lego Mindstorms

Pro pochopení další části článku je potřeba stručně uvést možnosti, jakými lze stavebnici programovat. Těchto způsobů je několik. Liší se především složitostí programování.

Nejjednodušší je programovat stavebnici přímo pomocí ovládacího panelu chytré řídící kostky. Řídící kostka obsahuje mikroprocesor zajištující běh programu, vstupy pro různé typy senzorů a výstupy pro motory. Jedná se tedy o „srdce“ celé stavebnice. Tento způsob je nejjednodušší, ale zároveň přináší nejméně možností a je dosti omezen i délkou zadávaného algoritmu. Velkou výhodou je to, že k tomuto způsobu programování není potřeba žádný počítač nebo další zařízení.



Mnohem více možností přináší programování pomocí dodávané aplikace NXT-G, která díky propracovanému systému zadávání algoritmů přes skládání grafických bloků plnících dílčí kroky algoritmu, umožňuje realizovat i poměrně značně složité programy. K tomu je již zapotřebí propojit stavebnici s osobním počítačem.

Nejobtížnějším způsobem, ke kterému je také potřeba osobní počítač, je programování stavebnice Mindstorms pomocí běžných programovacích jazyků jako jsou C, C++ nebo Java. Tento způsob přináší nejvíce možností a umožňuje tak stavebnici maximálně využít.

Výuka základů algoritmizace pomocí Lego Mindstorms

Jak už bylo řečeno v úvodu, stavebnice Lego Mindstorms byla vyvinuta jako nástroj pro výuku robotiky a tento účel splňuje téměř dokonale. Díky svým vlastnostem, které byly zmíněny výše, však může být dle mého názoru použita i jako výborná pomůcka k výuce základů programování a  rozvoji algoritmického myšlení obecně.

Na rozdíl od tradiční výuky základů algoritmizace, která obvykle probíhá na klasickém počítači za pomoci některého z vhodných programovacích jazyků, případně prostřednictvím metody „tužky, papíru a tabule“, může být výuka pomocí Lego Mindstorms pro žáka mnohem snadněji pochopitelná. Zvláště pokud zatím nemá v této oblasti žádné předchozí zkušenosti.

V čem tedy spočívají výhody výuky základů programování pomocí systému Lego Mindstorms? Za prvé je to interaktivnost celého výukového procesu a s ní spojené „učení hrou“. Žáci mohou ihned vidět výsledek své práce, a navíc v mnohem atraktivnější formě, než by tomu bylo u klasického programování na počítači nebo dokonce pouze v případě simulace pomocí tužky a papíru. Při použití zmíněné stavebnice si své výsledky mohou skutečně „osahat“, což jistě vede k většímu zapojení do dané problematiky, a tím pádem i k jejímu rychlejšímu pochopení. Případné chyby během návrhu algoritmu se u robotické aplikace ve většině případů také snadněji ladí, protože je zpravidla ihned vidět, kde nastal problém. To umožňuje rychlejší odstranění problémů.

Velkou výhodou stavebnice Mindstorms je možnost začít „programovat“ úplně bez počítače pouze pomocí „chytré“ řídící kostky. Její možnosti jsou sice dost omezené, ale myslím si, že pro základy práce s algoritmy je to možná dokonce lepší. Žáci snadno pochopí, co je principem sekvenčního zpracování instrukcí a co je to jednoduchá programová smyčka. Zároveň se neztratí v rozsáhlé nabídce funkcí, které by nabízely pokročilejší metody. Až se možnosti samotné NXT kostky vyčerpají, lze přejít na programování pomocí grafické aplikace NXT-G.

Aplikace NXT-G nabízí širokou paletu nástrojů, jež pokrývá všechny základní potřeby výuky algoritmizace. Sestavování algoritmů zde probíhá formou spojování graficky ztvárněných bloků, které vykonávají jednotlivé kroky algoritmu. Můžeme zde najít bloky představující příkazy, podmínky, cykly a dokonce i možnost paralelního vykonávání více příkazů najednou. Celé grafické ztvárnění mírně připomíná klasický vývojový diagram. Díky tomu jsou na něm velmi dobře pochopitelné některé základní algoritmické pojmy jako např. podmínka nebo cyklus. Díky grafické formě „vývoje“ algoritmů také odpadá nutnost pamatovat si názvy jednotlivých příkazů, takže žáci se mohou více soustředit na princip fungování daného prvku, než aby si museli zapamatovat jeho název. V případě, že pochopí a ovládnou všechny základní funkce, které aplikace nabízí, lze využít i mírně pokročilejší prvky jako jsou např. proměnné nebo textové řetězce. Práce s nimi je již o poznání složitější, protože programy ztrácí kvůli grafické formě prostředí svoji přehlednost. Nabízí se otázka, zda v takovém případě není lepší raději rovnou použít klasický programovací jazyk. Na následujícím odkazu je mnoho zajímavých návodů na konstrukce robotů, stejně tak programů k nim vytvořených v NXT-G.
Tvorba programu v prostředí NXT-G formou funkčních bloků

Celý článek na spomocnik.rvp.cz

0 komentářů:

Č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.