Articoli
Coding, dalla scacchiera alle carte | A Scuola con CodyRoby
Una nuova lezione live per imparare insieme a programmare e fare attività in classe

CodyRoby esprime già nel nome la piena separazione di ruoli tra programmatore (Cody) ed esecutore (Roby) e offre un linguaggio più espressivo che permette al robot di compiere azioni altrimenti inimmaginabili. I maggiori gradi di libertà non sono offerti da un repertorio di istruzioni più ampio, ma dalla separazione tra il piano del programma e quello dell’azione. CodyFeet assegnava ad ogni casella un’istruzione, un punto di ingresso e un punto d’uscita, cosicché ogni casella poteva appartenere ad un solo percorso. CodyColor svincolava i punti di ingresso e di uscita, ma associava in modo univoco, attraverso i colori, le istruzioni alle caselle, rendendo possibile il disegno di percorsi incrociati, purché in ogni punto tutti prevedessero la stessa azione. CodyRoby libera finalmente la scacchiera dai vincoli imposti dal piano del programma, offrendo a Roby libertà di movimento e a Cody libertà di programmazione.
Le istruzioni elementari sono ancora tre, rappresentate da carte da gioco con frecce colorate. Roby legge ad una ad una le istruzioni e le esegue, compiendo l’azione sulla scacchiera e passando alla carta successiva. Poiché il passaggio alla carta successiva avviene su un piano diverso da quello dell’azione, l’avanzamento sulla scacchiera non è più implicito. Le tre istruzioni elementari sono quindi sostanzialmente diverse da quelle incontrate fin qui: girati a sinistra (carta gialla) comporta la rotazione in senso antiorario sul posto, senza cambiare casella, girati a destra (carta rossa) comporta la rotazione sul posto in senso orario, vai avanti (carta verde) comporta il passaggio di Roby alla casella di fronte.
Con le carte di CodyRoby si possono codificare tutti i percorsi descritti da CodyFeet e CodyColor, ma non vale il viceversa. Ora, per la prima volta, Cody può chiedere a Roby di fare inversione a U, di fare una piroetta, o di passare due volte sulla stessa casella facendo ogni volta un’azione diversa!