Abbiamo sempre parlato della necessità di introdurre la programmazione nelle strutture educative tradizionali, ma non vogliamo solo vedere bambini che scrivono codice, vogliamo anche costruendo e divertendosi con esso. Questa idea ci porta a iniziative come Open Roberta, una piattaforma open source che unisce programmazione visuale con robotica, con il potenziale per diventare un ecosistema compatibile con un'ampia varietà di dispositivi.
Quando prendiamo le parole «programmazione» e «robotica» per portarle in una scuola, è probabile che ricordiamo cose come il linguaggio di programmazione Logo e le corrispondenti «tartarughe robotiche» comparse sul mercato. Quando ho imparato Logo a scuola, la tartaruga robotica è brillata per la sua assenza, ma il suo equivalente digitale mi è servito come «porta d'ingresso» al mondo dell'informatica. Oggi i più piccoli hanno smartphone, tablet, console iperconnesse, televisori intelligenti e altre risorse straordinarie che in un certo senso lottano per conquistare un posto nelle aule. Naturalmente, abbiamo bisogno degli strumenti adeguati, perché l'apprendimento non riguarda solo gli studenti, ma anche gli insegnanti. Imparare a programmare e controllare robot nel processo è efficace, dinamico e decisamente divertente. Detto questo, facciamo spazio a Open Roberta.
La struttura completa di Open Roberta forse è un po' difficile da spiegare, ma cominciamo con questo: si tratta di una piattaforma che consente a bambini, adolescenti e insegnanti di programmare robot Lego Mindstorms EV3 direttamente dal browser. La piattaforma funziona interamente nel cloud, quindi può essere utilizzata immediatamente, senza scaricare dipendenze o moduli aggiuntivi. Il linguaggio di programmazione visuale, chiamato NEPO, si basa sul linguaggio Blockly di Google (uno dei principali partner del progetto), e con un'istruzione minima gli studenti avranno la possibilità di controllare sensori, motori e il modulo EV3-Brick senza problemi. Un altro aspetto interessante è che il server remoto genera una simulazione del robot e dei suoi comandi, così gli studenti dispongono di uno strumento aggiuntivo per verificare che il loro codice sia corretto e che il robot non finisca vittima di un bug che lo faccia volare via dal tavolo o scontrarsi con qualsiasi cosa.
Per chi non è così interessato a dipendere dal cloud per programmare i robot, ci sono buone notizie: questo è un progetto open source, e chiunque può creare il proprio server locale, sia su un computer tradizionale, sia su qualcosa di più compatto come un Raspberry Pi. E come se non bastasse, il ruolo di middleware che Open Roberta assume permette di convertire il codice NEPO in istruzioni compatibili con due degli ambienti più importanti usati nei Lego Mindstorms EV3: LeJOS (Java) ed ev3dev (Python). Il passo successivo è logicamente espandere gli orizzonti di Open Roberta e aggiungere supporto per più hardware, come robot basati su hardware Arduino.