Pensiero computazionale: l’importanza dell’informatica e della programmazione

Pensiero computazionale: l’importanza dell’informatica e della programmazione

Pensiero computazionale - l'importanza dell'informatica e della programmazione

Nell’ultimo decennio il trend topic nell’ambito dell’insegnamento dell’informatica è certamente il pensiero computazionale. Sebbene  fosse  un concetto  già  presente  da  decenni,  in  diverse  declinazioni e sotto varie nomenclature, è stato portato all’attenzione della comunità scientifica nel 2006 da Jeannette Wing, direttrice del Dipartimento di Informatica della Carnegie Mellon University, tramite un lungimirante e appassionato articolo in cui mostra come, in tutta una serie di ambiti scientifici, l’informatica abbia portato non solo strumenti (computer e linguaggi di programmazione) ma innovazioni nel modo di pensare.  Un esempio illuminante è il sequenziamento del DNA umano, avvenuto nel 2003, in forte anticipo sulle previsioni, grazie all’adozione di un algoritmo di tipo shotgun (chiamato anche hill climbing con riavvio casuale in Intelligenza Artificiale) per ricombinare i frammenti di DNA analizzato.

Se nelle discipline scientifiche il processo di diffusione del pensiero computazionale è già in atto, non possiamo dire lo stesso per quanto riguarda la vita di tutti i giorni.  Viviamo in un mondo in cui i computer sono sempre più pervasivamente attorno a noi (ubiquitous computing). All’esplosione della disponibilità di calcolatori dalle dimensioni ridottissime, con enorme potenza di calcolo resa praticamente infinita dall’accesso a Internet e alla enorme disponibilità di informazioni   sempre grazie alla Rete   non ha fatto però seguito l’aumento della conoscenza  e  delle  abilità  connesse  all’elaborazione di tale informazione.

Sembra quasi paradossale che, in un mondo in cui si creano continuamente nuove figure professionali legate ai computer e i vecchi lavori richiedono sempre maggiori competenze e abilità legate alla scienza e tecnologia informatica, essa abbia una scarsissima rilevanza nell’istruzione.

In Italia, e non solo, i non addetti ai lavori cadono spesso vittima della scorrettissima equazione “INFORMATICA = USO DEL COMPUTER“. Questo ha portato inevitabilmente alla creazione, negli scorsi decenni, di corsi di “informatica” in cui si insegnava l’uso (spesso mnemonico) di un elaboratore di testo o di un foglio di calcolo.

Il pensiero computazionale va ben oltre l’uso della tecnologia, ed è indipendente da essa (sebbene la sfrutti intensivamente): non si tratta di ridurre il pensiero umano, creativo e fantasioso, al mondo “meccanico e ripetitivo” di un calcolatore, bensì di far comprendere all’uomo quali sono le reali possibilità di estensione del proprio intelletto attraverso il calcolatore. Si tratta di “risolvere problemi, progettare sistemi, comprendere il comportamento umano basandosi sui concetti fondamentali dell’informatica”. In sostanza, pensare come un informatico quando si affronta un problema.

Riconosciuta la sua importanza, il pensiero computazionale è stato proposto da molti come quarta abilità di base oltre a leggere, scrivere e calcolare. Ponendolo in una posizione così rilevante, è naturale preoccuparsi che tale approccio alla soluzione dei problemi venga insegnato a tutti gli studenti di tutti i livelli di istruzione.

Così come non si insegna Analisi 1 ai bambini di prima elementare, allo stesso modo non possiamo pensare di insegnare loro Programmazione 1. Abbiamo bisogno di una scienza, da cui trarre i principi, i concetti, le tecniche con cui organizzare la conoscenza da trasmettere durante gli anni della scuola. Questa scienza non può che essere l’informatica (che, non a caso, forma i pensatori computazionali presi da esempio). In questi anni gli insegnanti di informatica e gli scienziati dell’informazione hanno proposto curriculum, attività, framework, strumenti tecnici hardware e software per insegnare il pensiero computazionale. Il panorama rimane però ancora molto frammentato, e i principali lavori sono opera di informatici che si sono improvvisati esperti di educazione.

In realtà gli informatici si erano già occupati, soprattutto negli anni Ottanta e Novanta, di apprendimento. Sono infatti di quegli anni i maggiori studi della cosiddetta Psicologia della Programmazione. Si tratta di studi rigorosi, che si collocano a metà tra l’informatica e la psicologia cognitiva, che riguardano il “modo di pensare” dei programmatori, iniziati con lo scopo di valutare e migliorare gli strumenti a loro disposizione basandosi sugli effetti cognitivi che tali tool hanno sull’essere umano. Volendo rendere l’informatica accessibile a tutti, di particolare interesse sono gli studi sulle misconcezioni, che si occupano di individuare i concetti che sono compresi male dai programmatori novizi, e gli studi sul commonsense computing, che cercano di capire come persone che non hanno mai ricevuto nozioni di programmazione o più in generale di informatica esprimano (in linguaggio naturale, ovviamente) concetti e processi computazionali.

Sebbene la programmazione sia solo uno degli aspetti della questione, è sicuramente l’aspetto centrale. I linguaggi di programmazione sono “il modo con cui gli informatici esprimono i concetti” e, non a caso, tanto gli studi degli anni Ottanta quanto quelli attuali si sono concentrati quasi esclusivamente su di essa o  sulle  attività  ad  essa  collegate  (algoritmi,  debug,  complessità, ecc.).  Visto che, pero, non possiamo partire da essa (almeno, non dall’insegnamento dei linguaggi general purpose), dovremo allora capire quali aspetti sono “intrinsechi” del pensiero computazionale e trovare modi di insegnarli che siano indipendenti dal linguaggio. Ricordando comunque che la vera potenza  e  originalità  dell’informatica  sta  proprio  nel  poter  eseguire  le  proprie astrazioni  (in  un  certo  senso  dando  loro  vita),  e  dunque  la  necessità  di  un formalismo con cui esprimere procedimenti effettivi permane (almeno per il prossimo futuro).

 

Precedente Il funzionamento dell'algoritmo di crittografia RSA Successivo Monitoraggio della sicurezza mediante la gestione dei log

Lascia un commento

*