Scratch kniha

Сайт: Virtuálna Univerzita Mateja Bela
Курс: Zábavné programovanie
Книга: Scratch kniha
Напечатано:: Hosťovský používateľ
Дата: пятница, 5 июня 2026, 15:26

1. Scratch

Scratch Team - YouTube

Scratch je bezplatné prostredie, ktoré sa používa na výučbu programovania, niekedy sa označuje aj ako programovací jazyk. Používa sa najmä v školách, pre deti vo veku 8 až 16 rokov, ale môžu ho používať aj ľudia všetkých vekových kategórií.  Toto prostredie umožňuje žiakom získavať základné zručnosti, nevyhnutné pre život v 21. storočí (kreativita, systematické uvažovanie, spolupráca). Vytváranie počítačových programov je tiež dôležitou súčasťou počítačovej gramotnosti v dnešnej spoločnosti. Keď sa deti učia programovať v nástroji Scratch, naučia sa dôležité stratégie pre riešenie problémov, navrhovanie projektov a vyjadrovanie myšlienok. 

V prostredie Scratch umožňuje vytvárať:

  • interaktívne príbehy, 
  • 2D hry, 
  • animácie prostredníctvom vlastných postáv,
  • simulácie kreslenia geometrických útvarov.
Vytvorené projekty je možné zdieľať so spolužiakmi, prípadne učiteľom. Používať môžeme desktopovú verziu prostredia Scratch, alebo verziu dostupnú na internete. Výhodou použitia jazyka Scratch je jeho lokalizácia do slovenčiny a množstvo materiálu, ktorý je možné použiť na výučbu.  Medzi schválené materiály, ktoré je možné používať na českých a slovenských školách, zaraďujeme:

V prostredí Scratch je možné použiť viacero farebne odlíšených príkazov,  ktoré umožňujú vytvoriť pohyb postavy, nastavenie podmienok, cyklov, vytvorenie funkcií, premenných, atď.

Scratch je projektom Lifelong Kindergarten Group na MIT Media Lab. Je poskytovaný bezplatne.


1.1. Ako začať ?

Začať so Scratchom je jednoduché. Na úvod odporúčame pozrieť si stránku Začíname so Scratchom, kde sú prehľadne usporiadané informácie ako najľahšie postupovať. Môžete taktiež využit praktické Scratch karty alebo si pozrieť video vzdelávacie lekcie programovania v nástroji Scratch. Do pozornosti dávame taktiež kompletnú slovenskú výukovú príručku Scratch vo formáte pdf na stiahnutie, používanie a širenie zdarma.

2. Prostredie a jeho možnosti

Horná lišta prostredia je to, s čím sa treba zoznámiť úplne na začiatku. Obsahuje totiž niekoľko dôležitých funkcií ako sú: nastavenie jazyka, práca so súborom (vytvorenie, uloženie, načítanie), netreba zabudnúť na možnosť prihlásenia sa.



V pravej časti prostredia, sa nachádza obrazové pole (scéna). Toto pole zobrazuje výsledok nášho programovania (program, hru, animáciu...). Prednastavným obrazovým poľom je biele pozadie, na ktorom sa nachádza kocúr Scratch (najznámejšia postava tohto editora). Rozmery tohto poľa sú v rozmedzí X: -240 až 240 Y: -180 až 180, pričom bod [0;0] sa nachádza presne v strede poľa. Dôležité sú tiež emotikony Vlajka a Stopka, ktorímy sa program môže spustiť alebo zastaviť.


Pri výbere postavy alebo scény, môžeme postupovať dvoma spôsobmi. Prvý spôsob je výber postavy či scény, s prednastavených možností, ktoré nám prostredie Scratch ponúka. Druhou možnosťou je vytvorenie vlastnej postavy alebo scény, či už pomocou stiahnutých obrázkov alebo vlastnou tvorbou (nakreslenie). V oboch prípadoch nájdeme dané možnosti v pravej dolnej časti prostredia.


V prostredí Scratch, sa programy tvoria pomocou blokov (blokové programovanie). V ľavej časti pracovného prostredia sa nachádza lišta, s ponukou resp. výberom blokov (scenáre). Konkrétne nám prostredie ponúka 9 rôznych skupín blokov. Každá skupina obsahuje vlastné bloky, ktoré majú špecifickú úlohu v programe. Tieto bloky následne spájame v strednej časti prostredia. 

