Usare Scratch "Come
insegnare ad un bambino a programmare?", Queste domande, e molte altre, hanno un'unica risposta: Scratch! Nella mia trentennale carriera di informatico ho imparato ad usare una quantità di linguaggi di programmazione diversi, dal BASIC a JAVA, dall'Assembler dei DSP al LISP, compresi quattro o cinque "dialetti" di LOGO diversi tuttavia non mi era mai capitato di incontrare un linguaggio di programmazione così semplice e intuitivo come Scratch. Per quanto possa sembrare incredibile è letteralmente possibile imparare ad usare Scratch guardando una presentazione di cinque minuti, che introduce la filosofia del linguaggio, dopodiché si procede da soli (per tentativi ed errori), giocando con l'interfaccia utente del sistema di sviluppo esattamente come si farebbe con un videogioco di cui non si ha il manuale. Proprio come un videogioco Scratch è progettato per catturare subito l'attenzione dei bambini dopodiché fanno da soli (o quasi) limitandosi a chiedere un "aiutino" di tanto in tanto. Programmare in Scratch, agli inizi, non è molto diverso da giocare con un programma come TUX-Paint. Scratch presenta
un'interfaccia grafica accattivante.
Offre una vasta scelta di sprite e fondali già
confezionati
che si possono posizionare sullo schermo. Quando ci si stufa c'è la
possibilità di entrare in un ambiente di grafica pittorica (a misura
di bambino) e modificare i disegni creandone eventualmente di
nuovi. Io ho sentito parlare per la prima volta di Scratch un mese fa al congresso DIDAMATICA, quando ho assistito alla presentazione della relazione di Barbero e Vaschetto dell'ITIS Vallauri di Fossano. Al termine dell'intervento mi sono avvicinato ai due relatori per chiedere cosa avesse di innovativo il linguaggio che avevano scelto per introdurre l'insegnamento della programmazione nel biennio dell'ITIS rispetto al LOGO o ad altri linguaggi. Mi hanno risposto che non erano stati a fare tanti confronti. Avevano cercato su Internet. Scratch soddisfaceva lo scopo e lo hanno adottato. Incuriosito, quando sono tornato a casa ho scaricato il programma (è un open source), lo installat sul desktop di Windows e poi me ne sono dimenticato fino a quando, l'altro giorno, mio figlio mi ha chiesto cosa fosse. In realtà ci aveva già giocato un poco. L'abbiamo provato insieme realizzando una semplice animazione in cui le sprite con le figure di due ragazze ballavano al suono di un tamburo e poi abbiamo realizzato un acquario. Questi due sperimenti avevano ben poco di programmazione; erano poco più di quello che avremmo potuto fare con un qualsiasi programma di grafica per bambini. Ieri sera ci siamo lanciati, realizzando delle scene ben più complicate, come quella in cui un dinosauro tira un calcio ad un pallone e un secondo personaggio cerca di parare il rigore saltando, invano. Per realizzare questo programmini (che comprende tre processi eseguiti in concorrenza) abbiamo impiegato circa un quarto d'ora. Se avessimo usato un qualsiasi altro linguaggio, compreso il LOGO, avremmo impiegato molto di più. In retrospettiva tutti i nostri esperimenti avrebbero potuto essere realizzati anche in LOGO (ad esempio usando LOGO MicroMondi) ma avremmo impiegato molto più tempo per venire a capo dei vincoli imposti dalla sintassi e probabilmente avremmo rinunciato perché il bambino si sarebbe annoiato di aspettare. Scratch invece oltre ad essere immediato è estremamente interattivo e sopratutto limita al minimo il fastidio dei vincoli sintattici che vengono gestiti dall'interfaccia grafica.Con Scratch è virtualmente impossibile commettere errori di sintassi perché l'interfaccia grafica impedisce che ciò accada, infatti iblocchi che vengono trascinati nel pannello di programmazione (al centro) hanno sempre un senso compiuto e sono sempre sintatticamente corretti. Sollevati dai vincoli imposti dal mezzo espressivo, ovvero dal formalismo del linguaggio di programmazione, ci si può concentrare sugli aspetti prettamente ludici ovvero sul problema che si desidera risolvere ricorrendo alla programmazione. Questa mattina mio figlio si è già "prenotato" per giocare di nuovo con Scratch. Con Scratch, una tematica molto seria come l'insegnamento delle basi della programmazione diventa un gioco da fare insieme. Inutile dire che questo è il modo migliore di imparare. La sintassi dei linguaggi di programmazione potremo sempre introdurla in un secondo tempo.
|
|
|
|
|
|
|
|