Pagine

venerdì 28 settembre 2018

Coding o informatica: questo è il problema

di Enrico Nardelli

All'inizio di quest'anno la Commissione Europea ha lanciato un ambizioso piano d'azione per l'istruzione digitale. Partendo dalla giustissima premessa che “istruzione e formazione sono i migliori investimenti nel futuro dell'Europa” propone, per adeguare la formazione all'era digitale, di intervenire lungo tre linee di azione:
  1. migliorare l'utilizzo della tecnologia digitale per l'insegnamento e l'apprendimento;
  2. sviluppare le competenze e le capacità digitali pertinenti ai fini della trasformazione digitale;
  3. migliorare l'istruzione mediante un'analisi dei dati e una previsione migliori.

Nulla da dire sulla prima linea: è noto che un uso ben calibrato delle tecnologie digitali può migliorare sia l'insegnamento che l'apprendimento. Certo, le difficoltà sono tutte nella buona calibrazione, ma confido che la nuova direzione politica del MIUR e l'esperienza della nostra classe docente (tra le migliori al mondo) saranno in grado di indicare e trovare le giuste soluzioni.

Anche la terza è estremamente valida: viviamo nell'era dei dati, che raccogliamo a tutti i livelli. Se ben analizzati ci possono dire molto sulla situazione attuale, ad un livello di granularità mai raggiunto prima. Anche qui il diavolo è nelle minuzie realizzative: da un lato la garanzia di privacy verso le persone, dall'altro la consapevolezza che tra ciò che misuro e la realtà c'è una distanza che non va mai dimenticata. I generali che hanno confuso la mappa con il territorio non hanno mai brillato nelle campagne militari.

Vorrei spendere qualche parola sulla seconda linea, perché per la sua attuazione, oltre a misure di accompagnamento relative alla sensibilizzazione, comunicazione e riduzione del divario di genere (tutte importantissime!) l'azione concreta che viene proposta è quella di “introdurre classi di programmazione in tutte le scuole". Qui con “programmazione” si intende “programmazione informatica", ovvero ciò che gli inglesi chiamano coding, termine che ormai anche in Italia gode di una certa notorietà. Ho già scritto (qui e qui) sul perché non ritengo saggio usare il termine inglese, ma nel resto di quest'articolo lo userò per brevità espositiva.

La mia tesi di fondo è che questa impostazione della Commissione Europea, centrata sull'insegnamento del coding invece che sull'insegnamento dell'informatica è riduttiva. Confronto l'insegnamento del coding con quello dell'informatica perché insegnare il coding vuol dire, per fare un paragone con l'ingegneria, insegnare a costruire un ponte, mentre insegnare l'informatica vuol dire insegnare a progettare e costruire il ponte.

Progettare significa operare in uno spazio di necessità e di vincoli e “creare” la soluzione, inventare la sintesi tra esigenze contrastanti. Questo richiede un bagaglio di conoscenze che non possono essere quelle soltanto finalizzate a costruire. Essendo un ingegnere di formazione, so bene di cosa parlo. Due anni del mio percorso universitario li ho passati nello studio di matematica, fisica e chimica ed altre materie fondazionali, che non avevano nessuna diretta applicazione alla costruzione di un qualunque manufatto complesso. Un medico o un avvocato potranno sicuramente confermare che la differenza tra l'operatore ed il progettista è tutta nella larghezza e profondità della sua formazione di base.

Costruire significa seguire un piano più o meno definito che qualcun altro ha creato. Non è richiesto di sapere molto al di là di questo, perché ci pensa (o ci ha pensato o ci penserà) qualcun altro. Parlare solo di “insegnare il coding” è quindi un approccio riduttivo, perché ci si focalizza solo sulla parte finale ed operativa di tutto un processo progettuale molto più complesso. Significa addestrare una manovalanza tecnicamente sofisticata, ma che sarà comunque una classe operaia sottoposta alle direttive di chi decide cosa costruire, per chi farlo e quando.

Noto di passaggio (perché entreremmo in una sfera politica e sociale che va certamente considerata, ma non in questa sede) che la storia (ora più che mai magistra vitae) ha evidenziato come i livelli base della manovalanza sono i primi che vengono sostituiti dalle macchine. Se vogliamo quindi che i nostri giovani acquisiscano competenze utili per tutto l'arco della loro vita lavorativa, è bene formarli a competenze da progettisti e non solo da esecutori.

Non nego che la programmazione possa essere un’attività altamente creativa, ma se parliamo di istruzione di massa e se insegniamo solo a programmare, senza educare i ragazzi su tutti gli altri aspetti che rendono l’informatica quella disciplina articolata e profonda che è, allora rischiamo davvero di formare solo un esercito di operai, che sarà facilmente messo fuori gioco dall’avanzamento della tecnologia o di un “esercito industriale di riserva”.

Per far sì che ragazzi e ragazze abbiano possibilità di scegliere una strada per loro soddisfacente nella società digitale, in un contesto lavorativo in continua evoluzione, vanno loro esposte da subito le idee scientifiche alla base del digitale, in modo che ne capiscano la valenza complessiva.

Si potrà obiettare che vi sono molti esempi di start-up di successo nate da idee di ragazzini che certamente non avevano svolto regolari studi da informatici. Ma, se si guardano i numeri complessivi, questi sono soltanto le eccezioni che confermano la regola. Prima di tutto, se chi ha creato Facebook non era certamente laureato in informatica, Google è nato dalle idee di due dottorandi in informatica di Stanford (una delle cattedrali della ricerca informatica). Inoltre, per ogni start-up che ce la fa, ce ne sono almeno mille che vanno a spasso, e quindi a livello macro-economico, cioè per far crescere un Paese, puntare tutto sulle start-up non rappresenta una scelta sensata (anche questo è un discorso di politica dello sviluppo da affrontare).

Analogamente, si tende spesso a considerare come tipico ciò che invece è un’eccezione. Per la programmazione, si citano geni come Linus Torvalds (creatore di Linux) o Guido van Rossum (creatore di Python) che hanno realizzato da soli dei veri e propri capolavori. Prima di tutto la genialità è qualità estremamente rara e ciò che va bene per un genio non può essere usato come metodo didattico per l'istruzione di massa. Secondo, anche chi è geniale progetta: lo fa nella sua testa, e molto velocemente, mentre sviluppa, ma è una fase comunque presente. Terzo, è ovvio che ogni progetto, nel momento in cui viene espresso ha bisogno di un linguaggio per la sua espressione, che rappresenta la “codifica” del progetto. Ma questo non implica che il termine più appropriato per chi progetta sia “coder” o che nel termine “coding” rientri tutta l’area della progettazione e sviluppo del software.

Attenzione, l’inserimento della formazione informatica nella scuola è importante per la formazione di ogni cittadino, anche se deciderà di fare il medico o l’avvocato, il musicista o lo scrittore. La società digitale è qui: non insegnare nella scuola la scienza alla base dei suoi meccanismi sarebbe come insegnare che i bambini nascono sotto i cavoli, la peste è trasmessa dagli untori e le pietre si muovono per horror vacui.

Ciò che fa grande un Paese sul lungo periodo non sono le eccellenze, ma la qualità della formazione di massa. Lo sviluppo digitale dell'Europa richiede l'insegnamento dell'Informatica nella scuola, a partire dalla primaria. Questa è la strada che hanno iniziato a seguire nel Regno Unito, queste sono le tendenze in molti paesi avanzati, sia ad oriente che ad occidente, questo è quello che abbiamo proposto come associazioni europee di Informatici.

--
Versione originale pubblicata su "Il Fatto Quotidiano" il "17 settembre 2018".