Math Genius CODING A SCUOLA - Alberto Pian - Istituto Comprensivo Statale "Gullo" Cosenza IV

Pagina creata da Giovanni Vitale
 
CONTINUA A LEGGERE
Math Genius CODING A SCUOLA - Alberto Pian - Istituto Comprensivo Statale "Gullo" Cosenza IV
Alberto Pian

Math Genius
      CODING A SCUOLA

       R AT T O
   EST
Math Genius CODING A SCUOLA - Alberto Pian - Istituto Comprensivo Statale "Gullo" Cosenza IV
internet: deascuola.it
e-mail:    info@deascuola.it

Redattore responsabile: Alessio Delfrati
Tecnico responsabile: Alessandro Cafagna
Redazione: Matteo Dell’Orto, Mandeka Papini
Redazione digitale: Vincenzo Belluomo
Progetto grafico: Maura Santini, Ediset s.r.l.
Impaginazione: Annalisa Possenti
Copertina: Maura Santini, Simona Speranza
Disegni: Claudia Benassi, Gabriella Bianco

Art Director: Nadia Maestri

Proprietà letteraria riservata
© 2015 De Agostini Scuola SpA – Novara
1ª edizione: Febbraio 2015
Printed in Italy

Le fotografie di questo volume sono state fornite da: Shutterstock

Immagini di copertina: Shutterstock
Ricerca iconografica per la copertina: Cristina Colombo

L’Editore dichiara la propria disponibilità a regolarizzare eventuali omissioni o errori di attribuzione.
Nel rispetto del DL 74/92 sulla trasparenza nella pubblicità, le immagini escludono ogni e qualsiasi possibile intenzione o effetto promo-
zionale verso i lettori.
Tutti i diritti riservati. Nessuna parte del materiale protetto da questo copyright potrà essere riprodotta in alcuna forma senza l’autorizzazione
scritta dell’Editore.
Il software è protetto dalle leggi italiane e internazionali. In base ad esse è quindi vietato decompilare, disassemblare, ricostruire il progetto
originario, copiare, manipolare in qualsiasi modo i contenuti di questo software. Analogamente le leggi italiane e internazionali sul diritto
d’autore proteggono il contenuto di questo software sia esso testo, suoni e immagini (fisse o in movimento). Ne è quindi espressamente
vietata la diffusione, anche parziale, con qualsiasi mezzo. Ogni utilizzo dei contenuti di questo software diverso da quello per uso personale
deve essere espressamente autorizzato per iscritto dall’Editore, che non potrà in nessun caso essere ritenuto responsabile per eventuali
malfunzionamenti e/o danni di qualunque natura.
Eventuali segnalazioni di errori, refusi, richieste di chiarimento/funzionamento dei supporti multimediali o spiegazioni sulle scelte operate
dagli autori e dalla Casa Editrice possono essere inviate all’indirizzo di posta elettronica info@deascuola.it
Math Genius CODING A SCUOLA - Alberto Pian - Istituto Comprensivo Statale "Gullo" Cosenza IV
INDICE

 1. PROGRAMMARE NON È QUELLO CHE PENSATE ...................................................................................................... 5
     PROGRAMMARE È COME ESSERE PROPRIETARI DI UN LIDO A RIMINI ......................................5
     Partiamo dal mondo reale (real world)..................................................................................................5
     Complessità e interazione .....................................................................................................................6
     Il punto di vista del governo. La buona scuola ...............................................................................................7
     Intercettare i messaggi per provocare un’azione ..................................................................................7
     Dal coding al gioco ................................................................................................................................8

     QUANTE CONOSCENZE, ABILITÀ E COMPETENZE SI METTONO IN MOTO! .................................8

     VERSO COMPETENZE MULTIDISCIPLINARI E TRASVERSALI..........................................................9
     Conoscenze e abilità ..............................................................................................................................9
     Competenze multidisciplinari logiche ...................................................................................................9
     Competenze multidisciplinari linguistiche ............................................................................................9
     Competenze multidisciplinari creative ................................................................................................10
     Competenze sociali ..............................................................................................................................10
     Competenze diffuse .............................................................................................................................10
     Indicazioni utili per iniziare .......................................................................................................................10
     Il parere dello psicologo Jacopo Lorenzetti..................................................................................................11

     “E SE…”: UN GIOCO CHE NON FINISCE MAI................................................................................12
     Il ruolo del docente ..............................................................................................................................13

     COME E PERCHÉ PARTIRE DA UNA DIDATTICA INDUTTIVA FONDATA SUI PROBLEMI
     E SULLE SFIDE ....................................................................................................................................13
     Il Challenge Based Learning ................................................................................................................13
     La “prova del joystick”, ovvero: l’importanza della sfida...............................................................................14
     La tradizione dell’indagine ..................................................................................................................14
     Workflow. Il coding in una metodologia induttiva .............................................................................15

     IL CODING IN AMBITO MULTIDISCIPLINARE E INTERDISCIPLINARE .........................................16
     Un esempio di workflow multidisciplinare più complesso. Diventiamo reporter multicanali ..............................16

     NON C’È CODING SENZA INTERFACCIA, SPECIALMENTE IN CAMPO EDUCATIVO ..................18
     Programmare non vuol dire solo stilare una lista di istruzioni............................................................18
     Come può un insegnante aiutare i suoi studenti a costruire efficaci interfacce? ...............................................19

                                                                                                                                                           3
