Per chi desidera imparare a pro­gram­ma­re in modo sem­pli­fi­ca­to, Scratch è la soluzione ideale. Questo tutorial su Scratch vi spiega in che cosa consiste esat­ta­men­te questo progetto e come funziona; è pensato in primo luogo per i giovani che si av­vi­ci­na­no alla pro­gram­ma­zio­ne.

Cosa ca­rat­te­riz­za la pro­gram­ma­zio­ne con Scratch?

La pro­gram­ma­zio­ne con Scratch si basa su un’in­ter­fac­cia grafica che rende superflue sintassi com­pli­ca­te e codifica. L’obiettivo prin­ci­pa­le è aiutare i prin­ci­pian­ti che de­si­de­ra­no imparare a pro­gram­ma­re. Per questo Scratch punta più sull’ope­ra­ti­vi­tà che su un gran numero di fun­zio­na­li­tà. No­no­stan­te queste li­mi­ta­zio­ni, Scratch possiede le prin­ci­pa­li proprietà dei paradigmi di pro­gram­ma­zio­ne, come vi il­lu­stria­mo di seguito. Le ca­rat­te­ri­sti­che di questo lin­guag­gio di pro­gram­ma­zio­ne sono:

  • Visuale: ogni oggetto di Scratch è rap­pre­sen­ta­to da un elemento grafico. I comandi di pro­gram­ma­zio­ne sono rap­pre­sen­ta­ti ad esempio da blocchi, che si possono fa­cil­men­te collegare tra loro con il drag and drop.
  • Orientato agli oggetti: la pro­gram­ma­zio­ne con Scratch non prevede né classi né relazioni di ere­di­ta­rie­tà. Con la sua in­cap­su­la­zio­ne dei dati (accesso con­trol­la­to ai dati tramite in­ter­fac­ce definite) e il suo po­li­mor­fi­smo (gli oggetti possono ri­spon­de­re a ti­piz­za­zio­ni diverse), Scratch presenta tuttavia anche le ca­rat­te­ri­sti­che di un lin­guag­gio di pro­gram­ma­zio­ne orientato agli oggetti.
  • Im­pe­ra­ti­vo: un certo numero di script messi a di­spo­si­zio­ne da Scratch risponde al paradigma im­pe­ra­ti­vo della pro­gram­ma­zio­ne. Le sequenze di istru­zio­ni de­ter­mi­na­no l’ordine in cui le azioni devono essere eseguite.
  • Orientato agli eventi: ogni script uti­liz­za­to in un progetto Scratch si avvia non appena l’evento viene attivato nel suo blocco iniziale. Ri­cor­ren­do a un blocco di tipo “attendi finché”, potete su­bor­di­na­re l’avvio di un progetto al ve­ri­fi­car­si di una de­ter­mi­na­ta con­di­zio­ne o di un evento.
  • Pro­gram­ma­zio­ne di azioni parallele: Scratch gestisce fin dall’inizio script che vengono eseguiti in parallelo. Ciò significa che è possibile pro­gram­ma­re in modo in­di­pen­den­te più parti del programma ed eseguirle con­tem­po­ra­nea­men­te.

Tutorial su Scratch: scoprite la pro­gram­ma­zio­ne con Scratch

Come in tutti i campi, è facendo che si impara! E anche se il progetto di pro­gram­ma­zio­ne Scratch comprende molti meno punti di accesso rispetto ai linguaggi di pro­gram­ma­zio­ne classici, mettete in conto un certo tempo di fa­mi­lia­riz­za­zio­ne per im­pa­dro­nir­vi dell’in­ter­fac­cia di pro­gram­ma­zio­ne. In questo tutorial su Scratch vi spie­ghia­mo tutto ciò che c’è da sapere sulla pro­gram­ma­zio­ne con Scratch.

N.B.

Se il vostro obiettivo è in­tro­dur­re i bambini alla pro­gram­ma­zio­ne con Scratch, è con­si­glia­bi­le fa­mi­lia­riz­za­re prima voi stessi con questa piat­ta­for­ma open source. Quanto meglio com­pren­de­re­te questo lin­guag­gio e la sua in­ter­fac­cia grafica, tanto più sarete in grado di ac­com­pa­gna­re i giovani ap­pren­di­sti nel loro percorso. Per scoprire come i bambini possono imparare a pro­gram­ma­re di­ver­ten­do­si, con­sul­ta­te il nostro articolo sulla pro­gram­ma­zio­ne per bambini.

L’in­ter­fac­cia utente