Predstavíme si jednotlivé skupiny blokov:

POHYB

V ponuke blokov, označených modrou farbou, nájdeme všetko čo sa týka pohybu našej postavy resp. objektu. Pohyb v smere nahor, nadol, vpred a vzad. Všetky tieto pohyby sa určujú pomocou súradníc X,Y. Súradnice sa menia v závislosti od polohy postavy resp. objektu na scéne (kladné a záporné). Tiež môžeme objektom otáčať, či už pomocou stupňov (klasicky v kruhu), alebo zrkadliť jeho zobrazenie. Zmeny smeru objektu, rovnako aj jeho veľkosť, vieme meniť priamo pod scénou pomocou zmeny údajov.



VZHĽAD

V záložke vzhľad, nájdeme všetko, čo sa týka vizuálnej stránky našej postavy či objektu. Napríklad už spomínanú zmenu veľkosti, ale aj myšlienky a bubliny, ktoré sa zobrazia na scéne vedľa danej postavy. Tiež tu máme bloky na zmenu kostímu postavy alebo zmenu vzhľadu scény. V neposlednom rade tiež posun medzi vrstvami alebo dokonca samozné skrytie či zobrazenie objektov.



ZVUK

V záložke zvuk, nájdeme samozrejme bloky na spúštanie či zastavenie zvukových efektov. Samotné zvuky, nám podobne ako pri postave či scéne, ponúka prostredie. Opäť máme však možnosť si vytvoriť svoju vlastnú zvukovú stopu (nahratie zvuku).



UDALOSTI

V skupine blokov udalosti, sa nachádzajú bloky, pomocou ktorých vieme odštartovať samozrejme nejakú udalosť. Udalosťou v tomto prípade môže byť začiatok vykonania časti kódu programu. Základným spúšťačom udalostí je samozrejme zelená vlajka nad scénou programu, no udalosť sa môže odštartovať aj stlačením klávesi (či už konkrétnej alebo ľubovolnej), dokonca pri zistení hlasitosti zvuku. Dôležitou časťou tejto skupiny blokov sú správy. Správy vieme odosielať a prijímať (napríklad medzi postavami) a sú tiež spúštačom udalostí. 



RIADENIE

V tejto skupine sa nachádzajú bloky ako cyklus či podmienka. Cykly sa využívajú na opakovanie príkazov (je to prehladnejšie a jednoduchšie ako písať rad rovnakých príkazov po sebe). Podmienky sa využívajú na splnenie určitej požiadavky. Prostredie nám ponúka jednoduché podmienky ale aj zložitejšie podmienky. Do tejto skupiny blokov tiež patrí tzv. klonovanie, to sa využíva na vytvorenie klonov postavy alebo objektov na scéne.



ZISŤOVANIE

táto skupina blokov nadväzuje najmä na predchádzajúcu (podmienky). Väčšinou v podmienke zisťujeme, či nastal alebo nenastal nejaký jav. Napríklad či sa objekt dotkol nejakej farby, alebo či bolo stlačené konktrétne tlačidlo. Tiež sa tu nachádza možnosť inerakcie, v podobe položenia otázky používateľovi, pričom sa zaznamená jeho písaná odpoveď, s ktorou neskôr vieme pracovať. Rovnako sa tu nachádza počítadlo dní či dokonca časovač.



OPERÁCIE

Nájdeme tu niekoľko blokov, ktoré sa týkajú nie len matematických (+,-,*,/) ale aj logických operácií (a, alebo). Pomocou týchto oerácií vieme vytvárať napríklad matematické príklady. Bloky však vieme využiť napríklad aj na vytvorenie zložitejšej podmienky. Jedným s najčastejšie využívaných blokov v tejto skupine je aj vytvorenie náhodného čísla (v rozmedzí určenom používateľom).



PREMENNÉ

