Alla scoperta del pensiero computazionale e del problem solving
Il pensiero computazionale, in inglese computational thinking, è stato introdotto per la prima volta nel 2006 dall’informatica americana Jeannette Wing. Secondo la Wing il pensiero computazionale ci permette di “riformulare un problema apparentemente difficile in uno che siamo in grado di risolvere, anche riducendolo, incorporandolo in un altro, trasformandolo o simulandolo”.
In sostanza, si tratta di un mix di abilità cognitive che possono aiutarci tanto a risolvere i problemi di ogni giorno, quanto quelli più complessi. Queste abilità, che si rivelano preziose per tutti e non solo per gli informatici, sono annoverate in sede europea tra le competenze chiave per i cittadini, e sono ritenute competenze di base da apprendere nella scuola, accanto a saper leggere, scrivere e fare calcoli!
In cosa consiste il pensiero computazionale e come allenarlo?
Questa competenza si compone delle seguenti operazioni:
1. La scomposizione del problema in piccole parti;
2. L’analisi dei dati e la loro organizzazione logica;
3. L’individuazione di elementi ricorrenti in situazioni diverse;
4. La schematizzazione delle informazioni;
5. Organizzare le istruzioni per la risoluzione dei problemi (creare algoritmi);
6. Infine saper trarre insegnamento da quanto si è affrontato per la risoluzione di futuri problemi.
Ma facciamo qualche esempio: quando il/la bambino/a impara ad allacciarsi le scarpe sta costruendo nella sua mente un algoritmo, ovvero una sequenza di operazioni che gli permettono di arrivare da un punto di partenza a un obiettivo (avere le scarpe allacciate). Tale algoritmo sarà poi generalizzato per essere applicato a tutte le situazioni simili.
Applica il pensiero computazionale anche lo studente che risolve un problema matematico: il problema richiede di analizzare e organizzare i dati, scomporlo in parti più semplici e quindi applicare gli algoritmi risolutivi (es. le operazioni) utilizzati in altri problemi con una struttura analoga.
Oltre a questi esempi presi dalla vita quotidiana, ci sono tanti strumenti online che permettono di giocare insieme ai propri figli allenando il pensiero computazionale, la creatività e il problem-solving.
Il più famoso è sicuramente Scratch (https://scratch.mit.edu/), un ambiente digitale progettato dal MIT di Boston che permette di inventare animazioni, storie, videogame, disegni artistici… il limite è solo la vostra fantasia!
Tutti questi prodotti vengono creati utilizzando un linguaggio a blocchi, costruendo quindi sequenze di istruzioni che permettono di definire comportamenti e l’interazione dei personaggi e degli sfondi. Se i vostri figli hanno tra i 4 e i 6 anni vi consigliamo ScratchJr (https://www.scratchjr.org/) la versione per i piccoli del mondo Scratch!
Un’altra piattaforma molto famosa per allenare il pensiero computazionale è Code.org (https://code.org/): all’interno di essa troverete tanti esercizi guidati che vi permetteranno di scoprire il monto della programmazione, giocando con i concetti fondamentali dell’informatica.
Se invece volete divertirvi usando “carta e penna” (il cosiddetto coding unplugged) vi consigliamo di scaricare l’ebook gratuito Computer Science Unplugged (qui lo trovate in italiano https://classic.csunplugged.org/books/) oppure di fare un giro su Programma il Futuro (https://programmailfuturo.it/come/primaria/lezioni-tradizionali) con tantissimi spunti curiosi ed esercizi simpatici che vi faranno scoprire gradualmente argomenti come i numeri binari, gli algoritmi, i grafi e tanto altro!
Il pensiero computazionale e i suoi vantaggi
Il coding, grazie all’uso dei tanti linguaggi di programmazione disponibili, ci consente di allenare queste abilità attraverso la creazione delle “liste di istruzioni” che servono per risolvere un problema.
Inserire esperienze di coding nel gioco consente ai bambini di sviluppare sia competenze digitali che competenze trasversali.
Infatti le attività di coding possono richiedere l’interazione dei bambini con i robot;
il/la bambino/a può trovarsi ad interagire con vari strumenti digitali come computer o tablet; spesso si trovano a condurre ricerche in internet, esplorare interfacce e organizzare o trasferire i file.
Tutti questi sono esempi di competenze digitali che possono essere allenate e rappresentano una vera opportunità di crescita per i bambini di oggi.
Mentre gioca con il coding, il/la bambino/a esercita anche altre competenze: impara a pianificare il suo lavoro, si abitua a provare e riprovare finché non riesce nell’obiettivo, impara a valorizzare l’errore.
Queste sono le famose competenze trasversali, in inglese soft skills, riconosciute in tutto il mondo come indispensabili per vivere e lavorare nella società del XXI secolo.
E non dimentichiamo un ultimo aspetto fondamentale: programmare, creare sequenze di blocchi, inventare prodotti digitali partendo dalle proprie passioni e dai propri interessi, costruire robot, sono tutte attività che permettono ai nostri bambini di “capovolgere” il paradigma comune di uso della tecnologia! Da fruitori passivi si trasformano in progettisti attivi (come aveva già proposto Seymour Papert negli anni ‘80 ) e questo permette loro di scoprire come funziona il mondo del digitale e di diventare cittadini più consapevoli.
Ora che conosciamo le potenzialità del coding e l’importanza del pensiero computazionale...via libera al gioco e alla sperimentazione!