Non appena avete creato un account e re­gi­stra­to il vostro profilo, vedrete comparire diverse opzioni ac­ces­si­bi­li nella barra dei menu, nella parte alta dello schermo. Se cliccate ad esempio sul profilo (miniatura e nome dell’account), potete gestire il vostro profilo, indicare il vostro luogo di residenza, mo­di­fi­ca­re il vostro indirizzo e-mail e la vostra password e accedere alla pa­no­ra­mi­ca dei progetti attivi (“I miei progetti”). Da questo menu potete anche di­scon­net­ter­vi:

Immagine: Imparare Scratch: menu rapido per profilo, account e progetti
Accanto al pulsante del profilo si trovano altri due pulsanti con cui potete aprire i vostri progetti (icona della cartella) e i messaggi ricevuti (icona della busta).

Dietro i menu seguenti si na­scon­do­no le funzioni seguenti:

  • Crea: la parte centrale di un progetto web su Scratch è la pagina di creazione e modifica, a cui si accede cliccando sulla scheda “Crea”. Con questo editor online potete pro­gram­ma­re tutte le vostre ap­pli­ca­zio­ni Scratch di­ret­ta­men­te nel browser.
  • Esplora: questa funzione consente di accedere ai progetti di altri utenti. Potete non solo scoprire e vi­sua­liz­za­re questi progetti, ma anche con­sul­tar­ne tutta la pro­gram­ma­zio­ne. Uno “studio” raccoglie tutti i progetti dello stesso tipo.
  • Idee: la pagina “Idee” dà accesso a diversi tutorial e guide alle attività che vi saranno molto utili nella rea­liz­za­zio­ne dei vostri progetti, e in par­ti­co­la­re per trovare idee. Su questa pagina trovate anche un link per scaricare l’app Scratch (Windows, macOS, ChromeOS, Android). Questa app permette di svi­lup­pa­re progetti Scratch anche senza una con­nes­sio­ne a Internet.
  • In­for­ma­zio­ni: se cliccate su “In­for­ma­zio­ni”, venite rein­di­riz­za­ti a una pagina con in­for­ma­zio­ni generali sul progetto Scratch. Qui trovate tra l’altro link a in­for­ma­zio­ni destinate a genitori e in­se­gnan­ti, nonché una sezione con le domande frequenti.

L’editor di Scratch

L’ambiente di sviluppo di Scratch ricorda un software per la creazione di siti web, il che è del resto piuttosto com­pa­ti­bi­le con l’approccio a blocchi proposto dagli script. Oltre a questi script, che co­sti­tui­sco­no la maggior parte dei blocchi uti­liz­za­bi­li, potete ag­giun­ge­re ai vostri progetti costumi e suoni. Potete anche ag­giun­ger­li e gestirli a livello di ogni singolo sprite. Se cliccate su “Aggiungi un’esten­sio­ne”, avrete a di­spo­si­zio­ne un maggior numero di script, ad esempio la penna colorata o un codice per il ri­le­va­men­to video o la sintesi vocale.

Consiglio

Scratch mette a vostra di­spo­si­zio­ne un gran numero di costumi, suoni e script che potete inserire di­ret­ta­men­te nei vostri progetti. Potete anche importare le vostre immagini e i vostri suoni, o ad­di­rit­tu­ra re­gi­strar­li se gli elementi di­spo­ni­bi­li non vi bastano. È inoltre possibile creare script per­so­na­liz­za­ti.

I costumi: animare gli sprite e gli oggetti

Qualunque sia il vostro progetto di pro­gram­ma­zio­ne con Scratch, che si tratti di un gioco, di un video, di un’ani­ma­zio­ne qualsiasi o di un piccolo cartone animato, gli sprite e gli altri oggetti sono gli elementi es­sen­zia­li della vostra storia. Sotto la scheda “Costumi” potete scegliere e inserire una serie di grafiche nel vostro progetto. Potete scegliere tra le grafiche di­spo­ni­bi­li, disegnare a mano o importare grafiche che avete salvato in locale. Se il vostro computer è dotato di una vi­deo­ca­me­ra, potete anche scattare una foto.

Immagine: Scratch: menu per la scelta dei costumi
Gli oggetti come gli sprite, raf­fi­gu­ra­ti in ogni sorta di pose, vi per­met­te­ran­no in seguito di creare dei movimenti.

Se avete se­le­zio­na­to dei costumi, potete benissimo mo­di­fi­car­li in un secondo momento. Per farlo, se­le­zio­na­te l’oggetto de­si­de­ra­to nel menu laterale a sinistra (sappiate che potete tra­sci­nar­lo in qualsiasi momento nel cestino con un semplice clic del mouse) e uti­liz­za­te poi gli strumenti dell’editor per cambiare ad esempio il colore, eliminare elementi con la gomma, ag­giun­ge­re del testo o ad­di­rit­tu­ra deformare l’oggetto. È anche possibile con­ver­ti­re la grafica in un formato vet­to­ria­le. Nel campo “Costume” indicate il nome del costume di cui ogni script avrà bisogno in seguito come base di ri­fe­ri­men­to.

