CODING PER TUTTI: la programmazione informatica nella didattica quotidiana


In un mondo che è sempre più digitalizzato e interconnesso, le competenze computazionali, come quelle del coding, non possono essere semplicemente considerate un “di più”, ma vanno reputate parte integrante del sapere e della formazione di bambini e ragazzi.

L’apporto di quello che percepiamo indistintamente come “tecnologia digitale” o “informatica” alle nostre vite ed attività quotidiane è ormai accettato e consolidato: utilizziamo, con certa disinvoltura, anche a prescindere dall’età, smartphone, tablet, personal computer, senza piena consapevolezza dei meccanismi che ne permettono il funzionamento. Il modo in cui questi strumenti “pensano”, risolvono cioè problemi più o meno complessi per il raggiungimento di uno scopo, è stato oggetto di diversi studi e teorie, a partire dai meccanismi che guidano il ragionamento e il pensiero umano. Una domanda su tutte guida queste riflessioni: sono le macchine a pensare come noi, o sono gli esseri umani a pensare come le macchine?

Per quanto non sia questa la sede di una trattazione così controversa, lo spunto è necessario per introdurre il focus del nostro approfondimento: il coding e il pensiero computazionale nella didattica.

Cos’è il coding?

Recentemente, nell’ambito dell’insegnamento e delle nuove metodologie per innovare la didattica, si è molto sentito parlare di “coding” e di come sia fondamentale introdurlo come vera e propria disciplina curricolare, con un riferimento particolare alle scuole primaria e dell’infanzia.

Di cosa si tratta?

Ogni macchina o computer necessita di comandi per svolgere i compiti per cui sono stati progettati, delle istruzioni consequenziali scritte in determinati linguaggi, che sfruttano la logica matematica. La scrittura di queste istruzioni è detta programmazione, o coding.

Sebbene possa a primo impatto sembrare una disciplina altamente settoriale, difficile da imparare soprattutto senza le conoscenze di base adeguate, il coding in realtà possiede applicazioni trasversali a tutti gli ambiti, permettendo di acquisire skills e mettere in pratica abilità variegate che vanno oltre il settore informatico.

Evidenze dimostrano come sia sempre più importante insegnare e sviluppare le abilità di coding fin dai primi anni di scuola, con numerosi vantaggi per la crescita, lo sviluppo e la formazione personale dei bambini.

Le attività di coding si possono sintetizzare nell’esercizio di scrittura di linguaggi destinati a una macchina, che legge le istruzioni ricevute ed esegue il compito. Dato che la macchina, come un computer, non è un essere senziente, la comunicazione dei comandi esige un grado di formalità e di rigore maggiore rispetto alla comunicazione tra umani. Per questo il coding permette sia di sviluppare il pensiero critico e il ragionamento logico, sia di comprendere la conseguenzialità tra le azioni, la pragmatica della comunicazione (ogni messaggio ha un obiettivo preciso), l’autovalutazione e l’autocontrollo.

Il pensiero computazionale

Alla base della disciplina del coding e della programmazione c’è il cosiddetto pensiero computazionale; esso viene definito come l’insieme delle procedure e delle operazioni che un esecutore, o un agente, attiva in modo meccanico e inconsapevole in risposta a un determinato contesto, che necessita di una soluzione a un problema. Le operazioni a cui si fa riferimento vengono eseguite indistintamente da un essere umano o da un computer.

Il termine pensiero computazionale, che deriva dal computing (cioè calcolo matematico), fu coniato dall’informatica e matematica, docente del MIT (Massachusetts Institute of Technology), Jeanette Wing nel 2006, sulla base delle teorie e degli scritti di due suoi predecessori: Seymour Papert e Ada Lovelace.

La prima donna programmatrice

Ada Lovelace, unica figlia legittima del poeta inglese Lord Byron, è considerata la prima donna programmatrice della storia, grazie alle idee rivoluzionarie e visionarie che ebbe per le applicazioni della macchina analitica ideata da Charles Babbage. La macchina, mai completamente realizzata, fu il prototipo del primo computer della storia, riuscendo ad eseguire compiti generici. Ada Lovelace fu una delle prime a credere nel progetto di Babbage, condividendo in un articolo scritto dall’ingegnere italiano Luigi Federico Menabrea, futuro primo ministro del Regno d’Italia, idee e suggerimenti sulle potenzialità della macchina analitica, prevedendo di andare molto oltre il semplice calcolo matematico. Le note di Ada Lovelace, pubblicate solo dopo oltre 100 anni dalla sua morte, mostrano una prima teorizzazione del concetto informatico dell’algoritmo

 

