Un recente rapporto ha analizzato le modalità e la diffusione dell’insegnamento del pensiero computazionale nella scuola dell’obbligo di diversi Paesi. In Italia il pensiero computazionale e il coding non sono ancora un insegnamento obbligatorio, ma nella pratica sono molto diffusi.
Di seguito, una breve rassegna di nuovi ambiti applicativi del coding fra machine learning e realtà virtuale utilizzati nelle scuole, ma sempre più applicati anche in ambiti differenti.
Coding a scuola, manca ancora qualcosa: approcci e competenze necessari
Dal pensiero computazionale al coding: cosa è e perché è utile alla formazione
Nel 1994 al convegno “Mondi artificiali” a Venezia, ho avuto la fortuna di conoscere il filosofo, matematico e pedagogista Seymour Papert: parlava di micromondi, ambienti per facilitare l’apprendimento della matematica o di altre discipline, in cui la conoscenza era costruita per esperienza diretta.
Usava i LEGO (che allora non erano da nerd) e aveva creato il LOGO, un linguaggio di programmazione. Parlava di “pensiero computazionale” (Computational Thinking) riferito a bambini che grazie al computer avrebbero avuto strumenti per esprimere la loro creatività e un accesso diretto alla conoscenza, voleva creare strumenti per renderli autonomi già a due anni. Immaginava i computer in classe come strumenti rivoluzionari per cambiare la scuola.
A trent’anni di distanza, le sue intuizioni si sono avverate: oggi il pensiero computazionale è considerata una abilità indispensabile al pari di leggere, scrivere e contare e quindi non riservata agli informatici, un modo di ragionare che non è dipendente dalla tecnologia per imparare tecniche di problem posing e solving.
Il pensiero computazionale aiuta a sviluppare processi di astrazione, generalizzazione, scomposizione, valutazione e la definizione di algoritmi, espressi in linguaggi di programmazione. Il coding – secondo Alessandro Bogliolo instancabile divulgatore – è “l’utilizzo didattico e ludico di strumenti intuitivi di programmazione per favorire lo sviluppo del pensiero computazionale e comprendere gli aspetti algoritmici della vita quotidiana e di ogni disciplina di studio”. Si tratta di una competenza specifica che non è assimilabile alle altre competenze digitali.
Il coding nella scuola dell’obbligo in Europa e nel mondo
Il primo rapporto europeo[1] sullo sviluppo del pensiero computazionale nell’istruzione obbligatoria è del 2016 e ha indagato come il pensiero computazionale fosse inserito nei curricula in diversi Paesi, anche extraeuropei.
In Italia, era appena stato pubblicato il Piano Nazionale Scuola Digitale che ha riservato all’introduzione del pensiero computazionale nella scuola primaria una specifica azione, grazie anche al supporto dell’iniziativa “Programma il futuro”.
Oggi le competenze digitali sono uno dei pilastri dello sviluppo dell’Unione Europea e il Digital Education Action Plan 2021-27 invita allo sviluppo della “computer education” fin dalla più tenera età.
A marzo 2022, il JRC ha pubblicato il nuovo rapporto “Reviewing Computational Thinking in Compulsory Education”[2], che esamina l’integrazione del pensiero computazionale nelle scuole dell’obbligo in 29 paesi, europei ed extraeuropei: 18 Paesi EU e 7 Paesi extra UE hanno già reso obbligatorio l’insegnamento del coding, dei 4 rimanenti la Danimarca sta svolgendo un’iniziativa pilota, mentre Italia, Slovenia e Repubblica Ceca hanno in programma politiche in questo senso.
L’implementazione di tale insegnamento avviene sostanzialmente in tre modalità: – come insegnamento transdiciplinare, come disciplina autonoma e all’interno dell’insegnamento di materie specifiche (es. matematica/tecnologia).
In generale, nel primo ciclo si adotta una metodologia legata all’imparare facendo, lavorando in gruppo per trovare soluzioni a problemi reali o sviluppando giochi, animazioni. Nelle scuola secondaria di primo grado si lavora sul problem solving, basato sull’apprendimento per prove ed errori e in modalità individuale. Rispetto al rapporto precedente, si evidenzia come si tratti ormai di competenze che i Ministeri dell’Educazione ritengono strategiche per i loro studenti.
Coding a scuola in Italia: linguaggi e piattaforme più usate
In Italia, esistono diverse raccomandazioni nazionali sull’uso del coding a scuola.
Invalsi, in un recente articolo, sottolinea la valenza didattica del coding per sviluppare la creatività, il problem solving e il lavoro di squadra; inoltre riassume le principali piattaforme tra cui Scratch, Code.org, CodeAcademy, Minecraft e LegoStorm.
Il linguaggio più diffuso è Scratch nella scuola primaria, mentre comincia a diffondersi l’uso di App Inventor nelle scuole secondarie di primo e secondo grado.
Esistono in realtà tanti linguaggi di programmazione quasi quante lingue nel mondo e c’è un dibattito anche sull’utilizzo dei linguaggi visuali e a blocchi, come Scratch che avrebbero limiti intrinsechi e non permetterebbero di comprendere la vera natura della programmazione.
Un’alternativa che supera questi limiti ed è open, è SNAP dell’Università di Berkley per chi ama utilizzare strutture a blocchi e grafiche. Anche Python è una valida alternativa con un’interfaccia testuale che si presta molto bene all’uso didattico: il prof. Angelo Meo, pioniere dell’informatica italiana, con il suo team ha creato un intero corso online, disponibile sulla piattaforma FARE del Politecnico di Torino.
Stefano Penge, docente, imprenditore e filosofo, sostiene che scrivere linee di codice sia una forma d’arte: per questo, ha costituito un’associazione finalizzata alla creazione di un mostra, che si chiama Codexpo.
Penge ha scritto vari libri sul tema coding tra cui “Lingua, programmi e creatività” in cui sostiene che il coding possa essere “una metodologia che consente di affrontare in maniera più efficace lo studio di qualsiasi disciplina e “Dati Cittadinanza e Coding” con esempi sul reperimento e l’uso di “dati educativi”.
Le nuove applicazioni per il coding: machine learning, IA, musica e 3D
L’ Associazione Dschola – Le scuole per le scuole, attiva in Piemonte e Valle D’Aosta da circa venti anni, promuove l’innovazione tecnologica e l’uso del coding a scuola, attraverso varie iniziative di formazione per gli insegnanti e gli studenti, l’Italian Coding Festival e corsi nelle scuole di Scratch e App Inventor sostenuti dalla Fondazione CRT di Torino.
Nel maggio 2022, l’Associazione DSchola ha organizzato alcuni webinar sul tema coding, machine learning, IA, musica e realtà virtuale, per presentare nuove tecniche e metodologie sostenibili e già in uso nelle scuole.
L’ISITIP di Verres (AO) ha promosso nell’insegnamento di Educazione Civica due Unità Didattiche di Apprendimento (UDA): una sull’Intelligenza artificiale e impatto sociale e una sul machine learning e lo sviluppo sostenibile.
Quest’attività è stata volta all’interno del progetto “Retebrain”, una rete nazionale di scuole del primo e del secondo ciclo per la sperimentazione di metodologie didattiche innovative basate sull’intelligenza artificiale: il progetto avviato nel 2021 ha come capofila l’IIS “A.Volta” di Pescara e mette a disposizione online alcune pillole formative.
Dopo aver fornito concetti generali sul tema dell’IA, degli ambiti applicativi dell’etica, sono state sviluppate applicazioni utilizzando semplici esercizi per addestrare al riconoscimento di pesci nel mare utilizzando la piattaforma code.org e classificare rifiuti con la piattaforma Machine learning for kids, che permette di creare modelli predittivi utilizzando Scratch, Python e App inventor con funzioni ulteriori appositamente sviluppate.
“Machine Learning for kids” fornisce, fra le altre, librerie per riconoscere le posizioni del corpo. Il progetto, presentato dall’ITIS “Dal Pozzo” di Cuneo aveva come obiettivo la riabilitazione fisica della mano. In questo caso, oltre alla piattaforma è stata utilizzata la piattaforma TensorFlowHub di Google. Il progetto è stato sviluppato all’interno di EDU4AI, iniziativa Erasmus+ per l’insegnamento dell’IA nella scuola secondaria che vede la Fondazione Mondo Digitale come partner italiano.
Live coding, realtà virtuale e realtà aumentata
“Se si vuole imparare la musica, è bene suonare uno strumento. Cosa può dare un pianoforte a qualcuno, che non gli può dare un libro? È la stessa risposta. Il pianoforte consente di fare qualcosa con la musica, di renderla propria, di esprimere sé stessi” affermava Papert in un’intervista del 1997. “Nel libro si può leggere sulla musica, ma non è la stessa cosa. Con la conoscenza matematica, il computer è come il pianoforte. Consente di suonare la conoscenza; il libro ce la può solo dare.”
Il live coding, ovvero creare musica sviluppando programmi in diretta, non è un’idea nuovissima, ma grazie a Sonic PI quest’attività è alla portata di tutti. Sam Aaron ha creato questo linguaggio di programmazione che permette di scrivere codice che diventa musica suonata sul proprio PC grazie all’utilizzo di strumentazioni quali sintetizzatori o campioni già predefiniti. Dal sito di Sonic PI è possibile scaricare e installare il software, trovare un manuale e un tutorial per provare le istruzioni base. Aaron è stato ospite della Fondazione Golinelli nel 2020 e in questo bell’articolo descrive bene il legame fra pensiero computazionale e musica.
Grazie alla piattaforma CoSpaces è invece possibile cimentarsi nella creazione di mondi 3D e ambientazioni di realtà virtuale, quindi con un approccio non passivo. Oltre ad una libreria gratuita di ambienti, di personaggi e di oggetti, rigorosamente in 3D, CoSpaces offre un linguaggio a blocchi per programmare – come in Scratch – la scena che si sta creando per poi visualizzarla in realtà virtuale utilizzando il proprio smartphone inserito in uno dei tanti visori esistenti, come il Google Cardboard.
Metaverse è invece il nome di un sito che premette di provare a sviluppare, in maniera semplice ed amichevole, esperienze di realtà aumentata attraverso l’utilizzo di scene e blocchi funzioni che le collegano, senza dover scrivere codice. È poi possibile vedere le esperienze create attraverso l’uso di uno smartphone o di un tablet, “aumentando” la realtà che ci circonda con oggetti virtuali in 3D che si comporteranno in base ai comandi assegnati loro.
Il prof. Alberto Barbero dell’IIS “Vallauri” di Fossano (CN) ha proposto il seminario su questi ambienti così diversi come stile di programmazione, perché ritiene che possano essere inseriti nella didattica ordinaria dell’informatica non solo per innovarla ma anche per aumentare l’interesse per la disciplina da parte dei ragazzi e delle ragazze amanti della musica elettronica o che vogliono sperimentare nuove tecnologie che li vedranno protagonisti in un prossimo futuro.
Low code – No Code: il coding oltre i banchi di scuola
L’utilizzo di sistemi di programmazione a blocchi è andato oltre a quello dei banchi di scuola: oggi le applicazioni cosiddette low code, permettono ai programmatori professionisti di utilizzare parte di codice “prefabbricato” per facilitare e velocizzare la costruzione di applicazioni, orientate a generare servizi su dati preesistenti, ad esempio per fare reportistica avanzata, utilizzare librerie di apprendimento automatico, automazione dei processi robotici. Questo approccio può richiedere l’integrazione di codice che può essere aggiunto a mano.
Le applicazioni no-code invece sono basate completamente sull’utilizzo di blocchi visuali e sono indirizzate a persone senza competenze o molto basilari di coding: tanto che si parla di “citizen developer”. Sono utilizzate da settori aziendali non direttamente coinvolti nei servizi IT ma che hanno esigenza di creare siti web o app, o di personalizzare dei servizi. Le piattaforme nocode sono di solito molto più “chiuse” perché non permettono sviluppi aggiuntivi, ma in questo modo garantiscono ai sistemi una maggiore integrazione.
Le piattaforme LC/NC non soddisfano ancora pienamente le esigenze del mercato, spesso sono troppo costose e appunto rigide ma si tratta di un mercato molto promettente – Gardner prevede per il 2030 un giro d’affari di 187 miliardi – infatti dopo IBM, Oracle hanno Google ha appena annunciato investimenti in questo campo.
Conclusioni
Il coding è ormai presente nella vita quotidiana e professionale: il citizen developer utilizza questi strumenti per configurare a casa propria il sistema di sicurezza e di comfort ambientale, un creator di ambienti virtuali lo usa per disegnare ambienti, oggetti e servizi nel mondo virtuale, un account per realizzare un cruscotto personalizzato per il proprio cliente.
Nato come strumento per aumentare la creatività e l’espressività delle bambine e dei bambini, il coding sta diventando anche uno strumento per aumentare la produttività, in un processo di democratizzazione degli strumenti tecnologici. Ma utilizzare il pensiero computazionale non ci dovrà mai limitare nell’esercitare tutta la gamma di pensiero che abbiamo a disposizione.
__________________________________________________________________________________
Note
- Kampylis, P. and Punie, Y., editor(s), Bocconi, S., Chioccariello, A., Dettori, G., Ferrari, A. and Engelhardt, K., “Developing Computational Thinking in Compulsory Education – Implications for policy and practice”, EUR 28295 EN, Publications Office of the European Union, Luxembourg, 2016, ISBN 978-92-79-64442-9 (online),978-92-79-74186-9 (ePub), doi:10.2791/792158 (online),10.2791/715431 (ePub), JRC104188. https://publications.jrc.ec.europa.eu/repository/handle/JRC104188 ↑
- Bocconi, S., Chioccariello, A., Kampylis, P., Dagienė, V., Wastiau, P., Engelhardt, K., Earp, J., Horvath, M.A., Jasutė, E., Malagoli, C., Masiulionytė-Dagienė, V. and Stupurienė, G., “Reviewing Computational Thinking in Compulsory Education”, Inamorato Dos Santos, A., Cachia, R., Giannoutsou, N. and Punie, Y. editor(s), Publications Office of the European Union, Luxembourg, 2022, ISBN 978-92-76-47208-7, doi:10.2760/126955, JRC128347. https://publications.jrc.ec.europa.eu/repository/handle/JRC128347 ↑