Math Genius CODING A SCUOLA - Alberto Pian - Istituto Comprensivo Statale "Gullo" Cosenza IV
2. IL CODING E IL GIOCO, UN BINOMIO VINCENTE ............................................................................................ 20
           PROGRAMMAZIONE E GIOCO AI DUE POLI ...................................................................................20
           Programmare giocando .......................................................................................................................20
           Apprendimento e multicanalità ...........................................................................................................20
           Carlo Cioppa, lo studente che ha imparato a sviluppare con YouTube .............................................................21
           Il ruolo del docente: come sollecitare lo studente al coding ...............................................................22
           PARTIAMO DA UN DIAGRAMMA DI FLUSSO .................................................................................22
           Applicazioni suggerite per creare diagrammi di flusso .......................................................................22
           PROGRAMMARE INTERAZIONI E GIOCHI CON APPLICAZIONI CONOSCIUTE ..........................23
           Creiamo un puzzle investigation con Keynote o PPT ..........................................................................23
           Workflow di base per la creazione di una struttura a tre ancoraggi ...................................................25
           Un altro esempio con iPad: Make It .....................................................................................................25

    3. DIVERSI LIVELLI E STRUMENTI DI PROGRAMMAZIONE.................................................................................... 27
           PROGRAMMARE GIOCANDO: SCRATCH ........................................................................................27
           I blocchi programmabili .......................................................................................................................27
           L’ambiente di Scratch ...........................................................................................................................27
           L’esempio del lido e altri script ............................................................................................................28
           PROGRAMMARE A OGGETTI IN MODO GRAFICO CON SCRIPT: LIVECODE ..............................31
           Sviluppare contemporaneamente per tutti i dispositivi ......................................................................31
           Associare gli script agli oggetti ...........................................................................................................32
           Catturare i messaggi, provocare degli eventi ......................................................................................34
           L’esempio del lido ................................................................................................................................35
           PROGRAMMARE A OGGETTI IN MODO GRAFICO SENZA SCRIPT: HYPERSTUDIO...................36
           Web app, HTML 5 e widget .................................................................................................................36
           Una struttura a stack e card ................................................................................................................36
           Web app e Hyperstudio ............................................................................................................................38
           I linguaggi del futuro: Swift.......................................................................................................................38

    4. NON TRASCURIAMO LA ROBOTICA ................................................................................................................. 40
           PARLANO GLI INSEGNANTI: UNA TRADIZIONE CHE VIENE DA LONTANO ................................40
           I kit Lego ..............................................................................................................................................40
           La robotica educativa secondo Donatella Merlo della Casa degli insegnanti ....................................41
           SPHERO: MATEMATICA E STORYTELLING ......................................................................................42
           Obiettivi .................................................................................................................................................42
           Tracciare un triangolo senza un piano cartesiano ...............................................................................43
           Scheda di controllo (triangolo) ..................................................................................................................45
           Sfidare gli studenti ...............................................................................................................................45
           Coding e storytelling con Sphero.........................................................................................................45
           GLOSSARIO DI BASE DEL CODING ..................................................................................................47

4
Coding a scuola

1. Programmare non è quello che pensate
PROGRAMMARE È COME ESSERE PROPRIETARI DI UN LIDO A RIMINI

Partiamo dal mondo reale (real world)
Siamo i proprietari di un lido (uno stabilimento balneare) a Rimini. Vogliamo offrire un servizio impec-
cabile ai nostri clienti, che sono comodamente sdraiati sui loro lettini o seduti sulle loro sedie a sdraio.
C’è chi vuole da bere, chi cerca un materassino per andare a fare il bagno, chi desidera un pallone,
chi chiede lezioni di nuoto, chi desidererebbe un servizio di baby sitting, chi vorrebbe una crema so-
lare con un fattore di protezione più elevato, chi si vuole semplicemente alzare per fare due passi sul
bagnasciuga.
Per soddisfare tutte le richieste dei nostri bagnanti ci siamo impegnati molto. Prima dell’estate abbia-
mo stipulato un accordo con il vicino istituto alberghiero e molti ragazzi di quattordici-quindici anni
hanno accettato di aiutarci per imparare il mestiere e per guadagnare qualcosa. Dato che non hanno
mai prestato servizio in un lido e sono in difficoltà, abbiamo predisposto delle istruzioni da eseguire
automaticamente.

                                                                                © De Agostini Scuola      5
Coding a scuola

       Il meccanismo è semplice: quando da un nostro cliente parte il messaggio perfavore, i ragazzi in servizio
       più vicini lo intercettano.

       inizio messaggio perfavore
           guarda chi_chiama
           ascolta che_cosa_vuole
           se che_cosa_vuole contiene “acqua”
           allora
               vai al bar
               prendi l’acqua
               portala a chi_chiama
           altrimenti
               lascia passare il messaggio perfavore
           fine se che_cosa_vuole contiene “acqua”
       fine messaggio perfavore

       Solo il ragazzo addetto all’acqua consegnerà la bottiglietta al cliente. Tutti gli altri lasceranno passare il
       messaggio.

       Complessità e interazione
       Le cose possono essere anche un po’ più complesse di così. Per esempio, se il cliente chiede una ribollita,
       che è una zuppa toscana, probabilmente non sarà nel menu del lido e può anche capitare che i gestori
       non conoscano questo piatto e quindi, in entrambi i casi, il cliente non potrà essere accontentato.
       Bisogna che i ragazzi abbiano a disposizione un elenco di prodotti che possono offrire in modo da con-
       trollare se è possibile soddisfare le richieste dei clienti.
       Allora le istruzioni di prima potrebbero essere riscritte in questo modo:

       inizio messaggio perfavore
           guarda chi_chiama
           ascolta che_cosa_vuole
           consulta l’elenco
           se che_cosa_vuole non è in elenco
           allora
               parla a chi_chiama: Mi scusi non abbiamo che_cosa_vuole
           quindi
               lascia passare il messaggio perfavore
           fine se che_cosa_vuole non è in elenco
           se che_cosa_vuole contiene “acqua”
           allora
               vai al bar
               prendi l’acqua
               portala a chi_chiama
           altrimenti
               lascia passare il messaggio perfavore
           fine se che_cosa_vuole contiene “acqua”
       fine messaggio perfavore

6    © De Agostini Scuola
Coding a scuola

Il ragazzo che serve l’acqua intercetta il messaggio del cliente, controlla se la richiesta compare nell’e-
lenco. Se non compare, lo comunica al cliente. Se invece compare e si tratta di acqua, gli servirà la bot-
tiglietta, altrimenti lascerà passare il messaggio. Lasciare passare il messaggio significa che il messaggio
passerà di ragazzo in ragazzo finché sarà raccolto da chi potrà soddisfare la richiesta. Così se il cliente
desidera fare un giro in gommone, il ragazzo addetto al deposito delle imbarcazioni del lido gliene potrà
noleggiare uno. Analogamente, il ragazzo addetto all’apertura degli ombrelloni raccoglierà la richiesta
dei clienti che desiderano un po’ d’ombra.
Per eseguire queste istruzioni abbiamo utilizzato una “struttura di controllo” del tipo se–allora–altrimenti
(if–then–else) tipica del coding. Con questa semplice struttura si possono fornire istruzioni anche molto
complesse.

Il punto di vista del governo. La buona scuola1
Serve un piano nazionale che consenta di introdurre il coding (la programmazione) nella scuola
italiana. A partire dalla primaria: vogliamo che nei prossimi tre anni in ogni classe gli alunni impari-
no a risolvere problemi complessi applicando la logica del paradigma informatico anche attraverso
modalità ludiche (gamification). A partire dall’autunno, dopo Stati Uniti e Inghilterra, lanceremo in
Italia l’iniziativa Code.org, aggregando associazioni, università e imprese, in una grande mobilita-
zione per portare l’esperienza nel maggior numero di scuole possibili.
Come sollecitiamo i ragazzi a essere “produttori digitali” nella scuola secondaria? Il punto di arrivo
sarà promuovere l’informatica per ogni indirizzo scolastico. Fin dal prossimo anno, vogliamo attiva-
re un programma per “Digital Makers”, sostenuto dal Ministero e anche da accordi dedicati con la
società civile, le imprese, l’editoria digitale innovativa. Concretamente, ogni studente avrà l’oppor-
tunità di vivere un’esperienza di creatività e di acquisire consapevolezza digitale, anche attraverso
l’educazione all’uso positivo e critico dei social media e degli altri strumenti della rete. E imparando
a utilizzare i dati aperti per raccontare una storia o creare un’inchiesta, oppure imparando a gestire
al meglio le dimensioni della riservatezza e della sicurezza in rete, o ancora praticando tecniche di
stampa 3D. Questo servirà a rafforzare le ore di Tecnologia e di Cittadinanza e Costituzione nella
scuola secondaria di primo grado, quelle di Informatica nei licei scientifici e negli istituti tecnici e
professionali, promuovendo inoltre la contaminazione con ogni altra disciplina.