Proposta di attività:
conoscere il passato per guardare al futuro

Il mondo della scienza non è sempre stato clemente con le donne: stereotipi di genere, pregiudizi culturali e squilibrio nell’accesso e nello studio delle discipline scientifiche hanno fatto sì che, nella storia, il posto delle donne fosse più limitato e circoscritto rispetto a quello degli uomini.

Ma il contributo prezioso di donne matematiche, ingegnere, fisiche e chimiche dev’essere riconosciuto e celebrato.

Come attività collettiva, assegnate alla vostra classe una ricerca sulle donne scienziate nella storia, un modo, seppur semplice, di riflettere insieme sul rapporto tra scienza, parità di genere e stereotipi. Un topic quanto mai attuale, che può essere messo in relazione con i dati statistici più recenti sul numero di bambine e ragazze che studiano le STEM.

Dividete la classe in gruppi di 4/5 studenti ciascuno; ad ogni gruppo spetta il compito di ricercare le varie scienziate e studiose e selezionare il profilo di cui si vuole approfondire la conoscenza. Ogni gruppo preparerà quindi una presentazione orale della propria ricerca, da condividere con la classe, in cui si sottolineare non solo gli aspetti salienti del lavoro accademico di ogni figura femminile, ma anche e soprattutto il modo in cui queste donne sono passate alla storia.

A tal proposito, consigliamo la visione in classe della pellicola “Il diritto di contare” (HiddenFigures), un film che gioca sul doppio pregiudizio: quello di genere e quello razziale.

Didattica e programmazione informatica

Seymour Papert è stato un matematico, informatico e pedagogista famoso per aver introdotto il concetto di costruzionismo all’interno del dibattitto sulle strategie di apprendimento e per aver sviluppato un linguaggio di programmazione a scopo didattico denominato LOGO. Secondo Papert, la costruzione è alla base del processo di apprendimento: produrre oggetti concreti e reali aiuta la mente a generare e a interiorizzare idee e concetti, anche molto complessi. Questi artefatti cognitivi permettono quindi di legare nozioni astratte ad oggetti reali e ad operazioni basate sulla manualità.

Il concetto di costruzione come un susseguirsi di azioni precise sarà fondamentale nella teorizzazione del pensiero computazionale.

Dell’approccio costruzionista di Papert è anche importante ricordare, anche ai fini della nostra riflessione, il ruolo cruciale che assegna per la didattica, soprattutto dei più piccoli, al computer: esso diventa uno strumento di apprendimento fondamentale che permette la simulazione. A questo scopo crea il primo linguaggio di programmazione destinato alla didattica, il LOGO, su cu si basano molte delle piattaforme di coding oggi accessibili online. Una delle più famose, complete e utilizzate a scopi didattici è Scratch.

Pensiero computazionale e problem-solving

Secondo Jeannette Wing, il pensiero computazionale è “un’atteggiamento, un set di capacità che tutti dovrebbero avere ed utilizzare, non solo gli informatici.” È, in pratica, un metodo di problem-solving, che permette di confrontarsi con problemi complessi attivando procedure precise e conseguenziali allo scopo di sviluppare possibili soluzioni e modelli standardizzati che possano servire per problemi futuri. Il concetto di pensiero computazionale, pur scaturendo delle scienze informatiche, investe ambiti e aspetti molto più vasti: come sostiene la Wing, le abilità innescate dal pensiero computazionale si rivelano utili nella vita di tutti i giorni e possono essere sfruttate nelle situazioni e nei problemi più comuni. D’altronde la stessa Wing, nell’approfondire le sue teorie, sottolineava come “problema” e “soluzione” non fossero intese sono nell’accezione matematica.

Comprendere la trasversalità del pensiero computazionale è fondamentale per accogliere l’esigenza di inserirlo, insieme al coding, nelle scuole, includendoli nella didattica quotidiana fin dall’infanzia e primaria.

Ciò è reso possibile grazie ai meccanismi mentali di astrazione, riduzione e simulazione che mirano a scomporre un problema complesso, di qualsiasi natura, adottando la strategia più adeguata ad arrivare a una possibile soluzione.

Infine, per provare a rispondere alla domanda iniziale su quanto di informatico ci sia nel nostro modo di pensare, citiamo le parole della Wing a proposito di una delle caratteristiche del pensiero computazionale:

Il pensiero computazionale è il modo in cui l’essere umano, e non il computer, pensa e risolve i problemi; non si tratta di far ragionare le persone come computer. […] Supportati da dispositivi che computano, è la nostra intelligenza che ci permette di affrontare problemi che, prima dell’era del calcolo, non avremo osato affrontare.”

