Scratch je programovací jazyk určený k výuce programátorského myšlení dětí oficiálně od 8 let. Výuka je základním důvodem existence Scratche a vše je tomu přizpůsobeno.
Scratch je vizuální jazyk. Tedy nepíše se program v podobě textu, ale spojují se bloky. To malým programátorům umožňuje soustředit se na strukturu programu a důležité koncepty a nezahlcovat svou mentální kapacitu překlepy a jinými nepodstatnými chybami v syntaxi. Snadno přístupná nabídka příkazů také umožňuje snadné experimentování. Když dítě nějaký příkaz zaujme, prostě ho vloží do programu a vyzkouší co dělá. Pro snazší orientaci mají bloky různé barvy a tvary, které naznačují jejich funkci respektive způsob použití. To zase umožňuje se plně soustředit na samotný program.
Zároveň je Scratch plnohodnotný programovací jazyk (pro informatiky je turingovsky úplný). Má bloky pro cykly (opakování), podmínky, jednoduché proměnné a seznamy. Také je možné vytvářet vlastní bloky s parametry a implementovat rekurzi.
Silnou stránkou Scratche je velmi snadný vstup a vytvoření prvního programu. Děti si zažijí úspěch, který je motivuje k další práci. Během první hodiny mají například postavy, které se hýbou po obrazovce a mluví. Zároveň je neomezuje a umožňuje rozšiřovat program do animovaného filmu. Vytvářet oblíbené hry, kvízy, kreslit a podobně. Pestrostí postav a širokými možnostmi zároveň umožňuje každému zvolit si jeho vlastní téma a propojit program se svým životem.
Nicméně není to úplně univerzální programovací jazyk. Chybí práce s internetem, zajímavější vstupy a výstupy a hlavně starším dětem může připadat příliš „dětský“. Nicméně i dospělému člověku, který se chce naučit programovat, bych klidně doporučil, ať si chvíli vyzkouší Scratch a pak se teprve vrhne na jiný programovací jazyk.
Poslední silnou stránkou, kterou bych rád zmínil, je komunita tvůrců. Na Scratchi existují desítky milionů projektů, kterými se dá inspirovat. Pokud je projekt nasdílen, umožňuje nahlédnout do kódu, vytvořit si kopii a pokračovat na něm svým způsobem. Také je možné projekty sdílet mezi studenty, likovat a komentovat.
Mitch Resnick, vedoucí skupiny, která Scratch vytvořila (Lifelong Kindergarten group na MIT), propaguje vzdělávací framework 4P, kterého je Scratch ztělesněním.
- Projects – děti pracují na smysluplných projektech
- Passion – umožňuje projekty propojit s vášní a zájmy dětí
- Play – učí se formou hry, tzv. hard fun
- Peers – propojení s ostatními tvůrci a vzájemná inspirace
Celkově do začátku programování Scratch velmi doporučuji.