competenze

Informatica, bella e difficile: tre linee guida per insegnarla

L’informatica rende le cose più facili, eppure è la tecnologia più complessa mai elaborata dall’umanità: richiede capacità di capire e di immaginare, di parlare con chiarezza di ciò che si fa, di collaborare in maniera armonica. Qualche linea guida per la didattica

Pubblicato il 28 Apr 2017

Giovanni Salmeri

Università degli Studi di Roma Tor Vergata

education scuola_340563473

Che la presenza dell’informatica nella vita quotidiana stia crescendo sempre più è un fatto che non ha bisogno di dimostrazione. Eppure è vero che vi sono anche indizi di segno contrario. Il rinascere del mercato degli LP in vinile, il persistere di appassionati della fotografia su pellicola, il moltiplicarsi delle associazioni per la diffusione dell’arte della calligrafia nell’era della scrittura al computer, la costante preferenza espressa dai ragazzi per lo studio sui buoni vecchi libri di carta: questi e altri sono segni che costringono a pensare. Se non le si vogliono giudicare reazioni retrograde, bisogna cercare di capire che cosa sia realmente in gioco. Il primo aspetto comunque tra tanti casi differenti è forse il fatto che tutte le alternative «antiche» che stanno oggi avendo momenti di gloria sono strade più difficili rispetto a quelle digitali. L’osservazione è abbastanza ovvia: l’informatica (come la maggior parte delle tecnologie, peraltro) punta non solo a rendere possibili cose che prima non lo erano, ma anche a rendere più facili cose che prima erano laboriose. Ascoltare una canzone sfiorando un tasto è più facile che cercare il disco nello scaffale, tirarlo fuori dalla custodia, spolverarlo delicatamente, posarlo sul giradischi, e così via. Il fatto che siano più difficili significa che richiedono più tempo, più forze e più attenzione, ogni singola piccola tappa è percepita e vissuta: significa insomma che il risultato viene sperimentato come più proprio, e in conclusione come più umano.

Ma siamo davvero sicuri che informatica vuol dire solo maggiore facilità? In realtà c’è qui uno strano paradosso: la tecnologia informatica è la più complessa mai elaborata dall’umanità. Non è mai esistita prima una tecnologia che abbracciasse tanti ordini di grandezza quanti l’informatica, in cui una sola operazione finale visibile fosse il risultato di milioni di operazioni elementari normalmente invisibili, e che però devono essere tutte pensate e progettate fino all’ultimo dettaglio. Spesso si osserva che di un grande programma informatico non esiste sicuramente nessuno che ne conosca per intero il funzionamento interno. Ovvio: questo non deriva solo da un difetto di procedure nelle aziende che producono software, ma è una conseguenza inevitabile di un’avventura intellettuale incredibilmente complessa che come nessun’altra sta diventando sempre più necessariamente collettiva, nello spazio e anche nel tempo. Di fronte ad essa c’è da restare ammirati: sono intere storie intellettuali a volte di secoli che vengono riassunte, sono scoperte logiche e matematiche che vengono combinate insieme. C’è inoltre una cronaca di tutti i giorni che parla di software scritto spesso nei ritagli di tempo solo per il piacere e la soddisfazione di farlo e di contribuire ad una comunità. Tutti i telefoni Android hanno il loro centro nel kernel Linux iniziato per passione da un giovane studente finlandese, tutte le pagine Internet si basano su un protocollo inventato da un timido informatico britannico che non ne ha mai ricavato un penny. Non solo complessità, dunque, ma anche il libero piacere dell’invenzione.

L’informatica offre insomma questo doppio volto: da una parte la facilità di ottener cose quasi magicamente, dall’altra l’enorme impresa di chi ha reso e rende possibili, con intelligenza e creatività, queste magie. Una grande sfida è oggi far sì che parlare di informatica e farla entrare nell’insegnamento non sia solo lasciar stupiti di fronte a magie, ma mettere in mano, o almeno far capire, i super poteri che consentono di effettuarle. Tutti gli indizi apparentemente anti-tecnologici che abbiamo citato prima fanno capire quanto ciò sia urgente e importante: gli esseri umani se ne fanno poco di cose facili se queste alla fine non vengono almeno in parte comprese, vissute, fatte proprie. Tra i due estremi di chi interpreta l’attaccamento all’antico come segno del fallimento della tecnologia e di chi pigramente osserva che proteste contro le cose nuove ci sono sempre state, e poi sono scomparse, c’è la strada mediana più difficile: capire che ora c’è una posta in gioco più alta, che richiede un impegno e un’intelligenza maggiore. L’informatica offre molto: ma nulla è gratis. Ma in quale modo una didattica dell’informatica può percorrere questa strada? Proviamo solo ad ipotizzare alcune linee che ci paiono più concrete.