Intercettare i messaggi per provocare un’azione
Però che gusto c’è a gestire un servizio di ragazzi che servono ai tavoli e custodiscono gommoni e aprono
ombrelloni? Perché non rendiamo un po’ più divertente questo servizio?
Cominciamo affidando lo stesso compito a più ragazzi. Non sarà più solo uno a fornire acqua, ma due
o tre. A custodire i gommoni saranno in quattro, ad aprire gli ombrelloni in cinque. Inoltre ogni ragazzo
potrà eseguire più compiti: il ragazzo A potrà fornire acqua e custodire gommoni, B custodire gommoni
e aprire ombrelloni, C potrà fare tutto quanto. Immaginiamo anche di essere i proprietari di un lido molto
affollato e che diversi clienti avanzano richieste nello stesso momento: chi vuole l’acqua, chi chiede di
aprire l’ombrellone, chi desidera noleggiare un gommone. Anzi, c’è qualcuno che vuole l’acqua da por-
tare in gommone e un altro che vuole aprire l’ombrellone e desidera anche l’acqua.

1 https://labuonascuola.gov.it/documenti/La%20Buona%20Scuola.pdf?v=d0f805a

                                                                                  © De Agostini Scuola     7
Coding a scuola

       Che pasticcio! Chi intercetterà i messaggi dei clienti? I ragazzi più vicini? Quelli più veloci? Quelli che
       hanno meno compiti da eseguire in quel momento?
       Non solo: se un ragazzo intercetta tre messaggi riguardanti compiti che può eseguire, che cosa farà? A
       quale messaggio risponderà per primo? Lascerà passare gli altri messaggi o dovrà rispondere lui?
       Questa è una bella complicazione!

       Dal coding al gioco
       Potremmo creare un gioco: il gioco del lido. Il giocatore deve fare in modo, manovrando i suoi ragazzi, di
       soddisfare il maggior numero di richieste che provengono da clienti sempre più agitati e impazienti, che
       vogliono sempre di più e sempre più in fretta. Se un ragazzo per tre volte non soddisfa un cliente, viene
       licenziato (eliminato). Chi vincerà? I ragazzi manovrati dal giocatore o i clienti?
       Le istruzioni si complicheranno parecchio. Dovremo inserire parametri quali distanza e velocità dei ra-
       gazzi, assegnare loro dei livelli di potenza che aumentano o diminuiscono in base al numero di richie-
       ste che devono soddisfare. Dovremo prevedere delle azioni ripetitive (cicli di repeat), delle variabili che
       possono contenere oggetti da verificare in base a determinate condizioni (per esempio la variabile fret-
       ta_del_cliente conterrà un numero da 1 a 5 che esprime la velocità con cui il cliente deve essere servito).
       Programmare è infatti un lavoro complesso ma divertente. Bisogna procedere per gradi e pensare bene
       a tutte le interazioni.
       Tuttavia non è così che possiamo proporre un gioco per il pubblico dei videogame. Infatti, non bastano
       delle istruzioni per creare un gioco. Anzi, direi che, agli occhi del cliente, le istruzioni che noi scriviamo
       non sono affatto determinanti. Quello che conta sono la grafica, i disegni, gli oggetti 3D che ruotano
       su se stessi, la musica, la fluidità e la definizione delle immagini. Se il gioco sarà destinato a tablet e
       smartphone allora conterà anche come reagirà al “tocco” delle dita, se sarà più o meno sensibile e rapido.
       Per il cliente l’aspetto del gioco e la sua funzionalità sono più importanti delle istruzioni che lo compon-
       gono. Il gameplay (la giocabilità del videogame) è più importante. Non si può giocare male, anche se le
       istruzioni sono perfette!
       Bisogna quindi pensare alla grafica, al modo in cui ragazzi e clienti sono rappresentati, a come deve
       essere raffigurato l’ambiente di gioco del lido, alle sdraio, agli ombrelloni. Ci occorrono dei designer di
       interfaccia, gente tosta che sappia disegnare, studiare i colori, creare le forme.
       E se poi, dopo tanta fatica, riusciamo finalmente a creare il nostro gioco, che cosa resta ancora da fare?
       Be’, lo dovremo promuovere, bisognerà studiare una campagna pubblicitaria, stampare un opuscolo,
       scrivere degli articoli, preparare una guida al gioco, diffondere la notizia sui social network, creare un sito
       di riferimento. Avremo bisogno anche di un consulente di marketing e di qualcuno che tenga i conti degli
       incassi, delle tasse da pagare, delle spese e dei guadagni.
       Vogliamo ragionare insieme su questo processo che abbiamo appena descritto?

       QUANTE CONOSCENZE, ABILITÀ E COMPETENZE
       SI METTONO IN MOTO!
       Avete idea di quante competenze si possono sviluppare intorno a un’attività di programmazione di un
       videogioco? Proviamo a elencarle. In questo elenco teniamo conto del fatto che le conoscenze e le abi-
       lità puramente disciplinari sono elementi specifici e puntuali, relativi all’informatica. Ora, la questione di
       fondo è che tutta la logica delle strutture di programmazione è applicabile in qualsiasi contesto e per
       qualsiasi disciplina. Se consideriamo una didattica attiva e multicanale, fondata sulla ricerca di risposte,
8    © De Agostini Scuola
Coding a scuola

su indagini e problem solving, le abilità e le conoscenze in ambito di coding diventano facilmente delle
competenze multidisciplinari, se lo studente è in grado di utilizzarle in altri ambiti che non siano quello
strettamente informatico.
Per questo ci pare importante che le potenzialità cognitive del coding siano effettivamente sfruttate fino
in fondo grazie alla collaborazione delle altre discipline, rispetto alle quali il coding può rappresentare il
filo rosso, il tessuto che le tiene legate.

VERSO COMPETENZE MULTIDISCIPLINARI E TRASVERSALI

Conoscenze e abilità
t   capacità di creare valori e proprietà
t   capacità di assegnare valori e proprietà a “oggetti”
t   capacità di creare messaggi
t   capacità di costruire condizioni
t   capacità di creare opposizioni
t   capacità di creare collegamenti
t   capacità di creare interazioni temporali
t   capacità di creare interazioni con dati quantitativi (velocità, distanza ecc.)
t   capacità di effettuare calcoli, dai più semplici ai più complessi (dipende dal grado di programmazione
    che si vuole raggiungere)
