Il pensiero computazionale è la capacità di individuare un procedimento costruttivo fatto di istruzioni semplici, ordinate e non ambigue che ci porta alla risoluzione di un problema complesso¹. Si parla quindi della capacità di individuare non solo la soluzione, ma il procedimento per trovarla. Ci sono vari modi di allenare questa capacità, anche se quando si parla di pensiero computazionale e, più spesso di coding, si tende a pensare in modo quasi automatico a computer, tablet, robot e dispositivi elettronici di ogni genere. Per avvicinarsi ai principi della programmazione non è necessario avere a disposizione questi strumenti, ma più semplicemente si possono realizzare in classe esperienze di apprendimento di coding unplugged.
Unplugged letteralmente significa “staccato dalla presa elettrica”, “non connesso”. Le attività unplugged sono, quindi, tutte quelle attività che non prevedono l’utilizzo di dispositivi elettronici. Concentrarsi su attività unplugged permette di mettere da parte le difficoltà tecnologiche (legate spesso anche alla scarsa disponibilità di dispositivi a scuola e a casa) e soffermarsi invece sugli aspetti concettuali. Spesso nella nostra vita quotidiana si svolgono attività unplugged come cucinare seguendo una ricetta, montare un mobile Ikea o un modello Lego seguendo le istruzioni o raggiungere un luogo seguendo le indicazioni fornite. Queste attività possono essere trasformate in esperienze didattiche significative soffermandosi sui passaggi che si eseguono, spesso in modo inconsapevole, per arrivare alla conclusione del compito, prestando soprattutto attenzione all’ordine in cui vengono effettuate le azioni e alla necessità di fornire istruzioni semplici e non ambigue.
Lo sviluppo di questa abilità minima di ragionamento algoritmico (pensiero computazionale) diventa essenziale nel nostro tempo per esercitare appieno i propri diritti di esseri umani e di cittadini nel contesto sociale in cui si vive. L’assenza di questa abilità minima comporta una forma di analfabetismo funzionale che limita la capacità di espressione e di realizzazione personale. La fluidità computazionale, quindi, ha a che fare non solo con la comprensione di concetti computazionali e strategie di problem solving, ma anche con la capacità di creare e sapersi esprimere con le tecnologie digitali per contribuire attivamente alla società, verso la piena cittadinanza digitale. Le attività di coding, inoltre, prediligono, per le loro caratteristiche intrinseche, un approccio metodologico di tipo cooperativo centrato sul ruolo del singolo in interdipendenza positiva con i membri del gruppo. Gli alunni, in gruppo, attraverso attività di coding, possono affinare o potenziare le proprie abilità sociali, fondamentali per sostenere e gestire un’interazione in coppia o in gruppo. Queste riflessioni assumono maggior rilevanza quando si osservano in particolare le attività di programmazione – imputazione dei comandi. Tali attività nella dimensione di coppia o gruppo chiamano in causa il concetto e la pratica della turnazione. La turnazione evidenzia la stretta correlazione tra Funzioni Esecutive² e Abilità sociali³. Mentre un alunno detta i comandi su carta e attende che il compagno trovi riga e colore, gli viene richiesto un certo livello di controllo inibitorio. Si tratta non solo di “attendere il turno” ma anche di “dare tempo all’altro per eseguire”. Si comprende che l’altro può avere caratteristiche diverse (abilità, tempi), imparando ad accettarsi e a sostenersi a vicenda.
Per questo motivo le attività di coding risultano altrettanto funzionali se realizzate secondo un modello di peer tutoring dove studenti più abili o socialmente più qualificati lavorano assieme ad altri con caratteristiche diverse. La turnazione nel coding, può diventare una sorta di routine cognitiva, dove i movimenti degli studenti nello spazio o “vissuti” sui comandi, forniscono struttura cognitiva e sociale. La turnazione comporta “attesa”, ma perché sia davvero efficace è necessario “ascolto”, che nel coding si traduce in “ascolto-controllo del comando altrui” (che è anche proprio, visto che vi è uno scopo comune da perseguire), il quale a sua volta, comporta o può comportare “aiuto” se il compagno è in difficoltà. Un altro aspetto importante da tenere presente è che il coding non è una disciplina a cui l’insegnante deve dedicare del tempo, ma anche un metodo, una pratica da applicare in modo creativo a quello che già viene fatto in classe. Le attività di coding unplugged si inseriscono con facilità nella pratica didattica quotidiana e permettono di sviluppare competenze interdisciplinari (i percorsi di Cody Roby sulla griglia – pavimento oltre che sviluppare capacità logiche e matematiche affinano anche le abilità di orientamento spaziale, di coordinazione motoria e di lateralizzazione, migliorano le abilità comunicative e linguistiche). Gli studenti, inoltre, realizzando attività di coding unplugged scoprono e vivono forme di piacere emotive, cognitive e relazionali che permettono loro di attivare e sperimentare la motivazione intrinseca, fondamentale per un apprendimento significativo e stabile.
Autrice: Donatella Collodel
____________________________________________________________
¹ Alessandro Bogliolo “Coding in your classroom Now!”,
² Le Funzioni Esecutive sono “quelle abilità che permettono ad un individuo di anticipare, progettare, stabilire obiettivi, attuare progetti finalizzati a uno scopo, monitorare e autoregolare il proprio comportamento per adeguarlo a nuove condizioni.”
³ Le abilità sociali, cioè i comportamenti che la persona manifesta nel contesto interpersonale, costituiscono la base e la precondizione per lo sviluppo di un’adeguata competenza. Il coding funge da catalizzatore, facilitatore, sfondo per lo sviluppo delle abilità sociali.