Táto skupina blokov je pre pokročilejších "programátorov". Po zvládnutí všetkých predošlích skupín blokov, vieme vytvoriť aj zložitejšie programy, v ktorých použijeme premenné. Skupina neobsahuje veľa blokov. Nájdeme tu bloky ako: ukázanie a skrytie premennej, či nastavenie na konkrétnu hodnotu alebo jej zmenenie o konkrétnu hodnotu. Môžeme si však vytvoriť ľubovolné množstvo vlastných premenných, ktoré si pomenujeme podľa potreby. 

Napríklad si vieme vytvoriť premennú na počítanie skóre, v prípade že by sme si chceli naprogramovať jednoduchú hru.



NOVÉ BLOKY

V poslednej skupine nájdeme možnosť vytvorenia vlastných blokov. V tomto prípade nám prostredie neponúka žiadne prednastavené bloky. Jedinou možnosťou je vytvorenie bloku podľa potreby používateľa. Pri vytváraní nového bloku, máme na výber z 3 možností. Po pomenovaní nášho bloku, si vyberieme akú hodnotu bude blok zastupovať. Blok môže mať hodnoty: vstup (zadanie čísla alebo textu), pridať vstup (logický vstup ako v podmienke), alebo nápis (text).



3. Výskumy

Nasleduje niekoľko zaujímavých zahraničných výskumov, ktoré sa týkajú programovacieho prostredia Scratch. Každý výskum obsahuje aj link, ktorý vás presunie na zdrojovú stránku výskumu. V niektorých prípadoch je potrebná registrácia, resp. prihlásenie sa na webovú doménu pre získanie prístupu k samotnej publikácii.

3.1. Learning Basic Programming Concepts By Creating Games With Scratch Programming Environment

Experiment sa uskutočnil so skupinou 69 stredoškolských študentov prírodovedného zamerania. Táto skupina študentov bola ľubovoľne vybraná a rozdelená do troch podskupín. S prvou podskupinou sme experimentovali s našou pedagogickou metódou založenou na tvorbe jednoduchých hier v prostredí Scratch. S ostatnými podskupinami sme použili konvenčnú metódu založenú na programovacom jazyku Pascal. Na začiatku a na konci experimentovania boli rozdelené dva prieskumy s cieľom identifikovať úroveň programovania študentov, ich herné návyky, ich motiváciu a záujem o programovanie v budúcnosti. Analýza prieskumov ukazuje, že používanie prostredia na učenie sa programovania, ako je Scratch, vysoko motivuje študentov a umožňuje im pokračovať v štúdiu programovania. V skutočnosti, keď sa študenti pýtali na ich túžbu pokračovať v štúdiu programovania, 65 % študentov, ktorí majú skúsenosti s prostredím Scratch, zvažuje pokračovanie v štúdiu programovania.

Link: odkaz na zdroj tu

3.2. ScratchMaths: vzdelávací obsah a princípy tvorby

Cieľom projektu ScratchMaths je skúmať poznávací proces 9 až 11 ročných žiakov pri učení sa programovania a súvislosť medzi rozvojom ich programovacích zručností a matematického myslenia. V našom príspevku charakterizujeme jednotlivé etapy iteratívneho vývoja a kvalitatívneho výskumu, ktorými projekt prechádza od svojho začiatku v septembri 2014. Ťažisko príspevku tvorí prezentácia pedagogického rámca 5E, ktorý sme v projekte vytvorili a aplikovali, ďalej štruktúra vzdelávacieho obsahu a učebných materiálov projektu, a tiež diskusia o niekoľkých základných princípoch tvorby obsahu pre programovanie, ktoré sme v projekte identifikovali.

Link: odkaz na zdroj tu

3.3. From surveys to collaborative art: enabling children to program with online data