t   saper scrivere un piano di passaggi da realizzare secondo un ordine
t   saper individuare una nomenclatura appropriata di oggetti
t   saper scrivere le istruzioni in forma sequenziale
t   saper scrivere una guida
t   saper tradurre le istruzioni in lingua 2
t   saper rappresentare con degli schizzi semplici oggetti e sfondi
t   saper scegliere i colori in modo funzionale al gioco e alla funzione degli oggetti
t   saper ricercare immagini e disegni nei diversi canali
t   saper raccogliere informazioni su tutti gli aspetti dei videogame
t   saper raccogliere informazioni sull’utilizzo dei videogame da parte del pubblico
t   saper confrontare le strutture e le funzioni dei videogame
t   saper individuare i target di riferimento per il proprio gioco

Competenze multidisciplinari logiche
t   legare le condizioni fra loro
t   creare e gestire strutture di controllo fondate su scelte
t   creare e gestire variabili
t   creare e gestire ripetizioni, cicli e loop
t   gestire funzioni (dipende dal grado che si vuole raggiungere con la programmazione)
t   creare e rappresentare diagrammi di flusso

Competenze multidisciplinari linguistiche
t esporre le proprie idee a voce
t rappresentare le proprie idee in forma di appunti e bozzetti

                                                                                  © De Agostini Scuola      9
Coding a scuola

        t   organizzare in forma logica e sequenziale le proprie idee
        t   raccontare un procedimento logico
        t   raccontare il gioco e le sue parti
        t   spiegare il gioco
        t   comunicare con il team di compagni che collabora alla creazione e con il docente

        Competenze multidisciplinari creative
        t   trarre ispirazione da altri giochi e interfacce di videogame e di applicazioni
        t   creare situazioni di gioco originali
        t   offrire al giocare un’esperienza coinvolgente
        t   scegliere le colonne sonore appropriate
        t   selezionare proposte grafiche coerenti
        t   costruire una visione coerente e armonica del prodotto

        Competenze sociali
        t   organizzare e richiedere dei test e coordinare i beta testing
        t   comprendere e analizzare le aspettative del pubblico
        t   sapersi confrontare con le critiche
        t   gestire la comunicazione nei forum e nei social network

        Competenze diffuse
        Oltre a quelle che abbiamo elencato, esiste una serie molto estesa di conoscenze, abilità e competenze
        associate alla programmazione di un videogioco. Queste sono attinenti a tutti i campi del sapere: se il
        videogioco è ambientato nel passato saranno messe in moto conoscenze e competenze storiche e geo
        grafiche, se è regolato da leggi fisiche (la forza di attrazione di corpi celesti, per esempio), richiederà cono-
        scenze e competenze in quel campo, e così via. Poi ci sono anche altre conoscenze e competenze disciplinari
        che hanno un carattere potenzialmente trasversale. Per esempio la matematica è un pilastro della program-
        mazione, quali che siano il tema del videogioco o il suo ambito disciplinare. Anche l’italiano e la lingua stra-
        niera (non solo per una pubblicazione in lingua inglese, ma anche per acquisire informazioni utili nel mondo
        dei videogame) mettono in gioco altrettante competenze e conoscenze disciplinari di carattere trasversale.
        Quindi abbiamo innumerevoli motivi per trasformare il coding in un’attività didattica in grado di unire
        fra loro argomenti, saperi e competenze che provengono da differenti ambiti disciplinari. Per questo la
        costruzione di un videogioco può essere concepita proprio come la tela che unisce ciò che a scuola nor-
        malmente è separato, diviso in compartimenti stagni, come le diverse discipline di insegnamento.

        Indicazioni utili per iniziare
        Le attività di coding a scuola sono molto diffuse da parecchi anni in tutto il mondo. Fino dagli
        anni Settanta molti docenti si sono posti il problema di impiegare il coding nella didattica. Esiste
        quindi una grande mole di risorse, applicazioni, siti Web, articoli, libri in tutte le lingue che sarebbe
        un’impresa titanica documentare. Volendo suggerire qualche riferimento, diamo al lettore alcune
        indicazioni come semplici punti di partenza per sviluppare autonome ricerche in questo campo.
        Il sito di riferimento delle indicazioni governative è http://code.org. Nella settimana internazionale
        del coding ci sono invece numerosi eventi legati a questo tema segnalati dal sito http://codeweek.eu

10    © De Agostini Scuola
Coding a scuola

(per una ricerca dettagliata basta andare su http://events.codeweek.eu/search/). Un’occhiata al
documento del Ministero A scuola di coding è necessaria per capire le motivazioni dell’intro-
duzione del coding nei programmi di studio e anche per avviare “l’ora del codice” nelle classi:
http://hubmiur.pubblica.istruzione.it/web/ministero/cs230914. Fra queste iniziative figura un corso
per la programmazione con Scratch, un linguaggio che permette di programmare in maniera
intuitiva tramite l’utilizzo di oggetti: http://studio.code.org. L’insegnante che si iscrive ha a disposi-
zione un ambiente interattivo per gestire la propria classe, mentre gli studenti seguono le lezioni
e fanno gli esercizi proposti. Per approfondire diversi linguaggi e tecniche, relativi in particolare
all’HTML 5, ci possiamo rivolgere a http://www.html.it; mentre per i corsi (in lingua inglese) il
sito di riferimento è https://www.codeschool.com Infine segnaliamo un articolo interessante (fra
i numerosi disponibili) di Immacolata Nappi, Robotica Creativa e New Technology: un supporto
reciproco per l’apprendimento, che propone una visione interessante a proposito della robotica:
http://www.educationduepuntozero.it/tecnologie-e-ambienti-di-apprendimento/robotica-creati-
va-new-technology-supporto-reciproco-l-apprendimento-40102012153.shtml.