Immagine: Scratch: l’editor dei costumi
Nell’esempio del tutorial su Scratch abbiamo mo­di­fi­ca­to l’aspetto dello sprite con un colore di riem­pi­men­to.

In basso a destra sullo schermo si trova il pulsante “Scegli uno sfondo”. Questa opzione consente di definire l’immagine di sfondo per il vostro progetto. Anche qui potete scegliere uno sfondo proposto nella libreria di Scratch o ag­giun­ge­re le vostre immagini. È persino possibile cliccare sul pennello e disegnare il vostro sfondo.

Immagine: Tutorial su Scratch: personaggio con immagine di sfondo
Come per gli oggetti e gli sprite, anche l’immagine di sfondo può essere animata e mo­di­fi­ca­ta per mezzo di script.

La libreria dei suoni: effetti sonori e musica di sot­to­fon­do

Trovare il suono giusto in un progetto è im­por­tan­te quanto avere gli sprite e gli oggetti giusti. Quando pro­gram­ma­te con Scratch, potete gestire suoni e rumori at­tra­ver­so il menu “Suoni”. Come per gli elementi grafici, avete a di­spo­si­zio­ne una grande libreria di suoni di Scratch, ac­ces­si­bi­le con la funzione “Scegli un suono”. È anche possibile importare il vostro file audio o re­gi­strar­vi se disponete di un microfono.

Immagine: Menu per registrare suoni con Scratch
La re­gi­stra­zio­ne di un nuovo suono in Scratch inizia non appena premete il pulsante di re­gi­stra­zio­ne.

I suoni che inserite compaiono nel menu laterale a sinistra e potete se­le­zio­nar­li con un clic del mouse per mo­di­fi­car­li ed ela­bo­rar­li in diversi modi. Potete tra l’altro tagliare sequenze sonore, regolare il volume, ac­ce­le­ra­re o ral­len­ta­re la velocità di ri­pro­du­zio­ne. Poiché è possibile inserire suoni in un progetto Scratch anche tramite script, è im­por­tan­te assegnare il nome corretto a tutti i suoni inseriti nel campo “Suono”.

Immagine: Tutorial su Scratch: finestra di dialogo per modificare un file audio
Se de­si­de­ra­te tagliare alcune sequenze o ritoccare alcune parti del suono, se­le­zio­na­te prima l’in­ter­val­lo. Per farlo, cliccate con il pulsante sinistro del mouse nel punto iniziale e tra­sci­na­te il mouse fino al punto finale tenendo premuto il pulsante.

Gli script: l’essenza della pro­gram­ma­zio­ne con Scratch

Per essere efficaci nella pro­gram­ma­zio­ne con Scratch, è im­por­tan­te eser­ci­tar­si bene nella gestione degli script. Il vero codice che sta dietro questi script viene generato au­to­ma­ti­ca­men­te non appena tra­sci­na­te nel vostro progetto uno dei blocchi di­spo­ni­bi­li, che si tratti di un controllo, di un sensore, di un operatore o di una variabile. Come utenti potete con­cen­trar­vi sull’assegnare valori ai diversi script e at­tri­bui­re loro grafiche ed elementi sonori.

Tutti gli script esistenti sono dotati di de­scri­zio­ni precise che vi per­met­to­no di com­pren­der­ne bene il fun­zio­na­men­to. Per inserire uno script nel vostro progetto basta cliccare sul blocco in questione (il nome dato agli script di Scratch) e tra­sci­nar­lo nella finestra di modifica, al centro dello schermo. I valori o le opzioni da definire sono visibili di­ret­ta­men­te nel blocco. È qui che potete inserirli o se­le­zio­nar­li. Se de­si­de­ra­te collegare di­ret­ta­men­te uno script a uno script già esistente, basta ag­gan­ciar­lo, come si farebbe con il pezzo di un puzzle.

Immagine: Imparare Scratch: inserire gli script e testarli
Nella finestra di anteprima potete vi­sua­liz­za­re in qualsiasi momento la versione attuale del vostro progetto Scratch ed eseguire par­zial­men­te i processi a scopo di test.
Consiglio

