Programování pro děti – přehled jazyků

Začal jsem učit děti (8-12 let) programovat. Učíme se v programovacím jazyce Scratch, ale dělal jsem si přehled, v čem všem lze učit děti programovat a jaké to má výhody a nevýhody.

Abych se v popisech programů neopakoval, vysvětlím hned na začátku co to je Vizuální programovací jazyk. Programování v něm probíhá přetahováním a spojováním připravených bloků. Opakem je Textový programovací jazyk, který se více podobá klasickému programování nebo se dokonce využívá skutečný programovací jazyk jako například Javascript. Výhoda vizualního programování je mnohem větší přívětivost pro děti. Skoro bych řekl, že je to pro děti nutnost. Ideálem je, pokud je možné mezi oběma způsoby přepínat a když dítě zvládne vizuální formu, postupně přecházet na textovou.

Scratch

Scratch je vyzuální programovací jazyk speciálně vytvořený pro děti od 8mi let. Byl vytvořen v MIT Media Labs a u zrodu stál Mitchel Resnick ze skupiny Lifelong Kindergarten. Od verze 2 je Scratch online, takže není třeba nic instalovat. Aktuálně je vytvořený ve Flashi, což u některých zařízení může způsobovat problémy, ale připravovaná verze 3 už je vytvořena v HTM/Javascriptu, takže s ní by tyto problémy měly zmizet.

Scratch je pouze vizuální a neumožňuje textovou podobu. Nicméně umí vše, co je k programování třeba: podmínky, cykly, proměnné i vlastní bloky včetně rekurze. Je velmi intuitivní a příjemný pro tvoření. Zároveň obsahuje spousty hotových projektů, které si kdokoliv může zkopírovat a začít upravovat. Jednak to dětem ukáže, co všechno je možné a za druhé má velmi nízkou laťku pro začátečníky.

je v češtině velmi intuitivní neumí přepínat do textového jazyka

Snap!

Snap! vychází ze Scratche a přidává k němu funkcionální programování (konkrétně jazyk Scheme). To umožňuje výuku složitějších funkcionálních konceptů. Stejně jako Scratch je to vizuální programovací jazyk a neumí textovou podobu programu. Snap! je pouze v angličtině a (zcela subjektivně) na mě působí méně přívětivě a více technicky. Pomocí další aplikace je možné z projektu ve Snap! vytvořit samostatnou aplikaci a spouštět ji mimo prostředí Snap!.

výuka složitějších funkcionálních konceptů kompatibilita se Scratch pouze v angličtině

Hopscotch

Hopscotch vychází ze Scratch a přináší ho na Apple zařízení (iPhone, iPad a iPod Touch).

běží na Apple zařízeních pouze na Apple zařízení

Kodu

Kodu je vizuální programovací jazyk vyvíjený v Microsoftu. Je určen hlavně pro tvorbu her. Na rozdíl od ostatních se jeho postavy pohybují ve 3D prostoru, což přináší nové možnosti. Musí se ale instalovat a není to triviální záležitost. Výhoda je, že Kodu je přeloženo do češtiny.

3D světnutnost instalovathodně zaměřené na hry, což podle mě omezuje kreativitu

Code.org

Code.org je hlavně nezisková organizace, která se zaměřuje na zpřístupnění programování. Mají vlastní programovací prostředí studio.core.org o kterém tady hlavně budu psát. Studio se ještě dělí na několik dalších „podstudií“. Playlab slouží k tvorbě her a animací a je podobný např. Scratch. Applab slouží k tvorbě aplikací. Bloky tam vypadají spíš jako kousky javascriptu. V testovací verzi je ještě Weblab, který slouží k tvorbě webových stránek. Bohužel např. Playlab a Applab se od sebe dost liší, takže nejde jednoduše přecházet z jednoho do druhého. Celkově mi studio přijde méně intuitivní a pohodlné než například Scratch. Code.org je částečně přeloženo do češtiny, bohužel překlad není úplný a navíc jsou v něm i faktické chyby (např. když je v zadání úkolu 425pixelů místo 25pixelů, je to hodně nepříjemné). V Applab je možné přepínání mezi textem a kódem, v Playlab bohužel ne.

Přepínání vizuálního a textového programování v Applab více možností co vytvářet Komplikovanější rozhraní
špatný překlad do češtiny více nejednotných rozhraní

Swift playgrounds

Swift playgrounds je více logická/puzzle hra než programování. S postavičkou řešíte úkoly pomocí programu. Učíte se konkrétně programovací jazyk Swift (jazyk pro Apple zařízení). Není vizuální, nýbrž se píše kód.

hezké vizuální zpracování pouze Apple méně podporuje kreativitu, protože je to více hra s úkoly

Tynker

Tynker je vizuální i textový programovací jazyk. Pro textové programování používá Javascript, v některých částech je i možnost Pythonu. Tynker nabízí o trochu více možností než Scratch (například návratové hodnoty funkcí), ale přijde mi méně dotažený a vyladěný. Devizou Tinkeru jsou (placené) hry, na kterých se programování učí. Bohužel, vše je v angličtině.

textové i vizuální programování výukové hry pouze angličtina
méně dotažený programovací jazyk

Baltík

Baltík je vizuální programovací jazyk vytvořený v čechách. Jako jediný je kompletně placený, k dispozici je pouze demoverze. Program je třeba instalovat a instalace je překvapivě (na český produkt) v angličtině. Mě se bohužel demoverzi nepodařilo nainstalovat, vytrvale hlásila kritickou chybu. Ve verzi Baltie 4 C# lze prý psát i textové příkazy v jazyce C#. Z obrázku na wikipedii mi přijde program velmi špatně čitelný, ale možná je to jen nezvyk vidět pouze ikony.

jazyk C# čeština nutnost instalace (subjektivní) nepřehlednost programu

Podělte se

Znáte další jazyky pro výuku programování pro děti? Jsou tu některé informace zastaralé nebo chybné? Podělte se v komentářích.

Líbil se vám tento článek? Podělte se:
Facebooktwitterredditlinkedinmail