Il parere dello psicologo Jacopo Lorenzetti
Quali competenze mettono in moto le attività di programmazione?
Le attività legate alla programmazione richiedono un misto di competenze, abilità e conoscenze.
Da un lato la razionalità del programmatore, che pianifica passo dopo passo la procedura necessa-
ria, dall’altro la sensibilità del grafico nel progettare l’interfaccia in una maniera che sia intuitiva e
comprensibile per l’utente. Come posso assicurarmi che il prodotto del mio lavoro non sia frainteso
o, peggio, incompreso? Quali operazioni devo fare e in che ordine per raggiungere il mio risultato?
Ho una chiara visione d’insieme o mi sono perso nei dettagli? La mia idea è concreta, so come si fa
a realizzarla? E se non lo so, come posso impararlo?
Quindi, sul piano didattico, si tratta di attività di problem solving?
Sì. Per esempio il punto di vista della psicologia dello sviluppo e dell’apprendimento, la questione è
chiara: la programmazione e la costruzione dell’interfaccia stimolano il problem solving, la metaco-
gnizione, l’immedesimazione negli altri (teoria della mente), il pensiero logico. Le domande che si
pone il professionista (o l’appassionato) al lavoro sono le stesse domande che si pone lo studente
nel suo apprendimento. Ancora meglio, sono le stesse domande che noi insegnanti/educatori vo-
gliamo che i nostri studenti imparino a porsi.
Quindi tu credi molto nelle possibilità cognitive offerte dal coding?
Io credo che programmare (e progettare, al di là dell’aspetto tecnico del coding) possa diventare
un’esperienza di apprendimento completa per un ragazzo, che nello sviluppare il proprio progetto
trova modo di monitorarsi, riflettere sui propri obiettivi, e infine trova gratificazione nel risultato
prodotto, forse anche più di quanta può dargliene un voto. Questo tipo di compito ha il grande
potere di essere realmente immersivo: io sono protagonista del mio studio, libero nella speri-
mentazione, e quindi anche nella scoperta, la forma più spontanea e solida di apprendimento.
In questo modo l’insegnante può anche catalizzare l’attenzione e promuovere le competenze di
quegli studenti che normalmente hanno difficoltà ad apprendere con i canali tradizionali della
lezione frontale (come chi ha difficoltà di letto-scrittura) oppure faticano a trovare la motivazione
allo studio.

                                                                                    © De Agostini Scuola     11
Coding a scuola

        Mi ricorda un caso che hai seguito, quello di R. (uno studente con bisogni educativi speciali).
        Pensavo proprio a lui. Quando l’ho incontrato per la prima volta aveva 12 anni e frequentava la
        prima media. Aveva ricevuto una diagnosi mista di dislessia grave e ADHD (deficit dell’attenzione
        con iperattività) dal consultorio locale e la famiglia lamentava la sua intolleranza nei confronti dello
        studio e dei compiti, come anche i suoi insegnanti che, esasperati, erano giunti a chiedere addirit-
        tura l’aiuto del sostegno. R. si era seduto davanti a me nello studio e parlava liberamente dei suoi
        interessi, la sua passione per i videogiochi di guerra e di combattimento. Un ragazzino molto educa-
        to e solare. A un certo punto, era necessario valutare a che punto fossero le sue abilità linguistiche
        e quindi gli ho dovuto sottoporre un compito scritto di natura molto scolastica, simile a una verifica
        sul lessico. Nel giro di pochi secondi R. si è spento, come se si fosse “disattivato”. Quello non era il
        suo mondo. Ho provato allora a fare delle attività con l’iPad e con la LIM: qualcosa andava meglio,
        ma il ragazzino che affrontava quei compiti non era lo stesso che descriveva con passione la trama
        dei propri videogiochi preferiti. In seguito è stato inserito in un gruppetto di lavoro (insieme ad
        altri ragazzini con diagnosi di disturbo specifico di apprendimento, DSA) per il potenziamento del
        metodo di studio e la partecipazione, ma è sempre stato “distante”. Un giorno, molti mesi dopo,
        mentre si parlava di YouTube, R. dal nulla mi ha detto: «Io ho un mio canale». Ed ecco scoperchiato
        un mondo: numerosi video, recensioni di videogiochi, trucchi, tutorial, tutto registrato da lui, con ac-
        curata progettazione, metodo, e chiarezza. Tutte capacità che R. non mostrava nella vita scolastica.
        Il prossimo passo, allora, sarebbe stato quello di insegnargli a sviluppare il pensiero logico e pratico
        attraverso un mezzo più adatto a lui, per farlo entrare in contatto con il proprio potenziale, e per
        guidarlo nell’utilizzare queste stesse abilità nella vita di tutti i giorni. E questo è ciò che impariamo
        dalla sua storia.
        Quali considerazioni ti hanno lasciato esperienze come questa?
        Dobbiamo riferirci alla tassonomia di Bloom, che resta la più valida in questo campo. Infatti essa
        affronta i diversi obiettivi di apprendimento che un individuo può raggiungere, classificandoli uno
        dopo l’altro in ordine di qualità. Alla base di tutto abbiamo obiettivi come ricordare e capire, che
        sono le richieste cognitive fondamentali. Ma al livello più alto si trova la creatività, ossia la capacità
        di produrre e operare tramite il pensiero divergente e l’intuito (o insight).
        Noi, come educatori e insegnanti, vogliamo che i nostri alunni crescano come padroni della propria
        conoscenza, e che possano averne una consapevolezza tale da manipolarla e utilizzarla per “fare”,
        per “stupire”; vogliamo che riescano a esserne soddisfatti al di là di difficoltà visuospaziali che non
        permettono loro di incolonnare le operazioni, o difficoltà ortografiche, o bisogni educativi speciali
        di qualsiasi categoria.
        Se per raggiungere questo l’insegnante deve progettare un compito in modo da far apprendere
        gli studenti interattivamente e per scoperte, in un ambiente dove loro sono liberi di sperimentare,
        sbagliare e capire, allora secondo la mia esperienza con ragazzi, educatori, e nella scuola 2.0, il
        coding e la ludicizzazione/gamification sono due delle risposte corrette possibili.

        “E SE…”: UN GIOCO CHE NON FINISCE MAI

        Torniamo al nostro piccolo gioco del lido. Siamo partiti da una struttura molto semplice, che si è via via
        complicata con nuovi livelli di programmazione. A una struttura ne abbiamo aggiunta un’altra. Questo è
        il meccanismo dell’“e se…”. E se un cliente chiedesse…? E se un ragazzo ricevesse una telefonata? E se
        sulla spiaggia ci fosse un pericolo? E se improvvisamente piovesse?

12    © De Agostini Scuola
Coding a scuola

Il ruolo del docente
A ogni “e se…” la programmazione si complica perché deve tenere conto di nuove strutture logiche che
rispondono a nuove condizioni. Qui interviene l’abilità del docente. Infatti, la sua capacità professionale non
consiste nell’insegnare qualche riga di codice o gli elementi di base della programmazione affinché i propri
allievi riescano a creare una sequenza che li conduce a soddisfare le richieste dei clienti di un lido. Sarebbe
troppo banale! Esistono numerosi servizi, applicazioni e siti attraverso i quali i ragazzi imparano a program-
mare senza alcuna conoscenza preliminare e senza che nessuno li indirizzi (per esempio SCRATCH)2. Il loro
mondo non ha bisogno di particolari guide e indicazioni, almeno per un primo approccio. L’insegnante si
occuperà invece proprio di questa complicazione della struttura della programmazione. Aiuterà gli studenti
a porre gli “e se…” corretti, a farli interagire fra loro. Solleciterà gli studenti a ragionare, a disegnare dia-
grammi di flusso, a ritagliare quadrati, cerchi e frecce di carta per simulare su un tavolo quello che accadrà
a livello di coding, ma prima che il codice sia scritto e prima che le azioni siano compiute.
Se gli studenti apprendono a programmare attraverso il metodo del trial and error (per tentativi ed errori),
l’insegnante li porterà a riflettere prima della prova pratica, ad aumentare il loro livello di astrazione e di
concettualizzazione.
Il compito del docente non sarà di correggere un listato (l’elenco di istruzioni di un programma) o una
serie di interazioni create attraverso oggetti, ma di lanciare agli studenti delle sfide che li aiuteranno a
impadronirsi della logica della programmazione. Queste sfide si fondano su metodologie induttive e di
problem solving e possono essere anche interdisciplinari o multidisciplinari, coinvolgendo così diversi in-
segnanti e discipline nella costruzione di un progetto di encoding.