Možnosť ukladať údaje a pristupovať k nim online umožňuje širokú škálu kreatívnych možností, počnúc prieskumami až po spoločné umenie, od globálnych zoznamov najlepších skóre pre hry až po chatovacie miestnosti v reálnom čase. Zatiaľ čo nástroje pre koncových používateľov v týchto kategóriách sú čoraz dostupnejšie pre deti, stále chýba možnosť pre deti programovať a vytvárať takéto systémy. Príčiny tohto nedostatku príležitostí zahŕňajú okrem iného vysoké bariéry vstupu kvôli zložitým technológiám klient-server, ako aj ťažko pochopiteľné témy, ako je riadenie prístupu atď. Tento dokument predstavuje dátové štruktúry cloudu-- Funkcia v online vizuálnom jazyku Scratch 2.0, ktorá umožňuje deťom programovo ukladať a získavať údaje online. Zatiaľ čo štandardné dátové štruktúry sú uložené v pamäti, pre cloudové varianty sú všetky operácie (a dáta) na dátovej štruktúre dodatočne odosielané na vzdialené servery cez internet. To má dva dôsledky pre daný projekt Scratch 2.0: (1) dátové štruktúry cloudu sú trvalé vo viacerých inštanciách vykonávania a (2) sú zdieľané medzi simultánnymi inštanciami. Tento dokument popisuje motiváciu a návrh cloudových dátových štruktúr spolu s prípadovými štúdiami popisujúcimi projekty vytvorené deťmi s týmto systémom so zameraním na výsledky vzdelávania.

Link: odkaz na zdroj tu

3.4. A Learner Model Integrating Cognitive and Metacognitive And Its Application on Scratch Programming Projects

Kognitívne a metakognitívne vlastnosti žiaka sú kľúčovým osobným profilom pre individualizované vyučovanie. Na vyhodnotenie komplexných charakteristík žiaka sa preskúmal existujúci model žiaka. Boli zhrnuté dve výzvy na vytvorenie presného a komplexného modelu učiaceho sa integrujúceho kognitívne a metakognitívne. Plán konštrukcie komplexného modelu študenta bol vytvorený na základe analýzy existujúceho rozsiahleho online vzdelávacieho prostredia, senzorových informačných technológií a dolovania vzdelávacích dát. Ako prípadová štúdia bola na základe analýzy množstva projektov žiakov Scratch navrhnutá metóda mapovania učebných údajov na kognitívnu a metakognitívu žiakov. Boli vytvorené tri mapovacie tabuľky. Kognitívne schopnosti žiaka bolo možné vyhodnotiť pomocou technológie uvedenej v projekte Scratch, konkrétne dátovej štruktúry, algoritmu, výpočtové postupy a celkové hodnotenie. Obsah zobrazený v projekte Scratch bol použitý na odvodenie kognitívneho štýlu žiaka. Metakognitívne schopnosti možno merať z výpočtových praktík a správania v procese programovania.

Link: odkaz na zdroj tu

4. Hello World úlohy

Nasleduje niekoľko elementárnych úloh v prostredí editoru Scratch. Úlohy  obsahujú zadanie na vytvorenie krátkeho programu. Po kliknutí na tlačidlo "Riešenie" sa zobrazí správne riešenie úlohy. 


4.1. Úloha 1

Pomocou blokov pohybu (modré), prikáž kocúrovi, aby prešiel (viditeľne) po obvode celej scény. Začne v bode X: -185 Y:-125


   


4.2. Úloha 2

Pomocou cyklu (nekonečného) a blokov pohybu, prinúť kocúra aby nervózne pobehoval medzi ľavým a pravým okrajom scény. Nedabudni mu tiež nastaviť zrkadlové otáčanie, aby nebehal dolu hlavou :)


4.3. Úloha 3

Donúť kocúra, aby pri stlačení medzerníka, povedal slovo "Ahoj!" a vydal zvuk, ktorý mačka bežne vie vydať.


4.4. Úloha 4

Väčšina postáv nemá len jednu podobu. Majú často viac ako len jeden kostým. Využi teraz druhý kostým kocúra tak, aby sa prechádzal na mieste kde stojí. Použi pri tom cyklus a nezabudni na nejaké malé čakanie, aby bola animácia pekne viedieť.


4.5. Úloha 5

Naprogramuj kocúra tak, aby po kliknutí na zelenú vlajku položil otázku "Ako sa voláš?". Po zadaní odpovede kocúr počká 1s a potom ťa pozdraví menom, ktoré si mu napísal napr. "Ahoj Adam!"



5. Scratch Cup úlohy (výber)

Nasleduje spracovanie niekoľkých úloh zo zbierky Scratch Cup (súťaž v blokovom programovaní). Úlohy obsahujú zadanie pre riešiteľa a aj postup riešenia každej úlohy v editore Scratch, pomocou komentárov a obrázkov.  