Quando si impara la pro­gram­ma­zio­ne con Scratch, la dif­fi­col­tà non sta nel me­mo­riz­za­re regole, sintassi o formati, ma piuttosto nel com­pren­de­re bene il fun­zio­na­men­to dei diversi script per poterli uti­liz­za­re cor­ret­ta­men­te e col­le­gar­li bene tra loro.

Pro­gram­ma­re con Scratch: l’esempio di un progetto sem­pli­cis­si­mo

Ora che nella prima parte del tutorial su Scratch abbiamo pre­sen­ta­to i prin­ci­pa­li elementi della piat­ta­for­ma di pro­gram­ma­zio­ne, vi mostriamo con un esempio concreto che cosa è possibile fare con Scratch.

Co­min­cia­mo trovando un’immagine di sfondo per il nostro progetto. Per farlo clic­chia­mo sull’icona dello sfondo, in basso a destra sullo schermo, e su “Scegli uno sfondo”. Abbiamo scelto di uti­liz­za­re il motivo Blue Sky, che abbiamo adottato così com’è.

Immagine: Immagine di sfondo “Blue Sky”
Per il nostro esempio scegliamo l’immagine di sfondo “Blue Sky”.

Ag­giun­gia­mo poi uno sprite al nostro progetto di esempio. Poiché la scheda “Sfondi” copre la scheda “Costumi”, clic­chia­mo sul pulsante “Scegli uno sprite” (in basso a destra). Nella libreria di Scratch trovate diversi sprite e vari costumi con cui potrete poi simulare dei movimenti. Lo sprite “Cat” è ad esempio di­spo­ni­bi­le nelle varianti “cat-a” e “cat-b” che, eseguite una dopo l’altra, vi daranno l’im­pres­sio­ne che il gatto si muova.

Consiglio

Più varianti di costume avete per uno sprite, più sarà facile pro­gram­ma­re il movimento con Scratch!

Immagine: Tutorial su Scratch: figura “Cat”
È giocando con i costumi e le pose di uno sprite che riu­sci­re­te ad animarlo nella pro­gram­ma­zio­ne con Scratch.

Nell’ultimo passaggio di questo piccolo esempio arriviamo al punto centrale della pro­gram­ma­zio­ne con Scratch: come con­trol­la­re lo sprite? Se de­si­de­ra­te ad esempio che il gatto si sposti da sinistra a destra finché la freccia destra rimane premuta, ag­giun­ge­te il seguente script:

  • Evento: quando si preme il tasto [ ]
  • Controllo: attendi [ ] secondi
  • Aspetto: passa al costume suc­ces­si­vo
  • Movimento: fai [ ] passi

Per lo script evento indicate “il tasto de­si­de­ra­to”. Nel nostro esempio si tratta della “freccia destra”. Con il suc­ces­si­vo script “controllo” potete definire l’in­ter­val­lo tra due cambi di costume. Inserite il valore “0,2”. In questo caso pas­se­ran­no 0,2 secondi prima che lo sprite cambi aspetto, il che renderà il suo spo­sta­men­to ancora più rea­li­sti­co. Lo script “Aspetto” assicura la tran­si­zio­ne tra “cat-a” e “cat-b” finché il tasto freccia resta premuto. Grazie al quarto script “Movimento” potete, oltre al cambio di costume, spostare lo sprite verso destra. Qui abbiamo scelto passi regolari di 10.

Immagine: Programmare con Scratch: esempio di uno script in un progetto
I valori applicati in questo tutorial su Scratch sono forniti a titolo di esempio. Si può optare per cambi di costume più lenti o più rapidi e aumentare o ridurre i passi degli sprite.
Consiglio

Potete vedere il risultato di questo piccolo codice di­ret­ta­men­te sulla pagina del progetto Scratch e provarlo!

Con­di­vi­de­re il proprio progetto Scratch

Se avete aderito alla comunità degli scratcher e creato il vostro account utente, potete pub­bli­ca­re i vostri progetti sul sito di Scratch. Per farlo, cliccate sul pulsante “Condividi” nella barra dei menu, in alto sullo schermo.

Dopo aver cliccato su questo pulsante accedete a una finestra in cui potete mo­di­fi­ca­re il titolo del progetto, ag­giun­ge­re alcune pre­ci­sa­zio­ni, inserire dei commenti o ad­di­rit­tu­ra dei rin­gra­zia­men­ti. Se tra­sci­na­te verso sinistra il cursore “Com­men­ting on”, di­sat­ti­va­te la funzione dei commenti per il vostro progetto.

Immagine: Scratch: pubblicazione di un progetto di esempio
Nel menu del vostro progetto cliccate su “Copia link” per poterlo con­di­vi­de­re con amici e familiari.
Vai al menu prin­ci­pa­le