/Competenze che servono al futuro: il pensiero computazionale

Competenze che servono al futuro: il pensiero computazionale

George Forsythe, analista numerico ed uno dei padri della formazione universitaria in informatica, nel 1968 scrisse “le acquisizioni più valide nell’educazione scientifica e tecnologica sono quegli strumenti mentali di tipo generale che rimangono utili per tutta la vita. Ritengo che il linguaggio naturale e la matematica siano i due strumenti più importanti in questo senso e l’informatica sia il terzo”.

Il pensiero computazionale è un processo mentale per la risoluzione di problemi costituito dalla combinazione di metodi caratteristici e di strumenti intellettuali, entrambi di valore generale.
 
I metodi caratteristici includono:
  • analizzare e organizzare i dati del problema in base a criteri logici;
  • rappresentare i dati del problema tramite opportune astrazioni;
  • formulare il problema in un formato che ci permette di usare un “sistema di calcolo” (nel senso più ampio del termine, ovvero una macchina, un essere umano, o una rete di umani e macchine) per risolverlo;
  • automatizzare la risoluzione del problema definendo una soluzione algoritmica, consistente in una sequenza accuratamente descritta di passi, ognuno dei quali appartenente ad un catalogo ben definito di operazioni di base;
  • identificare, analizzare, implementare e verificare le possibili soluzioni con un’efficace ed efficiente combinazione di passi e risorse (avendo come obiettivo la ricerca della soluzione migliore secondo tali criteri);
  • generalizzare il processo di risoluzione del problema per poterlo trasferire ad un ampio spettro di altri problemi.
Questi metodi sono importanti per tutti, non solo perché sono direttamente applicati nei calcolatori (computer ), nelle reti di comunicazione, nei sistemi e nelle applicazioni software ma perché sono strumenti concettuali per affrontare molti tipi di problemi in diverse discipline.
 
Gli strumenti intellettuali includono:
  • confidenza nel trattare la complessità (dal momento che i sistemi software raggiungono normalmente un grado di complessità superiore a quello che viene abitualmente trattato in altri campi dell’ingegneria);
  • ostinazione nel lavorare con problemi difficili;
  • tolleranza all’ambiguità (da riconciliare con il necessario rigore che assicuri la correttezza della soluzione);
  • abilità nel trattare con problemi definiti in modo incompleto;
  • abilità nel trattare con aspetti sia umani che tecnologici, in quanto la dimensione umana (definizione dei requisiti, interfacce utente, formazione, …) è essenziale per il successo di qualunque sistema informatico;
  • capacità di comunicare e lavorare con gli altri per il raggiungimento di una meta comune o di una soluzione condivisa.
In poche parole, mediante il pensiero computazionale si definiscono procedure che vengono poi attuate da un esecutore, che opera nell’ambito di un contesto prefissato, per raggiungere degli obiettivi assegnati. 
 
 
Capire cosa sarà utile nel futuro è difficile però una via di uscita è rappresentata dal privilegiare l’apprendimento di competenze metodologiche su quelle tecnologiche. La tecnica ha ormai raggiunto un ritmo di aggiornamento elevatissimo. La tecnologia che possiamo imparare oggi presumibilmente tra 20 anni sarà marginale.
 
In questa direzione, la migliore possibilità è impadronirsi di quelle che possiamo chiamare meta-competenze, cioè competenze che aiutano ad acquisire competenze. In tal modo, qualunque sarà l’effettiva capacità che servirà tra 20 anni, quando sarà il momento avremo più facilità ad assimilarla.
 
Il pensiero computazionale costituisce una meta-competenza, perché la sua applicazione sviluppa la capacità di mettersi nei panni di un esecutore che deve raggiungere un obiettivo e di formulare una procedura che lo guidi ad ottenere tale risultato dato il contesto in cui opera. 
 
Il contesto operativo in cui si può apprendere questa meta-competenza è quello del coding, cioè la programmazione informatica, che proprio per questo sta venendo introdotta, nei suoi aspetti culturali e metodologici, nei programmi educativi delle scuole.