5.1. p01_domy

V tomto projekte je zahrnuté rozšírenie s názvom "pero". Tiež sa tu musia nachádzať vlastné bloky: štvorec a trojuholník s ich parametrami.

Úlohou je preskúmať tieto vlastné bloky a pochopiť ich funkčnosť.

Potom treba dokončiť blok "dom" tak, aby pomocou predošlích vlastných blokov (štvorec a trojuholník) dokázal nakrresliť dom, s určenou veľkosťou strany.

Nakoniec navrhnutie vlastného bloku "domy9", ktorý v jednom rade dokáže nakresliť 9 rovnakých domov, s veľkosťou strany 30 (využiťie bloku "dom").

RIEŠENIE ÚLOHY

Blok štvorec funguje jednoducho. Jeho jedinou premennou je v tomto prípade dĺžka strany štvorca, ktorá sa zadáva pri volaní bloku. Základom je cyklus, ktorý opakuje 4 krát pohyb dopredu o danú dĺžku a následné otočenie pera o 90 stupňov. 


Blok trojuholník je v podstate v princípe rovnaký ako blok štvorec. Tiež má jednu premennú, ktorou je dĺžka strany a zadáva sa pri volaní bloku. Teraz však cyklus prebehne iba 3 krát (lebo trojuholník má 3 strany), pričom sa opakuje pohyb vpred o danú dĺžku a otočenie o 120 stupňov.


Blok dom, neobsahuje žiadnu premennú. Funguje však ako spojenie predošlých blokov štvorec a trojuholník, ktoré spolu vytvoria dom. Dôležitou súčasťou pred volaním spomínaných blokov, je zapnutie pera, aby nám kreslilo.


Blok domy9, je akýmsi spojením všetkého, čo sme použili. Nachádza sa v ňom cyklus (pretože potrebujeme 9 domov), ďalej volanie bloku dom, tiež zapnutie a vypnutie pera (vypnutie pri posune vpred), nakoniec posun vpred aby vznikla medzera mezdi domčekmi.


VÝSLEDOK



5.2. p04_knihy_na_polici

V projekte je pero, hlavička nového bloku kniha s dvoma vstupmi (šírka a výška knihy), ďalej volanie bloku kniha po stlačení zelenej vlajky (s náhodnými hodnotami pre šírku a výšku).

Úlohou je dokončiť blok kniha tak, aby nakreslil jednu knihu s danou výškou a šírkou. Pri spustení programu sa má vykresliť polica s 10 knihami (polica musí mať pred aj za knihami presah).

RIEŠENIE ÚLOHY

Blok kniha obsahuje hodnoty výška a šírka. Princípom vykreslenia knihy je cyklus (s opakovaním 2), ktorého úlohou je vykreslenie obdĺžnika, s danými rozmermi.


Polička sa vykresluje pomocou vlastného bloku, ktorého obsahom je len posun pera vpred a jeho následné vrátenie o necelú hodnotu tohto posunu.


Spustenie programu cez zelenú vlajku, obsahuje niekoľko základných operácií (blokov), ktoré nastavia hodnoty pera a jeho pozíciu (pozícia, zapnutie, zmazanie, hrúbka). Nasleduje volanie bloku polička, ktorý najskor vykreslí poličku. Za týmto volaním nasleduje cyklus (s opakovaním 10), ktorý vykresluje knihy na poličku. Obsahom cyklu je zmena farby pera a volanie bloku kniha, v ktorom obe žiadané hodnoty budú generované náhodne.


VÝSLEDOK


5.3. p05_zázračnný_mešec

V projekte sú pripravené postavy (objekty) ako: mačka, zázračný mešec a minca. 

Úlohou je naprogramovať (po kliknutí na zelenú vlajku), aby sa mačka opýtala používateľa koľko mincí by od nej potreboval. Po zadaní tejto odpovede, mačka mešcu prikáže aby vyčaroval potrebný počet mincí. Nad mešcom sa musí tento počet mincí zobraziť (v hornej časti scény, aby neprekrývali mešec).

