Rientrando a casa dal lavoro osserviamo nostro figlio alle prese con un videogioco. Nella sua stanza, nostra figlia sta studiando dal suo tablet. Anche noi oggi, per fare il nostro lavoro, ci siamo avvalsi di diverse applicazioni. E a pensarci bene, lavorare senza le App sarebbe per noi molto complicato. Dallo smartphone che teniamo in mano fino ai satelliti su Marte, alla base di tutto esiste un meccanismo di tipo informatico ne permette il perfetto funzionamento. Esiste cioè un linguaggio.
Qualcuno ricorderà quando ci si connetteva a Internet con un modem 56k e l’inconfondibile suono metallico che confermava il collegamento in corso tra lo stesso modem e il provider. Oggi tutto questo ci appare preistoria, eppure il meccanismo che permette ad un pc di connetterci alla Rete o di svolgere in tempi rapidissimi una serie di operazioni è il risultato, certamente evoluto, di un complesso sistema basato su una combinazione ben precisa di dati e di algoritmi che, messi in sequenza, danno una certa funzione.
Gli esempi sono infiniti, e sono sotto i nostri occhi. Pensiamo alla domotica, pensiamo ai sistemi di produzione industriale, pensiamo alle stampanti 3D installate nei nostri laboratori. Pensiamo all’energia, tema di grande attualità, e ai sistemi informatici per ottimizzare gli usi e ridurre i consumi. Pensiamo al sistema bancario e finanziario, che oggi non potrebbe stare in piedi senza sistemi informativi in continua evoluzione. Non esiste settore in cui l’informatica non abbia portato un beneficio. Al cuore di tutto questo esistono due concetti basilari: il coding ed il pensiero computazionale.
Di pensiero computazionale parla per la prima volta, nel 2006, la scienziata informatica Jeannette Wing. Utilizziamo il pensiero ogni minuto della nostra vita per organizzare, per elaborare, per scrivere, per decidere. Pensiamo per trovare la soluzione più efficace, o più rapida o meno dispendiosa, per raggiungere un traguardo. Computazionale viene dal verbo inglese to compute, ossia calcolare. La stessa parola computer nasce da computazionale. La scienza computazionale utilizza i sistemi informatici per risolvere problemi complessi, facendo uso di calcolatori sofisticati come aiuto per i calcoli più complicati. Ecco, dunque, che il pensiero computazionale possiamo intenderlo come un insieme di procedure svolte da qualcuno o da qualcosa, ad esempio una macchina, cui è affidato obiettivo da raggiungere e che opera in modo meccanico, all’interno di un determinato ambiente, per arrivare a questo. Il pensiero computazionale è di conseguenza la trasposizione del pensiero umano al sistema informatico. Trasferisce cioè la capacità di pensare alla macchina e di far sì che la stessa macchina pensi come noi (e per noi). Da qui discendono i programmi e gli applicativi che connotano il nostro quotidiano. Imparare il pensiero computazionale è utile o necessario? Sì, è programmare il futuro servendosi di strumenti dall’Intelligenza Artificiale. Dalla medicina, di cui abbiamo scritto qui, all’energia, dall’Internet of Things all’educazione al tempo libero, è difficile immaginare un ambito che non possa essere interessato da tecnologie di Intelligenza Artificiale.
Impartire di istruzioni ad un elaboratore che li trasforma in sequenza e ce li restituisce sotto forma di software implica il coding, dall’inglese “to code”, codificare. Una sorta di lingua che consente di dialogare con un robot, un computer, un semplice smartphone, come facciamo ogni giorno con i traduttori automatici. Il coding “traduce” in codici il nostro pensiero e fa essere “digeribile” ad una macchina dall’intelligenza artificiale. Il coding ha bisogno di pensiero computazionale, senza il quale serve a poco.
La relazione tra pensiero computazionale e coding ci aiuta a comprendere come ragiona un informatico, esperto in scienze computazionali che crea software e applicativi in grado gestire cose diverse tra loro ma tutte utili alle organizzazioni, dalla gestione del personale al magazzino, dagli ordini alla finanza, dai sistemi di comunicazione alla produzione. E tenere traccia, archiviare, enormi quantità di dati. Meglio se nel minor tempo possibile. Cosa lo distingue da un matematico? Se in matematica la formula è data da una regola frutto della combinazione delle principali operazioni matematiche, in informatica l’algoritmo è il procedimento codificato che permette al calcolatore di raggiungere il risultato. Compito dell’informatico è trovare la strada migliore, il procedimento che la macchina dovrà fare affinché sia lei a darci la soluzione.
Come “istruire” un elaboratore? Con il coding. Che in fondo è l’unico linguaggio che informatico e macchina hanno in comune. Con il coding l’informatico dà le istruzioni che l’elaboratore comprende e poi esegue. Quando non le comprende, c’è un problema di linguaggio o di programmazione. Il pensiero dell’informatico si articola per processi mentali, metodi, pratiche e competenze trasversali da acquisire. Al fine di pensare come una macchina. E far funzionare i robot che svolgeranno compiti, noiosi e ripetitivi, al posto nostro. Automazione.
Coding e pensiero computazionale sono fondamentali per i giovani, come peraltro previsto dal Piano Nazionale per la Scuola Digitale (del 2015) che introduce competenze che lo studente di informatica per gli studenti. Ma ancora c’è tanta strada da fare. In Energee3 crediamo nel coding come metodologia trasversale per la diffusione di una sana cultura digitale e per un utilizzo critico della tecnologia e della rete, lo stiamo facendo in questi anni organizzando corsi estivi per i ragazzi. Tutto questo in una fase storica in cui la formidabile accelerazione impressa al mondo del lavoro dalle nuove tecnologie rischia di rendere anche il più innovativo dei programmi scolastici. Ci attende un futuro ancora più tecnologico, considerando anche che ogni scoperta viene fatta utilizzando la tecnologia. Coding e pensiero computazionale rappresentano, per nostri ragazzi, una bella opportunità per sviluppare capacità cognitive trasversali. Certamente, solo alcuni di loro diventeranno informatici, ma la costruzione di una strada per il proprio futuro è il destino di tutti.