Il pensiero computazionale

pensiero computazionale scuolaOgni giorno i computer, gli smartphone e i tablet ci aiutano a risolvere «problemi» piccoli e grandi: prenotare il biglietto per uno spettacolo, mettersi in contatto con qualcuno che si trova dall'altra parte del mondo, scrivere testi, creare video.
Tuttavia, è necessario che prima qualcuno abbia definito questi problemi e le strade più efficaci per poterli risolvere. Questo lavoro, il più delle volte a noi invisibile, è svolto dai programmatori e dagli ingegneri che si avvalgono di una «grammatica mentale» per affrontare i problemi, il pensiero computazionale, e di linguaggi specifici, i linguaggi di programmazione.
Il pensiero computazionale permette di definire che tipo di problema abbiamo di fronte e quindi di sviluppare possibili strategie di risoluzione, presentandole in modalità comprensibili sia dall'uomo che dai calcolatori elettronici. Questo tipo di pensiero si basa su alcuni principi fondamentali tra i quali:

  • la scomposizione di un problema complesso in sottoproblemi o unità più piccole e quindi più facili da gestire;
  • l'individuazione di pattern (schemi) comuni alla base di molti problemi ma formulati in maniera differente;
  • l'astrazione e la generalizzazione, i processi con cui una soluzione o alcuni suoi elementi possono essere generalizzati rispetto a una situazione specifica e quindi applicati per risolvere altri problemi;
  • gli algoritmi, cioè sequenze ordinate di operazioni che costituiscono il «libretto di istruzioni» per risolvere un problema.
    A prima vista può sembrare che tali principi hanno a che fare con il funzionamento di un cervello elettronico ma non ci riguardano più di tanto.

Eppure, basta poco per trovare esempi di pensiero computazionale nella vita quotidiana. Ad esempio, se vogliamo cucinare una torta per la prima volta, per non commettere errori probabilmente cercheremo sullo smartphone o sul computer la ricetta che contiene, oltre all'elenco degli ingredienti, la sequenza ordinata delle operazioni da compiere per risolvere il nostro «problema» gastronomico.
Un altro esempio, utile per capire il concetto di scomposizione: vi sarà capitato di prendere parte a un lavoro di gruppo per raggiungere un obiettivo, magari un problema troppo grande da risolvere tutto insieme, ma che è diventato affrontabile con la sua scomposizione in step progressivi da risolvere in sequenza o in sottoproblemi affrontati da diverse persone. Gli esempi potrebbero essere tanti: preparare una ricerca per la scuola, realizzare uno spettacolo, organizzare una festa di compleanno.
Questi sono casi di astrazione e generalizzazione. Il riconoscimento dei pattern, o schemi, è l'operazione che compiamo quando rileviamo uno schema simile o delle regolarità in situazioni diverse tra loro: se in un problema di matematica è dato un triangolo rettangolo del quale è richiesta la misura di un lato conoscendo gli altri due, sappiamo di dover applicare il teorema di Pitagora. Il riconoscimento dei pattern consente di ridurre la varietà dei problemi a un numero gestibile di situazioni e di applicare quindi per ciascuna di esse una o più strategie definite.