Coding e scuola

Nell’ultimo decennio, l’importanza del pensiero computazionale e del coding nella didattica è stata riconosciuta anche a livello normativo e istituzionale.

Nel 2013, infatti, la Commissione Europea ha pubblicato il DigCompEdu, cioè un quadro di riferimento europeo concernente le competenze digitali che i docenti e i formatori devono possedere, un passo importante che segna una presa di consapevolezza collettiva sull’impossibilità, e l’anacronismo, di escludere la tecnologia dall’insegnamento. Il framework individua sei aree di competenza, tra le quali sono menzionate la programmazione e il problem-solving.

Recentemente, lo scorso marzo 2023, è stato pubblicato un aggiornamento del quadro europeo, il DigComp 2.2, il quale – oltre a essere stato tradotto anche in italiano – introduce alcune importanti novità, fornendo oltre 250 nuovi esempi di abilità, conoscenze e attitudini che aiutino i cittadini a familiarizzare con le tecnologie digitali classiche ed emergenti, come l’intelligenza artificiale, il lavoro a distanza e l’accessibilità. L’obiettivo per il 2030 è ambizioso: l’UE punta ad avere, entro questa data, l’80% della popolazione con conoscenze digitali di base.

Coding e Didattica Interdisciplinare

Di seguito proponiamo spunti e suggerimenti per poter introdurre, gradualmente e con facilità, il coding e il pensiero computazionale tra le attività didattiche come parte integrante delle materie curricolari.

ITALIANO, STORIA e GEOGRAFIA

Per questo gruppo di materie, suggeriamo di proporre a bambini e ragazzi una riflessione sul rapporto tra lingua, società e realtà: il coding altro non è che un linguaggio attraverso cui il dire si trasforma in fare. A seconda del grado scolastico, si possono affrontare argomenti quali:

  • la storia e la geografia delle lingue, rintracciando le varie forme di espressione comunicativa, dalle pitture rupestri alle codificazioni linguistiche vere e proprie;
  • la pragmatica, ovvero la scienza semiotica che si occupa dell’uso contestuale della lingua come azione reale e concreta;
  • il linguaggio informatico vero e proprio, approfondendone meccanismi e logica.

APPROFONDIMENTO
Scienze

Le materie scientifiche sono caratterizzate da un approccio metodico, rigoroso e standardizzato che, partendo dall’osservazione diretta e tangibile, giunge a principi universali. Per poter comprendere meglio come funziona il pensiero computazionale, suggeriamo di partire proprio da una riflessione sul metodo scientifico, come un insieme di operazioni che da un punto A giungono a un punto B.

APPROFONDIMENTO
Arte e immagine

Per l’insegnamento dell’educazione artistica, suggeriamo di introdurre bambini e ragazzi alla Pixel Art, cioè una forma di arte digitale, attraverso attività di Coding Unplugged (senza l’utilizzo di software o dispositivi digitali).

L’esercizio che proponiamo consiste nel selezionare un certo numero di quadri o raffigurazioni famose (a scelta dell’insegnante) e trasformarle in immagini utilizzando una delle molteplici piattaforme online gratuite (come per esempio https://onlinejpgtools.com/pixelate-jpg). Una volta pixelata l’immagine, sarà necessario assegnare un numero, una lettera o un carattere a ciascun pixel colorato (per esempio: pixel blu uguale al numero 3). A questo punto, si potrà trasferire su un file di disegno bianco lo schema dei pixel dell’immagine, sostituendo a ogni colore il codice scelto.

L’esercizio può ora prendere forma: andranno consegnate agli studenti le schede con l’immagine pixelata e la legenda, che servirà loro per identificare i colori e colorare l’immagine, svelando così il quadro o la raffigurazione nascosta.

A conclusione dell’attività, si può prevedere un momento di discussione collettiva in cui confrontarsi sui dipinti, sugli autori o sulle tecniche pittoriche utilizzate.

APPROFONDIMENTO
Inglese

È innegabile che la lingua inglese sia la base dell’informatica, con molti dei vocaboli che usiamo quotidianamente derivati proprio dai Paesi anglofoni. Imparare il coding può essere quindi un’opportunità per acquisire nuove parole o padroneggiare meglio la lingua straniera, anche in considerazione del fatto che quelle stesse parole non hanno un corrispettivo nella lingua italiana.

Infine, per attività più spiccatamente digitali, consigliamo di usare la piattaforma Scratch, di cui abbiamo già parlato, che offre la possibilità di creare piccoli programmi e giochi didatticipersonalizzando funzionalità e temi.