Coding Lab: Progettazione Coding alla Scuola Secondaria

Lo studio del pensiero computazionale (adoperare i sistemi informatici per la risoluzione di problemi complessi) è prezioso per ogni studente e non solo per gli appassionati e programmatori.
Il tutto è in grado di rendere più efficace ed efficiente il processo di apprendimento di diverse tematiche: l’insegnamento dell’informatica non consiste solo nel formare migliori sviluppatori software, è invece necessario introdurre nuovi percorsi di educazione all’informatica.

Il pensiero computazionale si propone di applicare le nozioni acquisite in discipline eterogenee (matematica, italiano, arte..) e nella quotidianità. A tale scopo il computer diventa un mezzo che indirizza le conoscenze dello studente con il fine di migliorarne e arricchirne l’apprendimento.
Il computer costituisce un nuovo sistema di apprendimento tramite cui gli studenti diventano creatori del proprio processo di crescita. Gli studenti devono acquisire la consapevolezza che il computer non è solo un macchina con cui gestire informazioni, ma uno strumento da loro utilizzato per modellare, costruire, apprendere e scoprire.

Il linguaggio creato e ideato permette di applicare questi concetti costruendo, manipolando, testando, sbagliando e ricostruendo.
L’errore quindi non è più visto in ottica negativa, ma come un aspetto costruttivo del processo di apprendimento. Sbagliare significa studiare il malfunzionamento di un programma e individuare soluzioni alternative al problema e migliorare il risultato. Questi sono solo alcuni dei punti cardine della Scuola costruzionista rivolta al futuro.


L’avvicinamento alla logica del pensiero computazionale non è fine a se stesso. Anzi ha l’effetto di migliorare i processi cognitivi sviluppando competenze critiche. Ecco perché è una metodologia strategica nella scuola digitale.


Sicchè la programmazione in coding può essere affrontata sia nel modo ludico, quindi attraverso il gioco, sia nel modo più pratico avvicinandosi alle basi di informatica e sino a porre le basi per l’educazione alla robotica.
Per cui parallelamente alla didattica tradizionale si è affiancata in alcune classi una progettazione degli argomenti trattati anche in coding.


Cosa insegna il coding agli studenti?
Imparare a fare il coding non significa solo “programmare”, ma anche imparare a organizzare le idee, sviluppare il pensiero logico e critico e le capacità di problem solving. In particolare, un programma semplice e di facile apprendimento utilizzato per la programmazione veloce è stato SCRATCH. Esso è un programma open source, per cui gratuito e utilizzato sia in modalità online che offline oltre che applicato con qualunque tipo di device.
L’azione del linguaggio Scratch è basata sulla metafora del teatro/cinema – le “quattro S”: Stage (palcoscenico) Sprite (“oggetti” ovvero personaggi, attori) Script (“copione”, la parola Script sostituita successivamente da Code “codice”), Scratch (progetto / programma che mette assieme tutto questo). il programmatore, in questo caso l’alunno, si trova a ricoprire un ruolo sia di autore, di regista e di sceneggiatore.

E’ uno dei tanti software didattici innovativi ovvero un ambiente di programmazione a blocchi (oggetti) per il coding e la robotica educativa.
L’idea di utilizzare questo linguaggio è stato dovuto anche dalla intuitività del linguaggio di programmazione al fine di imparare importanti concetti di calcolo matematico, a ragionare in modo sistematico, usando la logica, e pensare in modo creativo e allo stesso tempo con semplicità.
Gli studenti sono stati capaci già dopo le prime lezioni di elaborare storie interattive, giochi, animazioni, dai livelli più semplici fino ai livelli avanzati sui temi degli argomenti assegnati in classe che spaziavano dalle Scienze Matematiche, Fisiche e Naturali. Anche la restituzione dei compiti è avvenuta in formato di codici.
In pratica la programmazione avviene tramite la scrittura di diverse istruzioni (gli script) che permettano ad un oggetto di fare determinate cose, svolgere la sua funzione o raggiungere uno scopo secondo il ragionamento deduttivo dello studente. L’interfaccia accattivante e le infinite combinazioni che gli studenti possono ottenere ha reso gli argomenti più semplici da affrontare e divertenti nello sviluppo.
Il raggiungimento di questo obiettivo è uno dei fini progettuali: Utilizzare il pensiero computazionale e i suoi algoritmi per raggiungere un risultato che normalmente avverrebbe con più difficoltà.
Il fine è stato dato soprattutto perchè tale metodica tocca i diversi canali di apprendimento sensoriali che ogni singolo alunno possiede e consente di avvantaggiare o compensare chi utilizza di più un canale rispetto ad un altro.
Si è partiti con lezioni in aula e assegnazione di corsi coding specifici sulla base degli obiettivi da raggiungere.
Consegnando dei codici personali con cui gli studenti, comodamente da casa, hanno avuto la possibilità di entrare nell’aula virtuale di coding a loro dedicata e da remoto il docente ha potuto monitorare gli avanzamenti di ciascun allievo e controllarne i risultati.
Il Coding è anche un modo divertente e appassionante per portare il pensiero computazionale in classe, poiché consente di esprimere se stessi e permette allo studente di migliorare le proprie capacità di logica, di analisi e di sintesi.
Permette di sperimentare, senza paura di sbagliare; nel processo di apprendimento si consolida la consapevolezza che l’errore deve essere accettato come parte integrante dell’apprendimento e del processo educativo, diventando un’opportunità per scoprire nuove idee per arrivare alla soluzione. L’errore può essere trasformato in un momento costruttivo di valutazione, di apprendimento e di crescita. L’ errore riconquista una valenza positiva, attraverso la sperimentazione pratica, per andare oltre ovvero verso uno stimolo al miglioramento. Il ripetere le operazioni e scoprire finalmente l’algoritmo (le sequenze di istruzioni) più adeguato per raggiungere il risultato atteso arricchisce l’entusiasmo.

L’utilizzo di questi software di programmazione da parte degli studenti richiede la conoscenza dell’uso dei “mattoncini” della programmazione: le funzioni, le variabili, le iterazioni, le condizioni da rispettare, ecc.
Dietro ogni mattoncino di diverso colore c’è un linguaggio di programmazione di cui gli alunni ne prendono sempre più conoscenza.
Stimolare gli allievi ad apprendere i meccanismi logici è anche utile ai fini del curriculum scolastico e personale, inoltre questi programmi offrono suggerimenti e opportunità per collaborare a esprimersi attraverso la l’efficacia e versatilità della tecnologia.
L’esperienza raccolta nel coding come attività didattica trasversale consente di integrare le idee computazionali nelle diverse discipline e in attività di programmazione funzionali alla didattica interdisciplinare.
Le lezioni tradizionali sono state affiancate da un ritorno dei compiti mediante anche elaborati scritti in codici. Il tutto affina la loro creatività. La memorizzazione di certi concetti che potrebbero risultare in primo luogo e per la loro età abbastanza complessi viene resa più semplice.
Si può quindi sostenere che il coding è un’attività sicuramente utile a sviluppare proposte didattiche innovative e inclusive, e a valutare le competenze. L’attuazione di una formazione scientifica indirizzata anche alla dimensione umanistico-espressivo-creativa è da considerarsi indispensabile alla pratica del pensiero computazionale.

Daniele Giungato