CODING: L’ARTE D’IMPARARE GIOCANDO A cura di Francesco Wild
CODING: L’ARTE D’IMPARARE GIOCANDO Se v'è per l'umanità una speranza di salvezza e di aiuto, questo aiuto non potrà venire che dal bambino, perché in lui si costruisce l'uomo”. (Maria Montessori)
•
•
•
Il Miur ha proprio in questi mesi avviato una serie di iniziative per sensibilizzare docenti e studenti sul tema del coding. Come sempre quando una tendenza educational diventa prioritaria per il Miur il corpo docenti si attiva e cerca approfondimenti e strumenti per adeguarsi ed aggiornarsi. Il primo strumento completo e di immediato utilizzo da parte dei docenti quest'anno può proprio essere rappresentato dal volume da noi edito “CODING: L’arte d’imparare giocando” e come tale può essere promosso e diffuso presso Insegnanti e Genitori. Il rapporto di fiducia ed il carattere di innovazione riconosciuti a NTT DATA che ha fornito una serie di testimonianze sul campo del fenomeno ci consentono di trasmettere velocemente e capillarmente queste informazioni valoriali e di creare nei prossimi mesi la base del "consenso" e l'interesse reale da parte dei genitori e degli insegnanti per la diffusione della pubblicazione.
• •
•
• Eugenio Costa Montabone Editore •
Da ottobre 2016 ad aprile 2018, abbiamo svolto più di 400 incontri per oltre 900 ore di lezione in 55 scuole nelle città delle 8 sedi NTT DATA Italia, coinvolgendo circa 8000 tra bambini e maestri e 65 professionisti NTT DATA
• •
Euro 49,00
CODING: L’ARTE D’IMPARARE GIOCANDO
“I bambini imparano meglio quando sono attivamente impegnati nella costruzione di qualcosa che ha un significato personale per loro - che si tratti di una poesia, un robot,un castello di sabbia o di un programma per computer.”-Seymour Papert
Indice Presentazione Introduzione Le origini Al di là di Papert L'apprendimento attraverso il gioco Pensiero computazionale Origini e la definizione Competenze e approcci Imparare a conoscere la programmazione A proposito di spazio, tangibilità e la realtà aumentata Programmazione visuale Il pensiero spaziale per i campi STAMINALI Interfacce utente materiali Programmazione tangibile Realtà Aumentata a Scuola DynamicLand Creatività aumentata Gamification: l’arte dell’imparare divertendosi Ambienti e TOOL di Coding Scratch Come funziona Scratch Un gioco molto popolare sviluppato con Scratch: Slither.io. Appendice Da quando tutto è iniziato Il progetto “Coding nelle scuole” Le ìnterviste Il terremoto del 2016 La raccolta fondi di La Stampa-Specchio dei Tempi La partecipazione di NTT DATA al progetto di ricostruzione della scuola Qual è l'eta giusta per iniziare con Scratch?
Quali sono le risorse disponibili per imparare Scratch? Cos'è la comunità online di Scratch? Quali sono le linee guida della comunità online di Scratch? Qual è la politica della privacy seguita da Scratch? Esiste un modo per usare Scratch senza iscriversi alla comunità online? Cosa dicono di Scratch i genitori?
Se v’è per l’umanità una speranza di salvezza e di aiuto, questo aiuto non potrà venire che dal bambino, perché in lui si costruisce l’uomo”. (Maria Montessori)
Presentazione Il Miur ha proprio in questi mesi avviato una serie di iniziative per sensibilizzare docenti e studenti sul tema del coding. Come sempre quando una tendenza educational diventa prioritaria per il Miur il corpo docenti si attiva e cerca approfondimenti e strumenti per adeguarsi ed aggiornarsi. Il primo strumento completo e di immediato utilizzo da parte dei docenti quest’anno può proprio essere rappresentato dal volume da noi edito “CODING: L’arte d’imparare giocando” e come tale può essere promosso e diffuso presso Insegnanti e Genitori. Il rapporto di fiducia ed il carattere di innovazione riconosciuti a NTT DATA che ha fornito una serie di testimonianze del fenomeno ci consentono di trasmettere velocemente e capillarmente queste informazioni valoriali e di creare nei prossimi mesi la base del “consenso” e l’interesse reale da parte dei genitori e degli insegnanti per la diffusione della pubblicazione. Eugenio Costa Montabone editore
Introduzione L’edizione inizia con una panoramica del relativo lavoro e teorie che sono state esplorate in passato e sulle origini del metodo. La prima sezione è focalizzata su due punti principali: dare uno sfondo di teorie di psicologia legati all’apprendimento e definire il pensiero computazionale come soggetto chiave che dovrebbero essere inclusi nel curriculum formativo. Il primo capitolo passa attraverso ben note teorie dello sviluppo della psicologia cognitiva, come le teorie costruttiviste di Jean Piaget o le teorie costruzionista di Seymour Papert. Il secondo capitolo parla del metodo di apprendimento creativo di Mitchel Resnick e fornisce alcuni esempi di questo approccio, come la piattaforma esplorabili Esplorazioni. Nella terza sottosezione, pensiero computazionale è spiegato e sono menzionati esempi della sua applicazione. L’ultimo capitolo tuffa nel concetto di apprendimento di programmazione, cosa significa e perché è importante. In appendice una serie di interviste a Professori protagonisti sul campo di classi laboratorio che adottano queste metodologie Con il contributo di NTT DATA che ha svolto piu di 400 incontri per oltre 900 ore di lezione in 55 scuole nelle città delle 8 sedi, coinvolgendo circa 8000 bambini e maestri e 65 professionisti.
Le Origini E’ interessante sottolineare un fatto poco noto: la prima programmatrice della storia è stata una donna, Ada Lovelace (1815–1852), che iniziò a programmare ma solo sulla carta perché non esisteva ancora un calcolatore, o meglio un suo antesignano, capace di far girare quei programmi. Tra i personaggi più importanti della storia dell’informatica va citato il matematico inglese Alan Turing (1912–1954), il primo a inventare e costruire una macchina computazionale. Dal punto di vista architetturale i computer, come li conosciamo noi, si basano sulla cosiddetta architettura di von Neumann, dove un calcolatore elettronico è costituito da: • unità di elaborazione centrale (CPU o processore centrale) • memoria (espressa generalmente in Mb o Gb) • unità di input (generalmente tastiere, mouse, penne ottiche etc.) • unità di output (video, stampanti etc.) • bus che collega i vari elementi. La CPU è in grado di eseguire solo precise istruzioni basate sull’alfabeto binario. Questo insieme d’istruzioni si chiama linguaggio macchina, caratteristico di ciascuna CPU (marca / modello); programmare direttamente in linguaggio macchina è però piuttosto difficile. Si utilizzano pertanto linguaggi di programmazione definiti di alto livello (cioè considerati più vicini al linguaggio umano). Un apposito software “traduttore” (interprete o compilatore) si occupa poi di trasformare il programma scritto, ad esempio, in Python o in C in linguaggio macchina che sarà così direttamente eseguibile dalla CPU. Nei primi anni duemila, nell’ambito del Lifelong Kindergarten Group del Mit Media Lab, si inizia lo sviluppo di Scratch, un software edu-creativo ispirato alle teorie del costruzionismo, concetto basato sulla teoria che l’individuo avrà una capacità di apprendimento tanto maggiore quanto maggiore sarà il suo coinvolgimento nella produzione di oggetti tangibili: vuole cioè rendere gli apprendisti, i veri protagonisti di ciò che stanno imparando. Secondo il costruzionismo gli strumenti informatici aiutano i bambini a
migliorare il modo in cui pensano e risolvono i problemi attraverso quello che oggi chiamiamo ‘pensiero computazionale’. Questo è un processo logico-creativo che consente di scomporre un problema in diverse parti risolvendo le quali si è in grado di trovare una soluzione al problema generale. In poche parole è la capacità di risolvere un problema pianificando una strategia. Uno tra gli strumenti didattici più utilizzati per educare i bambini al pensiero computazionale è il coding: con esso si impara a risolvere un problema attraverso una serie di istruzioni impartite attraverso il pc e, così facendo, si sviluppa una strategia di soluzione attraverso il cosiddetto pensiero computazionale. Scratch rappresenta un passo in più in questa direzione rispetto ai linguaggi di alto livello perché, oltre a essere un linguaggio di programmazione, è un ambiente di sviluppo visuale dotato di icone grafiche e altri meccanismi che ne facilitano l’utilizzo. Tutto ciò permette all’utente di ottenere dei risultati in tempi rapidi (al costo, ovviamente, di “nascondere” gli aspetti più difficili della programmazione dei computer). Altri articoli scientifici asseriscono che il pensiero computazionale rappresenta un’abilità utile anche ai non informatici. Nel 2011 il movimento non-profit internazionale “CoderDojo”, che organizza club di programmazione gratuiti per il più piccoli, arriva in Italia e contribuisce alla rapida diffusione di Scratch anche nel nostro paese. L’inventore di Scratch (Mitchel Resnick, professore del MIT) afferma che è utile insegnare ai bambini a programmare perché «il coding viene visto come un nuovo modo, per le persone, di organizzarsi, esprimersi e condividere le proprie idee». Nel 2014 il MIUR in collaborazione con il CINI, Consorzio Interuniversitario Nazionale per l’Informatica, avvia il progetto “Programma il Futuro” allo scopo di sperimentare il coding nelle scuole attraverso attività di vario genere.
Al di là di Papert “I bambini imparano meglio quando sono attivamente impegnati nella costruzione di qualcosa che ha un significato personale per loro - che si tratti di una poesia, un robot, un castello di sabbia o di un programma per computer.” -Seymour Papert
Logo (Papert, 1980) è stato il primo linguaggio di programmazione creato per insegnare concetti pensiero computazionale. Fin dalla sua creazione, numerose altre piattaforme e linguaggi di programmazione sono stati sviluppati con lo stesso obiettivo (Cooper, Dann, & Pausch, 2000; Kay, 2005). Alcune di queste piattaforme attingono approccio di apprendimento costruzionista di Papert, come Scratch (Resnick, et al., 2009), un linguaggio libero di programmazione e comunità online dove gli utenti possono creare le proprie storie interattive, giochi e animazioni . Gratta e molti altri fanno uso di programmazione visuale. Alice (Cooper, Dann, & Pausch, 2000), AgentSheets (Repenning, 1993), il MIT App Inventor (Pokress & Dominguez Veiga, 2013), CS Unplugged (Bell, Alexander, Freeman, e Grimley, 2009) o le Mindstorms LEGO ( Klassner & Anderson, 2003) sono solo alcune delle piattaforme focalizzate sulla codifica insegnamento ai bambini che utilizzano i concetti pensiero computazionale [Figura 1].
Figura 1. computazionale pensare platforms7 pedagogico
Allo stesso modo, nel corso di questi ultimi decenni numerosi studi di ricerca e gli esperti hanno sostenuto come computazionale pensare è essenziale per lo sviluppo dei bambini. Dal momento che Papert ha introdotto il termine, la comunità di ricerca sta spingendo per l’inserimento di pensiero computazionale nel curriculum scolastico. Tuttavia, anche se molto lavoro è stato fatto.
L’apprendimento attraverso il gioco Lifelong Kindergarten Mitchel Resnick, professore al MIT Media Lab, inizia il suo libro Lifelong Kindergarten (Resnick, 2017), dando l’esempio di Chen Jining, il presidente della Tsinghua University, la più importante università di ingegneria in Cina. Egli spiega come Chen Jining era preoccupato che gli studenti cinesi, pur avendo standard molto elevati e buoni voti, non erano veramente preparati per le esigenze del nostro costante cambiamento e la società in evoluzione. Gli studenti sapevano la teoria, sapevano come risolvere i problemi di matematica, ma non hanno avuto la capacità di pensare in modo creativo, a chiedere le proprie domande, di posare le proprie domande e risolverli. Resnick, influenzato dalle teorie del costruzionismo di Papert, parla della necessità di forgiare una nuova generazione di studenti che sono curiosi, che pensano più e può formulare nuove sfide costruite sulla conoscenza che essi acquistano. Resnick corre il suo gruppo Lifelong Kindergarten al MIT Media Lab, dove lavora verso una visione del curriculum formativo molto più aperto alla creatività e gioco libero. Egli parla del processo creativo come una “Creative Learning Spiral” [Figura 2] significativamente correlata alle teorie sviluppo cognitivo dei Piaget e le teorie del costruzionismo di Papert. Nel suo “Creative Learning Spiral” ci sono cinque diverse fasi: “Imagine”, “Crea”, “Play”, “Condividi” e “Riflettere”. Esso è definito come un ciclo infinito che si accumula ad ogni iterazione:
Figura 2. Creative Learning spirale di Mitchel Resnick3
Al gruppo Lifelong Kindergarten, Resnick ha sviluppato un quadro di riferimento per il pensiero creativo sulla base di quattro principi di base [Figura 3]: “progetti”, “passione”, “pari” e “giocare”. Resnick spiega come la creazione di “progetti” è essenziale per l’apprendimento creativo spirale e mette in evidenza alcuni degli esempi nella comunità Scratch dove gli utenti creano progetti costantemente che li aiutano a sviluppare le loro capacità e la creatività. Come disse Piaget: “I bambini imparano meglio quando sono attivamente impegnati nella costruzione di qualcosa che ha un significato personale a loro”, è per questo che “passione” è fondamentale per il processo creativo. “Pari” si riferisce alla collaborazione e la condivisione di progetti con gli altri. Come Resnick afferma: “La creatività è un processo sociale”. Infine, l’ultimo nucleo è “Play”. la sperimentazione giocosa è la chiave per prosperare con successo nel processo creativo.
Figura 3. Progetti, passione, Pari e Il di Mitchel Resnick4