Programovací koncepty ve Scratch

Programovací koncepty ve Scratch

Mnoho lidí zná Scratch, dětské programovací prostředí, ve kterém učení obvykle spočívá ve vytváření kreativních projektů podle principu „od jednoduchých po složité“. Zároveň je „klasický přístup“ k učení programování (proměnné → větve → smyčky → funkce → struktury → objekty → …) ve Scratchi obtížný.

Změna pořadí učení pojmů (říkejme jim koncepty) strukturovaného, ​​objektově a událostně orientovaného programování a jejich skrývání za barevné skřítky a interaktivní animace však neznamená, že by se na koncepty nemělo klást důraz. Zvláště pokud cílem není ani tak rozvoj kreativních schopností, jako spíše učení programování. Snažil jsem se tuto myšlenku promítnout do svého samozřejmě.

První, s čím se začínající škrábanec setká, jsou skřítci. Ačkoli ve Scratchi neexistuje žádné objektově orientované programování jako takové, sprajty lze považovat za objekty. V této fázi student vidí, že program může mít mnoho objektů, jejichž chování je řízeno externími skripty. Sprites přijímají příkazy nebo vysílají informace o svém stavu na vyžádání, to znamená, že programování spočívá ve správě objektů.

Druhá věc, která mladého programátora ve Scratchi okamžitě napadne, je koncept multithreadingu. Každý sprite může mít spuštěno několik skriptů současně. Více skřítků může také spouštět své programy současně. Navíc se ukazuje, že je obtížnější organizovat sekvenční provádění.

Programovací koncepty ve Scratch

Programovací koncepty ve Scratch

Již v první lekci se nevyhneme seznámení s cykly. Jinak kočka opravdu neuteče. V této fázi musí být známost ponechána intuitivní a povrchní. Omezujeme to na smyčky „opakovat vždy“ a „opakovat...krát“, které jsou srozumitelnější. Podmíněná smyčka je studována v lekci specificky věnované smyčkám. Tato lekce předpokládá znalost booleovských výrazů a proměnných.

Vzhledem k tomu, že Scratch je prostředí řízené událostmi, je snazší se naučit bloky podmíněných příkazů před proměnnými. Podmínkou mohou být určité události.

Programovací koncepty ve Scratch

Podle mého názoru je tato sekvence lepší, protože pro každou lekci zavádíme minimum pojmů. A ne abstraktní, ale hned vidíme jejich praktické výhody.

Pokud nejprve studujete proměnné, je obtížné prokázat jejich účel a výhody, protože podmíněný operátor, zadávání dat a generování náhodných čísel nebyly dříve studovány.

Ve Scratch, nepočítaje seznamy, se programátor setkává se třemi typy dat: čísly, řetězci a logickými údaji. V tomto případě je typ vázán na hodnotu, nikoli na proměnnou. Není potřeba převádět řetězce na čísla a zpět. Řetězce nejsou v uvozovkách.

Do zaoblených polí lze vložit blok, který vrací booleovskou hodnotu a má charakteristický hranatý tvar. Opak není pravdou: tam, kde se předpokládá booleovský výraz, nelze vložit regulární proměnnou.

Programovací koncepty ve Scratch

Scratch je implementován tak, aby během provádění nedocházelo ke kritickým chybám. Zřejmě proto, když se pokusíte použít řetězec v aritmetické operaci, je nahrazen nulou (viz první snímek obrazovky).

Programátor by měl vědět, že možnosti programovacích jazyků rozšiřují knihovny. Při práci ve Scratchi může student propojovat doplňky, které vedou ke vzniku nových příkazů v prostředí.

Programovací koncepty ve Scratch

Funkce ve Scratchi jsou implementovány v sekci "Další bloky", kde si na jedné straně vytvoříte vlastní blok, který lze vložit do jiných skriptů. Na druhou stranu musíme posbírat funkčnost tohoto bloku, tedy co bude dělat.

Programovací koncepty ve Scratch

Neexistuje žádná návratová hodnota z funkce scratch.

Učení se konceptů programování v prostředí řízeném událostmi tedy zanechává své stopy. V podstatě nejprve studujeme složitější a abstraktnější pojmy a teprve když se ponoříme hlouběji do procesu, přejdeme k prvkům strukturovaného programování. Zda je to plus nebo mínus pro první seznámení, je diskutabilní.

Zdroj: www.habr.com

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster