Pensiero Computazionale: cos’è, come funziona e perché è importante

“Il pensiero computazionale sarà un'abilità fondamentale utilizzata da tutti nel mondo entro la metà del 21° secolo.”

Queste le parole di Jeannette M. Wing, docente di Computer Science alla Carnegie Mellon University, a cui si fa risalire il primo utilizzo dell’espressione “pensiero computazionale” (Computational Thinking).

Secondo la Wing, infatti, il pensiero computazionale rappresenterà una competenza essenziale, così come lo sono leggere, scrivere e far di conto.

Citando sempre la docente universitaria:

“I metodi ed i modelli del pensiero computazionale metodi e modelli ci danno il coraggio di risolvere problemi e progettare sistemi che nessuno di noi sarebbe in grado di affrontare da soli.”

La sua tesi è espressa in un paper del 2006, citato migliaia di volte e diventato, subito, un contenuto essenziale per la comunità scientifica, e non solo.

Ma cos’è il pensiero computazionale, in cosa consiste, e perché è così importante?

Scopriamolo insieme.

Cos’è il pensiero computazionale

Per fornire una definizione, chiara e puntuale, del concetto di pensiero computazionale è opportuno rifarsi alle parole della Wing.

Il pensiero computazionale è un approccio alla risoluzione dei problemi, basato sui concetti fondamentali dell'informatica e, in particolare, della programmazione.

Si tratta di un processo analitico, attraverso il quale dato un problema da risolvere, si spacchetta il suddetto problema in tanti piccoli problemi, di più facile risoluzione.

Quindi, risolvendo i problemi più piccoli, si giunge alla risoluzione del problema iniziale.

Il pensiero computazionale si basa sull’astrazione

Il pensiero computazionale si fonda su un processo di astrazione, tipico dell’informatica.

Cosa vuol dire?

Volendo semplificare, potremmo dire che il processo di astrazione del pensiero computazionale si basa sulla nostra capacità di separare le informazioni di cui abbiamo bisogno da quelle che, invece, possiamo scartare.

Ad esempio, quando si sviluppa un algoritmo, si selezionano e filtrano una serie di input per ottenere un output, un risultato preciso, che parte però da un’astrazione.

Lavorando su più strati di astrazioni, il pensiero computazionale consente di individuare e comprendere le relazioni tra essi.

Le nostre capacità mentali, quindi di astrazione, si combinano poi con gli strumenti che la tecnologia ci mette a disposizione per effettuare i calcoli necessari (i computer, quindi).

In questo modo, dall’astrazione si passa all’automazione.

Questo, però, non deve farci cadere nell’errore secondo il quale gli uomini abbiano bisogno di una macchina per elaborare le informazioni, perché non è così.

Il pensiero computazionale è un'abilità umana. Non consiste, quindi, nel portare l’uomo a pensare come una macchina, un computer.

Rispondere alla domanda “Come posso risolvere questo problema?”

Il pensiero computazionale parte da una domanda molto semplice, “Come posso risolvere questo problema?”.

E’ evidente che in alcuni casi l’uomo è in grado di giungere alla conclusione in modo autonomo, altre volte necessita di un supporto meccanico (un computer), altre volte ancora è sufficiente solo l’intervento di un elaboratore abbastanza potente da processare le informazioni.

Ma il pensiero computazionale ci permette di non diventare schiavi della tecnologia, anzi, è il contrario.

Grazie all’applicazione del pensiero computazionale ai vari settori dello scibile umano (non solo le scienze, quindi) è possibile migliorare il livello di astrazione iniziale, sviluppando così sistemi più efficienti.

Astrazione ed elaborazione dei dati

“Sarà attraverso il pensiero computazionale - astrazioni per rappresentare ed elaborare i dati - che saremo in grado di estrarre le conoscenze sepolte all'interno o diffuse in tutti i dati.”

Secondo la professoressa Wing il pensiero computazionale ci permette di migliorare il nostro set di dati da analizzare ed elaborare, giungendo così ad acquisire maggiori informazioni contenute in questi dati.

Questo processo è in atto in moltissimi settori - pensiamo, ad esempio, al Machine Learning - ed influenza già i processi di formazione ai livelli più avanzati.

Portare il pensiero computazionale ai primi gradi di istruzione

Se volessimo garantire una base comune e solida per comprendere e applicare il pensiero computazionale per tutti, allora questo apprendimento dovrebbe essere fatto meglio nei primi anni dell'infanzia.

Non è un caso, infatti, che nei programmi scolastici si inizi a parlare di Coding, già alle elementari.

Il coding, infatti, si basa proprio sul pensiero computazionale, ma è importante focalizzarsi sull’insegnamento di quest’ultimo più che sulla programmazione in sé.

In effetti, attraverso la programmazione è possibile far capire ad un bambino che, ad esempio, un albero non è altro che una figura geometrica composta da più elementi - ad esempio un triangolo per raffigurare la chioma e un piccolo rettangolo con sviluppo verticale per il tronco.

Quindi, se il bambino vuole realizzare un albero, deve usare il pensiero computazionale e scindere il “problema albero” in due problemi più piccoli, ovvero la chioma e il fusto.

A questo punto, continuando con questo processo di astrazione, potrò risolvere il “problema chioma” individuando, in esso, la “soluzione triangolo” e così via.

In questo modo, il coding favorisce il pensiero computazionale, sviluppando la logica e la creatività.

Se vuoi approfondire il tema del pensiero computazionale, ti consigliamo di seguire questo intervento di Jeannette Wing in un evento organizzato da Microsoft Research del 2012.

https://www.youtube.com/watch?v=V9Xy18YEK9M

 

Autore: Francesco Ambrosino
fondatore di Socialmediacoso.it