RIEŠENIE ÚLOHY

 V tejto úlohe treba naprogramovať všetky 3 postavy (objekty) tak, aby spolupracovali. Postava mešec a minca, sú na začiatku programu skryté.

Najskor zažneme mačkou. Po kliknutí na zelenú vlajku sa spustí program, ktorý začne otázkou "Koľko micí potrebuješ?". Po zadaní odpovede, mačka poprosí mešec o daný počet mincí. Následne vyšle správu "zaklínadlo".


Zázračný mešec, v našom kóde nemá žiadnu úlohu okrem toho aby sa ukázal na scéne po prijatí správy "zaklínadlo".


Nasleduje programovanie mince. Rovnako ako mešec, je na začiatku programu skrytá. Úlohou mince, je po prijatí správy "zaklínadlo" chvíľu počkať, potom sa objaviť približne niekde pri otvore mešca. Na tejto pozícii sa minca nakolonuje (sama seba) toľko krát, koľko mincí používateľ potreboval a napísal do odpovede.


Úlohou každého klonu mince, je umiestnenie sa v náhodnej pozícii v hornej časi scény. Každý klon sa musí samozrejme ukázať.

 

VÝSLEDOK




5.4. p07_chcem_hodiť

V projekte je mačka a hracia kocka. 

Úlohou je naprogramovať (po stlačení zelenej vlajky) mačku tak, aby si zvolila náhodné číslo ( v rozsahu 1-6) a zobrazila ho ako svoju myšlienku. Následne kocka zmení svoj kostým (kľudne pomocou efektu), na číslo ktoré si mačka myslela.

RIEŠENIE ÚLOHY

Pri programovaní mačky, je vhodné vytvoriť si vlastnú premennú "číslo". Po kliknutí na zelenú vlajku, si mačka rozmyslí číslo, ktoré sa pomocou premennej následne vygeneruje (rozsah 1-6) a mačka ukáže aké číslo chce. Nakoniec mačka vyšle správu kocke s daným číslom.


Programovanie kocky je obsahovo plnšie, nie však náročné. Kocka po prijatí správy s číslom 1-6, v každom prípade opakuje rovnaký cyklus, kotrého výsledkom je animácia. V cykle sa 8 krát menia kostými kocky + čakanie krátku dobu. Na konci každého cyklu každej správy, sa na kocke nastaví rovnaký kostým, ako je hodnota čísla ktoré si mačka myslela. Súčasťou animácie kocky, je jej rotácia, ktorá sa vykoná 4s po štarte programu (v cykle 70), tiež sa na začiatku nastaví na spravnu polohu súradníc.




VÝSLEDOK




5.5. p08_navštevuj

V tomto projekte sa nachádzajú dve (skryté) postavy: Ben a chrobák, pričom časť programu je už vytvorená. (po štarte programu sa Ben umiestni na náhodné miesto v sieti).

Úlohou je naprogramovať chrobáka, ktorý po štarte programu skočí do ľavého dolného okraja scény. Chrobák sa musí vedieť pohybovať po sieti vo všetkých smeroch (šípkami). Ak navštívi Bena, prefarbí jeho kostým. 

RIEŠENIE ÚLOHY

Dokončenie Benovho programu ktorý je prednastavený takto:


Do Benovho programu treba pridať nastavenie hlavného kostímu, ďalej cyklus, ktorý bude kontrolovať dotyk  Bena a chrobáka. V prípade že sa dotknú obe postavy, Ben zmení svoj kostým. (Benovi treba vytvoriť nový kostým, skopírovaním starého a jednoduchou zmenou farby)


Chrobák, má pednastavené bloky :


Najjednoduchšie je pokračovať v začatej práci. Najskôr dokončíme kód pohybu po sieti, podobným spôsobom ako je v predpripravenom kóde.


V hlavnej časti kódu chrobáka, doplníme bloky na umiestnenie chrobáka, podľa zadania úlohy do ľavého dolného rohu scény.


VÝSLEDOK



Po úspešnom zvládnutí všetkých krokov, môžeme vylepšiť tento program pridaním ďalších postáv, ktoré môže chrobák navštíviť rovnako ako Bena (aj s prefarbením kostýmu).