COME E PERCHÉ PARTIRE DA UNA DIDATTICA INDUTTIVA
FONDATA SUI PROBLEMI E SULLE SFIDE

Il Challenge Based Learning
Una delle principali esperienze di apprendimento collaborativo – in cui gli insegnanti e gli studenti lavora-
no insieme per proporre soluzioni di problemi reali e impellenti e quindi per agire – è il Challenge Based
Learning. Il CBL fa parte di una lunga tradizione didattica fondata su metodi “induttivi”, che partono
dall’esperienza sul campo per trarre delle conclusioni generali: il PBL (Problem Based Learning)3 e l’In-
quiry Based Learning, una efficace e nota metodologia di apprendimento delle scienze. L’Inquiry Based
Learning (IBL)4 è un metodo didattico di apprendimento fondato sulla ricerca, sull’osservazione, sulla for-
mulazione di ipotesi, sull’analisi, cioè sul metodo scientifico. L’IBL è stato elaborato negli Stati Uniti dove,
nel 1996, il National Research Council l’ha definito il miglior metodo didattico per l’apprendimento delle
scienze5. Più tardi, nel 2007, la Commissione Europea lo ha adottato nel quadro del rapporto stilato da
Michel Rocard, il quale in seguito ha pubblicato Science Education Now: A Renewed Pedagogy for the

