Un approccio diverso al coding

Come i bambini costruiscono e ricostruiscono se stessi da zero

By Mitchel Resnick & David Siegel

Original paper: A Different Approach to Coding. How kids are making and remaking themselves from Scratch

https://medium.com/bright/a-different-approach-to-coding-d679b06d83a

Traduzione italiana di: Andrea Ferraresso & Noelia Di Pretoro. Revisione di: Carmelo Presicce. Si ringraziano gli autori per il permesso a tradurre.

[N.d.T.: in inglese to make from scratch significa costruire da zero, remaking themselves from Scratch è pertanto un gioco di parole]

Questa settimana Code.org lancerà le attività per l’edizione 2015 della Hour of Code [N.d.T.: in Italia L’Ora del Codice], un evento annuale voluto per incoraggiare le scuole di tutto il mondo a utilizzare almeno un’ora di lezione per introdurre gli studenti al coding (cioè alla programmazione dei computer). Durante la settimana che va dal 7 al 13 dicembre, milioni di studenti avranno la loro prima esperienza da programmatori seguendo i tutorial pubblicati nel sito web della Hour of Code. Molte scuole hanno intenzione di andare oltre questa esperienza iniziale. Un crescente numero di città (tra cui New York) e anche alcuni interi paesi (come l’Inghilterra) stanno includendo il coding come materia obbligatoria di studio.

Noi sosteniamo con forza che i bambini imparino a programmare, ma siamo anche preoccupati circa le motivazioni e i metodi che stanno dietro a molte di queste nuove iniziative che vogliono diffondere l’insegnamento del coding. Molte di esse, partendo dalla carenza di sviluppatori per l’industria del software, si concentrano soprattutto sulla formazione degli studenti finalizzata a un titolo universitario o alla carriera lavorativa, introducendo il coding come una serie di puzzle logici che gli allievi devono risolvere.

Abbiamo co-fondato la Scratch Foundation nel 2013 per supportare e promuovere un approccio molto differente al coding. Il coding, per noi, non rappresenta un insieme di competenze tecniche, ma piuttosto un nuovo tipo di alfabetizzazione e una forma di espressione personale, preziosa per tutti, proprio come imparare a scrivere. Noi vediamo il coding come un nuovo modo, per le persone, di organizzarsi, esprimersi e condividere le proprie idee.

Questo approccio al coding è una caratteristica di Scratch, il nostro ambiente di programmazione sviluppato al MIT Media Lab e disponibile gratuitamente online. Con Scratch i bambini dagli otto anni in su combinano insieme blocchi di programmazione per creare storie interattive e giochi con personaggi animati. Possono condividere i loro progetti in una apposita community, dove gli altri bambini sono in grado di trovarli, fornire riscontri e suggerimenti e anche riprendere e ampliare tali progetti con le proprie idee.

Dal lancio di Scratch nel 2007, bambini di tutto il mondo hanno condiviso più di undici milioni di progetti attraverso la community di Scratch. Più di diciasettemila nuovi progetti vengono inseriti ogni giorno.

I giovani usano Scratch in contesti differenti: a casa, a scuola, in biblioteca, nei centri comunitari. Creando e condividendo i propri progetti, imparano qualcosa che va oltre l’abilità di scrivere codice. Imparano, infatti, a pensare con creatività, a ragionare in modo sistematico e a lavorare in maniera collaborativa. Tutte abilità essenziali nella società d’oggi.

Prendiamo come esempio Jocelyn, un’adolescente che, sotto il nome di CrazyNimbus, ha creato e condiviso, nella community di Scratch, più di duecento progetti negli ultimi due anni. Ha sviluppato una grande varietà di lavori, tra cui il gioco di un elicottero volante, diversi giochi con bambole da vestire, un’animazione per festeggiare il ritorno a scuola [dalle vacanze] con matite e calcolatrici danzanti e un display con conto alla rovescia che mostra quanti giorni mancano per arrivare al Giorno del Ringraziamento [N.d.T.: festa osservata negli Stati Uniti].

Jocelyn si è avvicinata per la prima volta a Scratch per creare videogiochi e ha continuato ad usarlo grazie alla presenza della community online. «Ho condiviso il mio primo progetto e subito dopo ho ricevuto un feedback. Lì ho capito che avevo ancora tanta strada da fare e che dovevo continuare a programmare», dice Jocelyn.

Scratch è simile ad altri approcci alla programmazione in cui si richiede un ragionamento logico e sistematico. Per creare i suoi progetti, Jocelyn ha dovuto imparare nuove strategie di risoluzione dei problemi, come ad esempio suddividere problemi complessi in parti più semplici e revisionare continuamente i suoi progetti quando non funzionavano come avrebbero dovuto.

