I bambini imparano a programmare al computer giocando con i trenini
Studi condotti da Monica Bucciarelli, del Dip. di Psicologia e Presidente del Centro di Logica, Linguaggio e Cognizione di UniTo, svelano la possibilità di insegnare ai bambini le basi della programmazione con una ferrovia giocattolo
La prestigiosa Psychonomic Society, società internazionale degli psicologi cognitivi, ha recentemente pubblicato un articolo sulle ricerche condotte da Monica Bucciarelli, del Dipartimento di Psicologia e Presidente del Centro di Logica, Linguaggio, e Cognizione dell’Università di Torino, che svelano la possibilità di insegnare ai bambini le basi della programmazione informatica senza un aumento del tempo trascorso davanti allo schermo di un computer.
Il tema dell’avvicinamento dei bambini alla programmazione è molto attuale: i bambini, in fasi di sviluppo sempre più precoci, vengono avvicinati alla programmazione al computer alla luce della crescente richiesta di abilità di programmazione nel mondo del lavoro. Amazon, nel lanciare recentemente un programma che mira ad insegnare a 10 milioni di bambini all’anno a programmare, si è dichiarato fiducioso nel fatto che in futuro saper programmare sarà tanto importante quanto saper leggere.
Gli esperimenti effettuati da Monica Bucciarelli, in collaborazione con Robert Mackiewicz (Department of Psychology, University of Social Sciences and Humanities, Warsaw), Sangeet S. Khemlani (the Navy Center for Applied Research in Artificial Intelligence, Naval Research Lab, Washington, DC) e Philip Johnson-Laird (Department of Psychology, Princeton University and Department of Psychology, New York University), suggeriscono come l’introduzione dei bambini alla programmazione non debba necessariamente passare da una formazione specialistica in linguaggi di programmazione e simboli formali.
Secondo questa ricerca, i bambini di quinta elementare che non hanno avuto esperienza di programmazione sono comunque in grado di comprendere e formulare algoritmi informali in un ambiente di gioco costituito da una ferrovia giocattolo con vagoni che possono spostarsi lungo i binari (vedi Figura 1). Grazie all’utilizzo della ferrovia i bambini svolgono compiti di formulazione di algoritmi per invertire l’ordine dei vagoni che sono sul binario di sinistra (FEDCBA in ABCDEF sul binario di destra come indicato in Figura 1), e di deduzione di algoritmi, come desumere un nuovo ordine dei vagoni del treno sul binario di sinistra dalla descrizione di un algoritmo che effettua un’inversione dei vagoni sul binario di destra.
Le ricerche effettuate portano a tre conclusioni principali. In primo luogo, i bambini possono comprendere e formulare algoritmi, anche quelli ricorsivi (vale a dire, che dipendono da cicli ripetuti di operazioni), sebbene siano più difficili di quelli non ricorsivi (cioè che dipendono da un elenco di operazioni senza loop). I primi algoritmi pongono un carico maggiore sulla memoria di lavoro rispetto ai secondi. In secondo luogo, nei bambini vi sono differenze individuali in queste abilità, sebbene non vi sia alcuna differenza significativa tra maschi e femmine. È probabile che l’abilità rifletta una differenza nella capacità di elaborazione della memoria di lavoro (almeno parzialmente determinata da fattori innati). Così, per esempio, quando i bambini nello svolgere il compito non toccano i vagoni, i loro gesti “iconici” che riflettono le mosse che immaginano li aiutano. Quando viene impedito loro di gesticolare, le loro prestazioni sono peggiori. Terzo, i bambini (ma anche gli adulti) usano simulazioni mentali cinematiche per prevedere gli effetti delle mosse sui binari.
I risultati di questi studi hanno implicazioni importanti per l’insegnamento della programmazione al computer. Dal momento che hanno rilevato differenze individuali nella deduzione e nella formulazione di algoritmi informali, i compiti di comprensione e formulazione di algoritmi possono prevedere la capacità dei bambini di programmare. Inoltre, l’esperienza di algoritmi informali in contesti di gioco potrebbe fornire un ambiente trasparente in cui insegnare la programmazione ed aiutare i programmatori in erba a padroneggiare le funzioni ricorsive. Infine, poiché la ferrovia giocattolo consente due pile dal punto di vista computazionale, in linea di principio essa consente l’esecuzione di qualsiasi algoritmo, cioè, ha il potere di una macchina universale di Turing.
Figura 1 - La ferrovia giocattolo