2 Uno dei principali linguaggi di programmazione attiva, a oggetti e intuitiva, che consente a chiunque di creare
  una serie di interazioni (http://scratch.mit.edu/).
3 Il PBL nasce in Canada intorno agli anni Sessanta nel settore medico. Vedi: The Challenge of Problem Based
  Learning, a cura di David Bound e Grahame E. Feletti, Routledge, New York 1997 (http://books.google.it/
  books?id=vIUuAgAAQBAJ&printsec=frontcover&hl=it).
4 Sull’IBL, vedi: http://www.exploratorium.edu/ifi/index.html; Wynne Harlen, Progress in Science Inquiry Skills and
  How to Help it, Lisbona, 15 settembre 2012 (http://www.cienciaviva.pt/img/upload/Aprender_ciencia_Wynne_
  Harlen.pdf) e il progetto Inquire: (http://www.inquirebotany.org/it/) con esempi di attività nel campo della
  botanica (http://www.inquirebotany.org/it/resources.html).
5 Vedi: NRC, National Science Education Standards, 1996.

                                                                                       © De Agostini Scuola           13
Coding a scuola

        Future of Europe6. Questo documento riconosce la necessità di un nuovo approccio didattico allo studio
        delle scienze, proprio attraverso il metodo IBL7 e uno dei modelli che si possono impiegare per implemen-
        tare tale metodologia è il cosiddetto “modello delle 5e”8.

        La “prova del joystick”, ovvero: l’importanza della sfida.
        Il racconto di Nunzio Lo Regio, studente di liceo presso il Convitto di Avellino
        Una delle mie passioni è la tecnologia e il motivo è che rende le cose più semplici, anche se è frutto
        di un duro lavoro. Frequentando un liceo classico europeo, non ho mai avuto nel mio orario scola-
        stico nemmeno un’ora di informatica. Probabilmente se avessi dovuto seguire delle lezioni di infor-
        matica, questa materia mi sarebbe sembrata meno interessante, avrei perso il piacere di scegliere
        cosa fare, come e quando farlo e anche la soddisfazione di vedere realizzata una mia idea solo con
        i miei mezzi, senza l’aiuto di nessuno. Il mio interesse per l’informatica penso sia iniziato quando da
        bambino guardavo mio padre usare il computer, ed è stato amore a prima vista. Con il passare del
        tempo ho capito che potevo utilizzare la tecnologia per fare di tutto e ho cominciato a pormi sfide
        sempre più difficili, fino ad arrivare alla programmazione. Dopo la realizzazione di semplici giochi,
        grazie alla musica elettronica (un’altra mia grande passione) ho capito davvero le potenzialità della
        programmazione. La cosa è iniziata un po’ per gioco: mi serviva un controller per utilizzare alcune
        funzionalità di un programma. Avevo con me un joystick per videogiochi e scherzando ho detto
        a un mio amico: «Adesso uso il joystick per controllare questo programma». Perché non provarci
        davvero? Dopo svariati tentativi e ore al computer è nata la prima bozza di codice che mi ha per-
        messo di vincere questa sfida. La cosa che mi ha spinto a continuare, superando le difficoltà, è stato
        l’amore per la musica, perché è questo che ci guida: la passione per quello che facciamo.

        La tradizione dell’indagine
        Compiendo un viaggio a ritroso, a loro volta i metodi del CBL, PBL e IBL sono stati ispirati dalle tecniche
        di problem solving. Il problem solving aveva lo scopo di superare i classici compiti fondati sulla soluzione
        di esercizi e di problemi che venivano presentati nei momenti di verifica. I tradizionali problemi ed esercizi,
        infatti, mettono in gioco ciò che lo studente già conosce. L’idea invece era di problematizzare l’insegna-
        mento attraverso la ricerca di soluzioni che non implicassero necessariamente l’appello a un bagaglio di
        conoscenze già acquisito. Le soluzioni devono essere trovate attraverso la ricerca e la riflessione logica.
        Così, per esempio, il Problem Based Learning propone di affrontare sistematicamente i contenuti discipli-
        nari problematizzando l’apprendimento. A questo scopo fornisce agli studenti un problema “autentico”

        6 UE, Science Education Now: A Renewed Pedagogy for the Future of Europe (http://ec.europa.eu/research/science-
          society/document_library/pdf_06/report-rocard-on-science-education_en.pdf).
        7 In Europa viene talvolta chiamato IBSE (Inquiry Based Science Education).
        8 Il modello si basa sulle seguenti fasi: Engage – Explore – Explain – Elaborate – Evaluate. Lo studente si interroga
          e pone domande in modo che l’attività inizi sempre da una sua curiosità (Engage). Poi raccoglie, organizza,
          interpreta, analizza e valuta i dati (Explore). In seguito comunica in differenti modi e forme le conclusioni e le
          scoperte, le generalizzazioni a cui è giunto (Explain). Infine applica le sue scoperte e le sue teorie per risolvere
          problemi, prendere decisioni, svolgere compiti, risolvere i conflitti o stabilire dei significati (Elaborate). Gli
          studenti in gruppo valutano le conoscenze, le competenze e le abilità che hanno acquisito (Evaluate). Una
          sintetica ed efficace descrizione si trova sul sito dell’Università del Maryland (http://faculty.mwsu.edu/west/
          maryann.coe/coe/inquire/inquiry.htm).

14    © De Agostini Scuola
Coding a scuola

da risolvere. Cioè un problema che esiste nel mondo reale. I metodi e le tecniche del PBL e di pratiche
analoghe sono diverse, ma tutte tendono a fare degli studenti dei soggetti attivi nella ricerca delle solu-
zioni. Infatti se il Problem Based Learning si struttura attorno a una presentazione che illustra il progetto,
l’idea e quindi la soluzione elaborata dagli studenti, dal canto suo il Design Based Learning si sviluppa
attraverso l’articolazione di un progetto che consente di risolvere un problema complesso.
In tutti questi casi di didattica attiva e induttiva abbiamo a che fare con processi metacognitivi (che inse-
gnano a pensare come pensare) che aiutano gli studenti ad assumere la padronanza del proprio appren-
dimento. Infatti tutte queste pratiche integrano anche gli strumenti necessari affinché lo studente sia in
grado di monitorare la sua stessa comprensione dei procedimenti di cui si occupa.

Workflow. Il coding in una metodologia induttiva
Se queste sono le metodologie più efficaci per affrontare il coding in classe con gli studenti, vediamo una
struttura di base che l’insegnante può sottoporre ai propri allievi:
t il docente dovrà creare un semplice gioco simulando un problema esistente nel mondo reale (non
  una tartarughina che si muove sullo schermo, o un oggetto qualsiasi che si sposta e interagisce con
  altri). Per fare questo potrà prendere spunto dai contenuti dei suoi colleghi. Per esempio il professore
  di inglese gli può fornire un orologio al quale devono venire associate delle attività in lingua e delle
  immagini. Se l’associazione è corretta, dovrebbe comparire una spiegazione;
t partendo dal problema (associare testi e immagini lungo una linea temporale) e impiegando meto-
  dologie induttive (scoprendo per esempio il significato del testo in lingua, che cosa viene prima e che
  cosa viene dopo e perché), l’insegnante costruirà una semplice mappa o un diagramma di flusso con
  gli studenti, prima di passare alla programmazione vera e propria;
t in seguito il docente imposterà con gli allievi gli script di programmazione e ne analizzerà con loro la
  logica e le proprietà verificandone la correttezza;
t infine l’insegnante rifletterà sull’intero procedimento e introdurrà nodi concettuali come il concetto di
  variabile, di struttura di controllo ecc., che riguardano i nuclei fondanti della programmazione.

                                                                                  © De Agostini Scuola      15
Coding a scuola

        IL CODING IN AMBITO MULTIDISCIPLINARE
        E INTERDISCIPLINARE

        Come si possono affrontare i temi della programmazione in un contesto multidisciplinare nel quale, per
        esempio, lo studente possa portare un’esperienza integrata di attività di coding, sviluppata insieme ad
        altre discipline, al suo esame di fine ciclo, oppure a una presentazione ufficiale, a un concorso, o a un
        evento?
        Qui riportiamo un esempio di workflow che coinvolge più discipline nella preparazione di un reportage
        sull’antico Egitto.

        Un esempio di workflow multidisciplinare più complesso.
        Diventiamo reporter multicanali
        Impostiamo un’attività didattica di tipo multidisciplinare che comprenda attività di coding insieme
        ad altre discipline quali geografia, scienze, storia, inglese e matematica.
        Scegliamo un role-play (un gioco di ruolo) che sia il filo conduttore dell’attività. Compiamo un
        viaggio nell’antico Egitto per diventare reporter multicanali. Il nostro obiettivo sarà di produrre dei
        reportage che uniscano diversi temi disciplinari. Svolgeremo numerose attività correlate a questi
        temi.
        Qui sotto suggeriamo il compito da eseguire per ciascuna disciplina e indichiamo alcune applicazio-
        ni di riferimento per tablet e smartphone.
        Geografia
        L’insegnante recupera le immagini necessarie con un’applicazione che simula un mappamondo,
        come World Atlas.
        t Scarichiamo World Atlas del National Geographic (http://social.zune.net/redirect?type=phone
            App&id=4abd2110-d6d6-df11-a844-00237de2db9e; https://itunes.apple.com/it/app/national-
            geographic-world/id364733950?mt=8) o un’altra app che mostri le informazioni sui singoli Stati
            simulando un mappamondo. Esploriamo il mappamondo con un dito. Osserviamo come sono
            presentate le informazioni. Scattiamo uno screenshot dell’Egitto mantenendo la visualizzazione
            del mappamondo.
        t Importiamo lo screenshot in un’app per prendere appunti come Evernote (https://www.ever-
            note.com) o Notability (https://itunes.apple.com/it/app/notability/id360593530?mt=8) per an-
            notarlo a mano libera o per inserire altre informazioni in forma di schema o disegno. Scriviamo
            anche una didascalia e aggiungiamo un breve testo. Utilizziamo il modulo di navigazione Inter-
            net per inserire una pagina Web che tratti di un tema quale l’orografia dell’Egitto.
        Scienze
        L’insegnante con i suoi allievi disegna alcuni volti di antichi egizi usando applicazioni per creare
        identikit.
        t Con app come Face Creator Free (https://play.google.com/store/apps/details?id=com.idicreative.
            facecreator) o FaceKit (https://itunes.apple.com/it/app/facekit-gratis/id520866753?mt=8) creia-
            mo l’identikit del volto di un antico egizio e di un’antica egizia. Importiamolo nelle nostre note
            e scriviamo le informazioni che abbiamo rintracciato sulla costituzione fisica di questo popolo
            (altezza media, caratteri somatici ecc.).

16    © De Agostini Scuola
Coding a scuola

Storia
L’insegnante lavora con i suoi studenti per rappresentare la sala di un museo dove sono conservati
antichi reperti egizi, traendo ispirazione dagli ambienti del celebre Museo delle Antichità Egizie di
Torino (http://www.museoegizio.it).
t Creiamo due scenari di un museo all’interno del quale sono conservati reperti dei primi impor-
    tanti ritrovamenti di epoca napoleonica. Registriamo lo screenshot di ciascuno scenario.
Inglese
L’insegnante crea con i suoi studenti un breve fumetto in lingua che ha come tema la vita di un
giovane egizio.
Montiamo ogni scena con un’applicazione per creare fumetti come Comic Life per Mac e Win-
dows (http://plasq.com/apps/comiclife/macwin/) o Strip designer (https://itunes.apple.com/it/app/
strip-designer/id314780738?mt=8). Inseriamo i dialoghi e le didascalie che raccontano la storia in
lingua inglese.
Coding
L’insegnante stimola l’apprendimento dei principi base della programmazione con applicazioni di
gioco che permettono di assemblare gli script come mattoncini, rendendo così visivamente chiara
la costruzione di una parte di codice.
t Siamo sulle rive del Nilo, e con un’applicazione come Pocket Frogs (https://play.google.com/
    store/apps/details?id=com.mobage.ww.a435.pocketfrogs_android&hl=it; https://itunes.apple.
    com/us/app/pocket-frogs-free-pet-farming/id386644958?mt=8) vogliamo stabilire le condizioni
    che determinano la vita e la proliferazione delle rane e degli animali in quell’ambiente. Allo stes-
    so tempo con Hopscotch (https://itunes.apple.com/it/app/hopscotch-programming-designed/
    id617098629?mt=8) impariamo semplici diagrammi di flusso e un po’ di inglese. Mostriamo
    che si può utilizzare la condizione “if” per costruire semplici procedure con Scratch. Scattiamo
    una foto dello schermo e la importiamo nel programma di appunti per annotarla spiegando la
    procedura che abbiamo utilizzato.
t Con Mind Map (https://play.google.com/store/apps/details?id=com.takahicorp.MindMap) o In-
    spiration Maps (https://itunes.apple.com/it/app/inspiration-maps/id510031612?mt=8) creiamo
    una semplice mappa sia grafica sia logica, utile anche per DSA. Scattiamo la foto e la importia-
    mo nel nostro quaderno per raccontare quello che abbiamo fatto.
Matematica
t Cerchiamo l’immagine di una piramide e con Explain Everything (https://play.google.com/store/
  apps/details?id=com.morriscooke.explaineverything; https://itunes.apple.com/it/app/explain-
  everything/id431493086?mt=8) creiamo un filmato didattico che spiega alcune caratteristiche
  matematiche delle piramidi. Il filmato sarà composto da immagini, disegni a mano libera, colle-
  gamenti a pagine Web.
Gamification e coding
Creiamo un piccolo gioco didattico che unisce tutti questi elementi. Vengono presentate immagini,
nomenclatura, pulsanti interattivi da associare per determinare l’operazione corretta (vedi il capito-
lo: “Programmare interazioni e giochi con applicazioni conosciute”).
Conclusione
Presentiamo il lavoro a fine anno, lo pubblichiamo sul sito della scuola come Web app, oppure i
ragazzini lo portano agli esami come tesina multidisciplinare.

                                                                                  © De Agostini Scuola     17
Coding a scuola

        NON C’È CODING SENZA INTERFACCIA, SPECIALMENTE
        IN CAMPO EDUCATIVO

        Quando nel Settecento la porcellana si diffuse alla corte di Sassonia, nessuno sapeva veramente che farsene
        e tutti la usavano per dare vita agli stessi oggetti che precedentemente si scolpivano nella pietra. Solo col
        tempo si imparò a sfruttare la plasticità di quell’impasto di caolino e altre sostanze per inventare forme del
        tutto nuove prima di cuocerlo in forno. A quel punto l’Europa venne invasa da migliaia di oggetti di porcellana.
        Considerate che l’interfaccia di una qualsiasi applicazione è come la porcellana alla corte di Sassonia: si
        modella bene, ma è difficile utilizzarla in modo davvero intelligente. Inoltre la maggior parte delle persone
        conoscono poco questo ambito dell’informatica. L’interfaccia è ciò che appare quando si lancia un sistema
        operativo, un’applicazione, una presentazione multimediale. Per effettuare i suoi calcoli, un computer utilizza
        i numeri binari 0 e 1 (linguaggio macchina) che compongono il codice della programmazione (coding). L’in-
        terfaccia è ciò che trasforma le serie di numeri, i listati o gli oggetti della programmazione in immagini, testi,
        filmati, grafica e suoni. L’interfaccia è una specie di diaframma, di porta di comunicazione con l’elaboratore.
        Anche un eBook interattivo e multimediale come un Multi Touch Book (http://www.apple.com/it/ibooks-
        author/gallery.html) richiede un complesso lavoro di sviluppo informatico che viene reso coerente da
        un’interfaccia che lega i contenuti fra loro. Così in questo eBook il lettore può scegliere di associare alla
        lettura di una poesia anche immagini consultabili contemporaneamente, giochi e percorsi alternativi, e il
        prodotto acquista nuove chiavi di lettura.
        Tutto questo non sarebbe possibile senza la rappresentazione simbolica e grafica costituita da un’inter-
        faccia. Detto in altri termini: non può esistere una programmazione che implichi una manipolazione di
        dati senza la sua interfaccia, non può esistere codice senza rappresentazione, non possono esistere listati
        logici senza una grafica che li renda fruibili.

        Programmare non vuol dire solo stilare una lista di istruzioni
        Esistono due modi per affrontare il coding: o si ritiene che significhi semplicemente far muovere una tar-
        taruga avanti e indietro sullo schermo (come nel linguaggio di programmazione LOGO di qualche anno fa:
        http://it.wikipedia.org/wiki/Logo_(informatica)), o disegnare un cerchio, o effettuare un calcolo, oppure si
        ritiene che il coding abbia un senso per i nostri studenti solo se produciamo un oggetto concreto destina-
        to a un pubblico, un oggetto che deve essere fruito realmente. Nel primo caso compiamo un’operazione
        fine a se stessa, un puro esercizio di stile al quale lo stile mancherà sicuramente, perché prima di occuparsi
        dell’eleganza della programmazione, bisogna masticarne di codice informatico! Nel secondo caso invece
        svolgiamo un compito nel real word che stimola i ragazzi attraverso le sfide che noi proponiamo. In que-
        sto secondo caso è indispensabile ragionare sulla rappresentazione dell’oggetto, su chi ne deve fruire, sul
        modo di presentare il prodotto. In sostanza è impossibile non occuparsi della progettazione dell’interfaccia.
        Consideriamo anche che esistono importanti motivazioni educative e culturali che ci devono spingere a
        non ignorare questo problema. Il nostro universo comunicativo si basa sull’immagine, sull’associazione
        della parola alla fotografia, su elementi grafici e in movimento e anche sul gioco e i livelli di interazione.
        Questo tipo di comunicazione diventa lo strumento di una cultura poliedrica, cosicché oggi un’app o una
        pagina Web raccolgono diversi contributi strettamente integrati fra loro. Ciò che unisce questi contributi
        e i canali di riferimento sono proprio le interfacce, cioè il modo in cui i dati sono rappresentati per chi ne
        fruisce. Per questo il lato multidisciplinare dei prodotti multimediali – che impiegano testi, film, grafica,
        musica all’interno di una forma data – è parte integrante della stessa identità dell’oggetto prodotto, è il
        modo in cui l’oggetto viene riconosciuto.

18    © De Agostini Scuola
Puoi anche leggere