Ho dato un titolo inglese a un libro in italiano. Può sembrare una scelta discutibile, ma non è colpa mia, è colpa del coding.

Coding è un termine inglese che ho deciso di non tradurre per riempirlo del significato che di fatto ha assunto negli ultimi anni in Italia e nel mondo, o almeno del significato
che ha assunto per me.

Coding indica l’uso di strumenti e metodi di programmazione visuale a blocchi per favorire lo sviluppo del pensiero computazionale. E così per spiegare il significato di un termine inglese di cui potresti trovare la traduzione in qualsiasi vocabolario ho introdotto termini ben più complessi e oscuri che richiedono a loro volta una spiegazione: programmazione visuale e pensiero computazionale. Andiamo di bene in meglio.

Il pensiero computazionale è la capacità di individuare un procedimento costruttivo, fatto di passi semplici e non ambigui, che ci porta alla soluzione di un problema complesso. Immagina di avere di fronte un gruppo di persone e di volerle disporre in ordine di altezza. Se le persone sono poche ci riesci sicuramente in un attimo. Se hanno altezze sufficientemente diverse le une dalle altre ci riesci anche a colpo d’occhio, senza neppure farle spostare per confrontarle a due a due. Ma sapresti dirmi come hai fatto? E se le persone fossero state 100 avresti potuto risolvere il problema allo stesso modo? Ecco, il pensiero computazionale è proprio questo, la capacità di individuare non solo la soluzione, ma anche il procedimento per trovarla, qualunque sia la scala del problema.

La programmazione visuale non è nient’altro che un metodo di rappresentazione che ci permette di esprimere un procedimento come concatenazione di blocchi colorati che ne rappresentano i passi elementari, o le istruzioni che li descrivono. I blocchi hanno di solito piccoli incastri che ne suggeriscono le possibilità di connessione in modo da renderne intuitiva la composizione e impedire combinazioni prive di senso.

La programmazione visuale non è strettamente necessaria. Esistono molti altri modi di esprimere un procedimento, ma questo è il modo più intuitivo e divertente per farlo che l’uomo abbia inventato fino a oggi e ci conviene approfittarne. Vedrai che la composizione di questi blocchi è talmente intuitiva che potremo iniziare a usarli senza bisogno di studiarne le regole.

Ma se avessi scelto di tradurre coding in italiano che termini avrei trovato? Codifica, scrittura di codice, cifratura, programmazione, … Come vedi non avevo scelta, perché ciò di cui ti voglio parlare non è questo. Non è roba da programmatori né da agenti segreti.

Quello che faremo con la programmazione visuale produrrà veri e propri programmi per i nostri computer, ma soprattutto ci porterà a sviluppare capacità di pensiero computazionale. I computer sono esecutori ideali che non hanno fantasia. Capiscono solo poche istruzioni elementari e non fanno niente senza che siamo noi a dirglielo. In compenso riescono a eseguire le istruzioni molto in fretta e non si lamentano mai. Non c’è nulla di meglio della programmazione per stimolare la nostra creatività e per imporci il rigore necessario a descrivere per filo e per segno quello che abbiamo in mente.

Ora che sai perché non ho tradotto il termine coding, capirai perché ho scritto in inglese tutto il titolo. Usare due lingue diverse lo avrebbe reso illeggibile.

Coding in classe

cover2
.

Il testo è tratto dal libro “Coding in Your Classroom, Now!” di Alessandro Bogliolo, Giunti, 10 euro