Prefazione re se funziona è testarlo e farlo testare ad altri, ed eventualmente andare a caccia di bug, cioè di errori, e di correggerli. Un approccio di questo tipo può essere utile in molti ambiti della vita: per liberarsi dal perfezionismo che spesso è causa di procrastinazione e insoddisfazione, per essere aperti all’imprevisto, per sviluppare in generale il cosiddetto growth mindset (l’idea cioè che l’intelligenza possa essere accresciuta con l’impegno e la passione per le sfide). Da quanto detto finora appare chiara la risposta alla domanda con cui abbiamo iniziato questa riflessione: il pensiero computazionale ha un’importanza e una portata tali da non poter più essere trascurato nell’educazione. Proprio per questo, molti paesi l’hanno introdotto nei programmi scolastici, fin dalla scuola primaria. Anche l’Italia si sta muovendo in questa direzione.
3 Pensiero computazionale nella scuola primaria:
come?
Concetti, pratiche e prospettive del pensiero computazionale L’introduzione dell’insegnamento di una nuova e così rilevante area della conoscenza richiede l’individuazione attenta di concetti, pratiche e prospettive che saranno oggetto di apprendimento, studio e valutazione. Senza entrare nel dettaglio, proviamo ad elencare ciò che, secondo la ricerca attuale, fa parte del pensiero computazionale5. Nelle pagine di questo libro incontrerete molti degli elementi elencati in seguito. • Progettando e programmando, i bambini incontrano una serie di concetti che sono comuni a tutti i linguaggi di programmazione: – sequenze: identificare una serie di passi ordinati per risolvere un problema; – condizionali: prendere decisioni in base al verificarsi o meno di una certa condizione; – ripetizioni: eseguire più volte le stesse istruzioni senza doverle riscrivere; – eventi: eseguire istruzioni nel momento in cui accade qualcosa; – parallelismo: far sì che più istruzioni siano eseguite contemporaneamente; – operatori: scrivere espressioni matematiche e logiche; – dati (collezione, analisi, rappresentazione): raccogliere, memorizzare, analizzare e rappresentare informazioni. • Programmando e sviluppando il pensiero computazionale non si apprendono solo concetti, si apprendono anche pratiche, cioè nuovi modi di lavorare e di pensare: – essere incrementali e iterativi: sviluppare un progetto per raffinamenti successivi; – testing e debugging: provare il progetto alla ricerca di errori, e poi risolverli; – riuso e remixing: costruire qualcosa di nuovo sulla base di programmi già scritti da altri; 5 http://scratched.gse.harvard.edu/ct/
9