La prima è apparentemente ovvia: presentare l’informatica nel suo versante creativo significa insegnare (almeno in forma elementare) a programmare, e programmare significa semplicemente descrivere un procedimento in termini generali. Tuttavia ciò diventa meno banale se viene detto al contrario: descrivere esattamente un problema in termini generali significa già programmare. Il cosiddetto «pseudo-codice» usato in diverse prassi didattiche vuole proprio sottolineare questo: che il linguaggio di programmazione usato sia interpretabile da un computer, oppure se sia un linguaggio formale completamente teorico, cambia ben poco di fronte al compito fondamentale: saper descrivere esattamente un procedimento equivale a poterlo far eseguire, all’occorrenza anche da una macchina. Facilissimo a dirsi, spesso difficile a farsi: perché in realtà non è per nulla facile comprendere ciò che facciamo anche nelle operazioni apparentemente più facili, che non comportano per esempio nessuna competenza matematica o specialistica. (Un esempio? «Data una parola composta dalle lettere L1, L2, L3 … LN, descrivere esattamente un algoritmo che la divida in sillabe secondo le regole della lingua italiana»: buon lavoro!) Questa è anche una delle componenti dell’immaginazione. Diceva Tim Berners-Lee rivolgendosi a ragazzi: «Se potete immaginare che un computer faccia qualcosa, vuol dire che potete anche programmarlo!» Il fatto che i computer siano «solo macchine» significa che coloro che devono programmarli devono avere ancora più creatività e fantasia del solito: il che vale ancora di più nel momento in cui, contrariamente agli anni iniziali dell’informatica personale, molti paradigmi di uso sono consolidati e pensare fuori degli schemi esige più «pensiero laterale».

Una seconda linea: molto raramente vengono sottolineati i legami tra informatica e linguaggio naturale. Ebbene, per la gioia degli insegnanti di Lettere, ricordiamo che il legame c’è ed è strettissimo. Non tanto perché per programmare si usano «linguaggi» (questo è anzi un aspetto fragile e discutibile: agli esordi venivano chiamati autocodes e non è detto che la metafora antropomorfica poi invalsa aiuti a capire le cose); ma piuttosto perché la capacità di descrivere e spiegare a parole ha una connessione stretta con la capacità di programmare. La chiarezza, l’eleganza, l’assenza di ripetizioni, per esempio, ciò che qualsiasi manuale di bella scrittura insegna (o insegnava), sono doti che valgono ancora di più per un programma informatico. È indubbiamente per questo che uno dei padri nobili dell’informatica, Edsger Dijkstra, affermava che una profonda conoscenza della propria lingua materna è il primo prerequisito per un buon programmatore. Ma tutto ciò entra direttamente anche nella composizione di un programma: la «documentazione», cioè la spiegazione passo passo del procedimento seguito, è uno dei suoi aspetti cruciali. Donald Knuth, il celebre autore di TeX, negli anni 80 cercò addirittura di invertire i fattori, e diffondere l’idea che i programmi dovessero essere scritti essenzialmente non per dare istruzioni ad un computer, ma per spiegare ad un’altra persona che cosa si volesse che un computer facesse. In questo paradigma, chiamato della «programmazione letterata», il programma si trasforma quindi in un’opera letteraria. Non è qui il luogo per spiegare i dettagli (e neppure per chiederci perché malgrado i suoi meriti questo modello abbia avuto diffusione molto limitata): ci basta però notare che in questa prospettiva, senza perdere nulla del suo spessore tecnico, anzi proprio per favorirlo, l’informatica viene congiunta all’educazione linguistica, ne diventa in un certo senso un’estensione.

Una terza linea: collaborare è una delle cose più difficili che vi sia,  non solo per gli imprevedibili fattori umani che sono coinvolti, ma anche perché ciò significa avere un piano complessivo e un perfetto accordo su come queste parti possano connettersi insieme. Chi conosce anche solo superficialmente il mondo del software libero, nel quale il dialogo nelle comunità avviene alla luce del giorno (a volte con uno strascico di simpatiche risse), sa bene quanto tutto ciò può essere cruciale per la riuscita di un progetto. Ovviamente la collaborazione è essenziale in qualsiasi opera umana complessa, ma come abbiamo visto la complessità raggiunta nell’informatica rende questo aspetto essenziale. È raro vedere nei progetti didattici di informatica sottolineato questo aspetto, se non nel versante (tutto sommato abbastanza giocoso) del «trattare l’altro come una macchina che deve eseguire istruzioni». E invece è decisivo, ed è un aspetto di educazione umana che si innesta direttamente sulla natura di ciò che viene insegnato. Quanto sarebbe formativo in una classe portare avanti un progetto, anche semplice, in cui diverse parti sono scritte da studenti diversi e alla fine devono combinarsi e funzionare assieme?

Capacità di capire e di immaginare, di parlare con chiarezza di ciò che si fa, di collaborare insieme in maniera armonica: l’informatica è anche questo, e questo può essere insegnato, sia pure ad un livello elementare. Anche in questo modo resterà (speriamo!) la voglia di ascoltare LP in vinile e di scrivere a mano in bella grafia: ma il risultato importante sarà che anche l’informatica verrà percepita come la difficile e straordinaria e bella avventura umana che essa è.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

EU Stories - La coesione innova l'Italia

Tutti
Social
Iniziative
Video
Analisi
Iniziative
Al via il progetto COINS
Eventi
Un nuovo sguardo sulla politica di coesione dell'UE
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia
Iniziative
Al via il progetto COINS
Eventi
Un nuovo sguardo sulla politica di coesione dell'UE
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia

Articoli correlati