Ma quello che rende Scratch diverso dalla maggior parte degli approcci al coding è il fatto che pone al centro la capacità del bambino di apprendere a esprimersi creativamente e a condividere le propri creazioni con gli altri. Jocelyn, per esempio, ha usato Scratch per programmare cartoline di compleanno interattive per i suoi amici e ciascuno aveva la sua animazione personalizzata. Jocelyn, inoltre, ha sviluppato un tutorial interattivo per mostrare agli altri bambini come potessero creare da soli le loro cartoline di San Valentino personalizzate.

«Tutti hanno bisogno di esprimersi attraverso il computer», sostiene Jocelyn. «Mi piace condividere i miei progetti con il mondo e vedere cosa ne pensano gli altri».

La maggior parte delle iniziative del tipo “learn-to-code” [N.d.T.: impara a programmare] non dà risalto a questo tipo di espressione creativa. In molte attività introduttive al coding viene richiesto agli studenti di programmare i movimenti di un personaggio virtuale affrontando una serie di ostacoli per arrivare all’obiettivo finale. Questo approccio aiuta gli studenti a imparare alcuni concetti base della programmazione, ma non permette loro di esprimersi in maniera creativa — o di sviluppare un interesse duraturo per la programmazione. È come fare una lezione di scrittura che insegna solo grammatica e punteggiatura senza dare agli studenti l’opportunità di scrivere le loro storie. Con Scratch, il nostro obiettivo è quello di rendere i bambini fluenti in programmazione — non solo, quindi, imparando i meccanismi e i concetti della programmazione, ma anche sviluppando le proprie idee e la propria abilità a esprimerle.

Ogni bambino che si esprime attraverso l’uso di Scratch, inizia a considerarsi in maniera diversa, esattamente come quando impara a scrivere. L’educatore brasiliano Paulo Freire sostiene che scrivere è molto più di una capacità pratica. Freire guida diverse campagne di alfabetizzazione in comunità povere, non solo per aiutare le persone a trovare un lavoro, ma per aiutarle ad imparare che, riportando le sue parole, «possono creare e ricreare se stessi».

Notiamo che succede qualcosa di simile quando i bambini programmano con Scratch. Jocelyn e altri membri della community di Scratch iniziano a considerarsi creatori in grado di creare i loro progetti personali con il computer, e non solamente interagire con programmi creati da altri. «Ti cambia la vita», dice Jocelyn. Nella società in cui viviamo, le tecnologie digitali sono il simbolo di possibilità e di progresso. Creando e condividendo progetti con Scratch, i bambini iniziano a vedere la possibilità di contribuire attivamente e pienamente alla società.

Se la programmazione è destinata a fare una grande differenza nella vita dei bambini, è importante superare la visione tradizionale del coding come semplice capacità tecnica o strumento per ottenere un lavoro tecnico. Educatori, genitori, politici e altri dovrebbero pensare attentamente ai loro obiettivi e alle loro strategie per introdurre la programmazione ai bambini. Secondo una ricerca condotta da MIT Media Lab, l’introduzione alla programmazione dovrebbe seguire quattro principi:

Progettare: fornire ai bambini l’opportunità di lavorare su progetti significativi (non solo su attività in stile puzzle), in modo tale che sperimentino il processo di trasformazione dall’idea iniziale fino alla creazione di qualcosa che possa essere condiviso con gli altri.

Condividere tra pari: incoraggiare la collaborazione e la condivisione e aiutare i bambini a imparare a costruire qualcosa partendo dal lavoro di qualcun altro. Programmare non dovrebbe essere un’attività solitaria.

Appassionarsi: permettere ai bambini di lavorare su progetti in linea con i loro interessi. Il loro impegno sarà maggiore e più duraturo — e il loro apprendimento sarà costante.

Giocare: incoraggiare i bambini a sperimentare attraverso il gioco — provare nuove cose, prendersi dei rischi, testare i limiti, imparare dagli errori.

Tenendo a mente queste quattro P [N.d.T. i termini in inglese iniziano tutti per P: Projects, Peers, Passion, Play], gli educatori e le altre persone interessate assicureranno un uso completo del potenziale della programmazione come una nuova forma di alfabetizzazione e di espressione di sé — non solo un’altra moda educativa.

Mitchel Resnick

Professore di ricerca sull’apprendimento al MIT Media Lab, direttore del gruppo di ricerca Lifelong Kindergarten e capo dello Scratch Team (http://scratch.mit.edu)