Avrei voluto postare un titolo del tipo “La scuola è una cosa seria“.
Ma, in realtà, questo avrebbe fatto pensare a uno di quelle prosopopee cui (troppo) spesso ci si imbatte navigando nel web se si cercano articoli sulla scuola. Uno di quelli infarciti di “basta tagli“, “non abbiamo più neanche la carta igienica“, “a scuola si deve andare per studiare e non per giocare“. Cose così.
Come se ululare alla luna servisse per rendere seria una missione (dell’insegnante) che, invece, <<è per un quarto preparazione e tre quarti teatro>> (Galileo Galilei).
O, peggio, come per ricordare che a scuola si va per <<rompersi le palle>> (cito Luigi Berlinguer, data 22 febbraio 2015…) e non per <<godere>> (sempre L.B., stessa data!).
Ora, senza scomodare nomi più o meno recenti e/o illustri, credo che imparare divertendosi non sia affatto un reato e nemmeno renda meno efficace l’apprendimento. Del resto, basta guardare i bambini giocare: l’impegno, l’energia, la creatività che esprimono attraverso il gioco sembrano derivare da una fonte inesauribile che li porta a costruire sogni che solo loro intravedono. Giocando concretizzano il mito platonico, ripreso dalla poetica del Pascoli del “fanciullino”, che <<Non solo ha brividi […] ma lagrime ancora e tripudi suoi>>.
Per questo, da un po’ di tempo a questa parte, sperimento ed introduco metodologie nuove e strumenti innovativi nella didattica.
Uno di questi è Scratch.
Ho notato che gli alunni del secondo anno del Liceo Scientifico, dovendo iniziare a studiare la programmazione (tipi di dato, tecniche algoritmiche elementari, pseudocodifica) spesso si perdono tra una iterazione e una selezione.
Perché? Perché l’astrazione presuppone una padronanza della struttura cognitiva che non è scontata a 15 anni.
Ed allora mi son detto: e se provassi ad introdurre Scratch? Vediamo che succede.
E’ successo che alcuni di loro lo hanno usato ed hanno creato quanto segue.
Scratch è un linguaggio di programmazione didattico, progettato per l’insegnamento della programmazione per studenti, insegnanti e genitori, ed utilizzabile per progetti pedagogici.
Utilizzandolo in classe, noi alunni abbiamo potuto sviluppare semplici simulazioni utilizzando algoritmi propri del linguaggio, detti script.
Tra i progetti realizzati, emergono due lavori in particolare: “Dragon Ball Budokai Tentachi 3”, realizzato dall’alunno Conte Samuele, e “Flappy Bird” dagli alunni Carone Simone e Carone Christian.
- Dragon Ball Budokai Tentachi 3
Per la realizzazione di questo progetto, abbiamo costruito due sprite principali cui con degli opportuni script abbiamo fatto eseguire alcune azioni.

Per la creazione di ciascuno sprite ci siamo avvalsi di più costumi, ma nello specifico, per determinarne i movimenti, ci siamo serviti di particolari script. Ad esempio, per fare in modo che la vita di ciascun personaggio possa diminuire ad ogni colpo andato a segno, abbiamo costruito un codice che copre non solo i due personaggi, ma anche altri elementi del gioco, come lo sprite “barra” della vita del cat.

Il frammento di codice riportato a sinistra, riferito alla vita dello sprite cat consente di inviare un messaggio in modo che possa portare alla morte il gatto. Esso è composto da 2 blocchi situazioni (arancione scuro), 1 controllo (giallo), 1 operatore (verde) ed 1 variabile (arancione chiaro) utilizzata per indicare la vita dello sprite. In sintesi, quando viene premuto il tasto spazio della tastiera, questo blocco fa in modo che se la vita del gatto è pari a 0, il gioco invii un messaggio che viene poi utilizzato per eseguire altre funzioni.

L’immagine qui a destra, invece, è riferita allo sprite di Goku e consente di inviare un messaggio utilizzato per passare allo sfondo successivo che rappresenta la vittoria del primo sprite. Esso è composto da 2 blocco situazioni, 2 controllo, 1 sensore (celeste) e 2 blocchi aspetto (viola). Quest’ ultimi sono utilizzati per rendere più dinamica l’azione del gioco composto: anche qui, se si preme il tasto spazio, il gioco compie due azioni, la prima riguardante il cambio di costume con la funzione precedentemente illustrata; la seconda è di inviare un messaggio (utilizzato successivamente per ridurre la vita del gatto) solo se avviene un contatto tra i due sprite.
Gli altri script utilizzati in questo progetto hanno per di più lo scopo di rendere più animato il tutto con la comparsa di effetti e di nuovi sfondi e sprite.
- Flappy Bird
Questo progetto utilizza 3 sprite principali: sprite bird, sprite tubo verde e sprite start utilizzato per l’ avvio del gioco.

A differenza del progetto precedente, qui ci si è avvalsi di più blocchi comando per rendere al meglio il gioco, ma meno costumi usati principalmente nello sprite tubo verde tra il quale lo sprite bird deve passare.
Gli script usati principalmente in questo gioco sono per di più di movimento e della generazione di tipo random dei tubi.

Con questi due blocchi comando si eseguirà la generazione random descritta in precedenza: i blocchi utilizzati sono di controllo, situazione, aspetto e 2 variabili per indicare quante volte si sia giocato il livello (game) e il punteggio (score).
Quando lo sprite riceve il messaggio start (inviato appena si avvia il gioco) in un circolo continuo (iterazione) si creerà un clone dello stesso sprite che eseguirà delle determinate azioni.
Questo blocco comando si riferisce allo sprite bird comandato dall’utente: tutto ciò per rendere più animato il gioco con un cambio di costume. Anche qui si utilizza l’iterazione “per sempre” con un intervallo pari a 0.1 secondi. Tutto ciò, come è possibile notare, avviene alla sola condizione se la variabile Game sia pari a 1, ovvero ogni volta che il gioco sarà riavviato.

Gli altri algoritmi utilizzati per questo progetto hanno lo scopo di rendere il movimento tipico di questo gioco copiato da un app molto famosa nei giovani.
Scratch è proprio questo, un programma che noi tutti possiamo utilizzare per puro divertimento o per curiosità o per conoscere ed imparare a programmare.
Divertendoci anche!
I link delle due simulazioni sono:
http://scratch.mit.edu/projects/44972440/#editor
http://scratch.mit.edu/projects/44833414/#editor
Carone Cristian
Carone Simone
Conte Samuele
II C – Liceo Scientifico “V. Lilla” di Oria (BR)