Scratch je vizulani programski jezik nastao kao projekt unutar medijskog laboratorija na MIT-u. Cilj je bio unaprijediti tehnološku pismenost na način da se programiranje približi svima pa i onim najmlađima. Besplatan je i dostupan svima, a jednostavnim se pregledom galerije radova primjećuje kako je iznimno dobro prihvaćen. Svi uzrasti imaju mogućnost koristiti ovaj alat kako bi izradili multimedijske sadržaje, igre ili programe. Mnogobrojne obrazovne ustanove alat koriste kao uvod u svijet programiranja kako bi polaznici jednostavno shvatili logiku programiranja bez korištenja jezika koji se teško razumiju.
Scratch se koristi i za druge obrazovne i interaktivne svrhe: izrada projekata iz matematike i fizike, interaktivna umjetnost, animirane prezentacije itd. Pored samog alata postoji zajednica koja korisnicima alata omogućava dijeljenje radova koje kasnije drugi korisnici mogu preuzeti i preurediti ili vidjeti kako je izgledala izrada rada. Alat je dostupan za korištenje unutar mrežnih preglednika ili se za offline korištenje može instalirati na računalo. Naziv dolazi od pojma „Scratching“ u informatici što predstavlja ponovno korištenje programskog koda koji može biti koristan i učinkovit za neku drugu svrhu. Jednostavno se može kombinirati, dijeliti i prilagoditi za neki drugi scenarij, a to je ujedno i jedan od ključnih elemenata alata, korištenje i prilagođavanje ili unaprjeđivanje već postojećih radova.
Korisničko je sučelje jednostavno i intuitivno. Prilikom pokretanja prikazat će se kratak priručnik koji će objasniti kako alat funkcionira i njegove elemente. Vizualno je podijeljen na tri dijela: scena i dodatni vizualni objekti, paleta s instrukcijama i prostor gdje se instrukcije logički povezuju (ovdje se zapravo održava čitavo programiranje). Iz palete s instrukcijama svaka se pojedina instrukcija jednostavnim „drag and drop“ principom privuče do prostora gdje se one logički povezuju. Instrukcije su podijeljene u nekoliko kategorija prema njihovim ulogama: Pokret, Izgled, Zvuk, Olovka, Podaci, Događaji, Kontrola, Senzori, Operatori i dodatni blokovi instrukcija gdje je omogućena izrada vlastitih instrukcija ili proširivanje postojećih.
Scratch u nastavi
Alat je dobar za upoznavanje sa svijetom programiranja bez stresa oko kompliciranih izraza. Sama činjenica da Scratch zajednica ima na tisuće objavljenih projekata svjedoči njegovoj pristupačnosti i jednostavnosti, ali osim uvoda u programiranje ovaj se alat u nastavi može koristiti za izradu različitog interaktivnog sadržaja vezanog za određenu temu. Žele li učenici napraviti igru na temu imunološkog sustava gdje će se bijele krvne stanice boriti protiv bakterija i virusa ili možda multimedijsku prezentaciju na temu određenog književnog djela gdje će lik pisca prepričavati priču ili će likovi iz nekog oživjeti i prikazati priču? Mogućnosti su beskonačne,a projekti mogu biti vrlo jednostavni ili komplicirani, sve ovisi o autoru i njegovoj mašti.