Domů > Spomocník > Základní vzdělávání > Rozvoj algoritmického myšlení pomocí Lego Mindstorms
Odborný článek

Rozvoj algoritmického myšlení pomocí Lego Mindstorms

24. 1. 2013 Základní vzdělávání Spomocník
Autor
Kateřina Pelcová

Anotace

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

LEGO® MINDSTORMS® - What is NXT?

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ů

Použití klasických programovacích jazyků, jako například C nebo Java, je poslední a nejpokročilejší metodou programování stavebnice. Obvykle je nutné nainstalovat si příslušné vývojové prostředí a některé jazyky (např. Java) také vyžadují změnu firmware v řídící kostce NXT. Nejedná se však o nikterak náročný úkon a celý systém je možné navíc zase vrátit do původního stavu. Samotné programování robota pak už většinou probíhá podobně jako v případě softwaru NXT-G - např. přes USB rozhraní.

Kromě zmíněných jazyků existují aplikace, které dovolují použití i dalších více či méně exotických programovacích jazyků. Jejich výhodou může být rychlejší vývoj a lepší správa větších projektů, které by se přes grafické rozhraní NXT-G jen těžko mohly realizovat. Z pohledu výuky je pak velkou výhodou to, že žák může dále pokračovat s využitím stavebnice i v době, kdy si již dávno osvojil všechny nezbytné znalosti programování a chce se v nich zdokonalovat.

Z předchozích odstavců je patrný obrovský rozsah použití LEGO Mindstorms pro výuku a trénink algoritmizace i programování od nejmladších žáků na úrovni prvního či druhého stupně základní školy, kteří se mohou seznamovat se základy, až po vysokoškolské studenty a pedagogy realizující relativně velké a z vědeckého hlediska často i zajímavé projekty, jako byl např. robot skládající Rubikovu kostku nebo robot řešící úlohu inverzního kyvadla.

Závěr

Lego Mindstorms představuje zajímavou a použitelnou alternativu k tradičním metodám výuky základů algoritmizace. Pokud se nejedná přímo o plnohodnotnou náhradu stávajících metod, je minimálně vhodným doplňkem k tradiční výuce. K nezanedbatelným kladům patří také relativně příznivá cena kompletu začínající na 9000 Kč za education verzi stavebnice a přibližně 2000 Kč za SW (údaj z ledna 2013). Vzhledem k tomu, že rozsah možností stavebnice je skutečně úctyhodný, její potenciál se jen tak nevyčerpá, a tak bude jistě zajímavá pro široké spektrum uživatelů (včetně učitelů) od absolutních začátečníků až po velmi pokročilé.

Licence

Všechny články jsou publikovány pod licencí Creative Commons BY-NC-ND.

Autor
Kateřina Pelcová

Hodnocení od uživatelů

Článek nebyl prozatím komentován.

Váš komentář

Pro vložení komentáře je nutné se nejprve přihlásit.

Článek není zařazen do žádného seriálu.