Gli elementi base: sprite, stage, script
L’elemento base di Scratch è lo sprite, un oggetto grafico come la figurina del gatto che rappresenta l’icona del programma stesso. È possibile utilizzare sprite messi a disposizione da Scratch, oppure disegnarli a piacere attraverso un semplice programma di disegno o, ancora, utilizzare immagini importate da file o scattate con una macchina fotografica digitale o con la webcam. Gli sprite, inoltre, possono essere personalizzati con costumi e suoni diversi. Lo sprite viene collocato all’interno di un’area denominata stage, palcoscenico, dentro la quale può interagire con altri sprite durante l’esecuzione del programma, eseguendo azioni descritte in uno o più script, il vero e proprio codice associato ad ogni sprite e formato da blocchi impilati. In pratica, gli script rappresentano le istruzioni che indicano allo sprite che cosa deve fare: parlare, muoversi, suonare, nascondersi, mostrarsi, eseguire calcoli e tanto altro ancora.
Uno sguardo all’ambiente
Diamo insieme un’occhiata all’ambiente di sviluppo di Scratch 2.0.
Oltre alla barra dei menu in alto, dove si trovano i soliti comandi di apertura e salvataggio dei file, l’ambiente è suddiviso in tre aree. A sinistra troviamo lo stage, che parte di solito quando si fa clic sul pulsante con la bandierina verde, posto sopra lo stage stesso. Al centro troviamo l’elenco dei blocchi per codificare il programma, suddivisi in categorie; sono in pratica i mattoncini che si utilizzano per costruire il programma impilandoli nella sequenza desiderata. Infine a destra c’è l’area per programmare, detta area Script, in cui si trascinano e si impilano con la tecnica del drag and drop i blocchi che servono alla codifica del programma.
Imparare a programmare
I blocchi sono suddivisi in 10 categorie di colore diverso in base all’azione che effettuano. Nelle categorie Movimento, Aspetto, Suono si trovano i blocchi che permettono di applicare allo sprite le animazioni e i suoni desiderati; nella categoria Penna, i blocchi per sviluppare programmi di scrittura e disegno; nelle categorie Controllo, Operatori, Variabili e Liste, i blocchi per codificare le principali strutture algoritmiche (“se... allora...”; “altrimenti”; “ripeti fino a quando”; “ripeti n volte” ecc.) che agiscono sulle variabili. E ancora: i blocchi per la gestione degli eventi che lanciano l’esecuzione degli script stanno nella categoria Situazioni; quelli per testare il verificarsi di certe situazioni nella categoria Sensori e infine quelli nuovi che si possono creare associando loro uno script in modo da gestire i sottoprogrammi nella categoria Altri Blocchi.
Uno script viene mandato in esecuzione in seguito al verificarsi di un determinato evento (per esempio Quando si clicca sulla bandiera verde, Quando si preme un tasto, Quando si riceve un messaggio). Il collegamento tra blocchi può avvenire solo secondo modalità predeterminate: per esempio, sopra un blocco della tipologia Cappello, alla quale appartiene Quando si clicca sulla bandiera verde, non è possibile incastrare nessun altro blocco. In questo modo la scrittura dei programmi risulta semplificata, perché vengono eliminati gli errori di tipo sintattico.
Ulteriori spunti per imparare a programmare in Scratch possono essere trovati leggendo le Scratch cards, oppure consultando la sezione All tips che si trova in alto a destra nell’ambiente di sviluppo di Scratch.
Verso una didattica innovativa
Tutto pronto quindi per programmare? Sembrerebbe di sì. Ma, come spesso capita, “avere una bici” non significa per forza “essere capaci di pedalare”. Occorre a questo punto sforzarsi di trovare esercitazioni che permettano di sfruttare al meglio le potenzialità dello strumento, per raggiungere gli obiettivi desiderati in base al contesto in cui si agisce. Un aiuto ci viene scartabellando il materiale informativo che si trova sul sito di Scratch e scaricando i numerosi progetti condivisi in rete, per cogliere suggerimenti e idee su come affrontare alcuni temi in modo non del tutto canonico. Per esempio, è possibile introdurre il concetto di contatore attraverso la progettazione e realizzazione di un programma per la gestione di un semplice quiz, in cui a inizio elaborazione un contatore viene posto a zero e incrementato di un'unità ad ogni risposta corretta. Oppure insegnare a far sì che lo sprite insegua il cursore del mouse realizzando quindi animazioni che possono essere utilizzate nello sviluppo di un videogioco più complesso. Anche su Youtube si trovano diversi video che possono aiutare non solo a imparare a programmare in Scratch, ma anche a trovare idee nuove da usare in classe.
Da queste idee possono nascerne altre per modulare la didattica coniugando, quando possibile, aspetti ludici al rigore scientifico. Una scommessa non facile ma molto stimolante, che richiede al docente di rimettersi in gioco per appassionare la platea e per non buttare via un’ottima occasione di dimostrare capacità e professionalità.