Il coding è un mezzo utile per mettere in pratica le proprie capacità analitiche e creative. Attraverso questo laboratorio i ragazzi e le ragazze apprenderanno le basi per analizzare un problema complesso scomponendolo nelle sue parti essenziali e inizieranno a scrive codici per programmare dei veri robot.
CodyRoby è un metodo fai-da-te di programmazione unplugged (senza computer). Le istruzioni sono carte da gioco che contengono semplici simboli associati a tre azioni elementari: vai avanti, girati a sinistra, girati a destra. Ogni giocatore veste i panni di Cody e usa le carte per dare istruzioni a Roby, rappresentato da una pedina da muovere sulla scacchiera.
AVANTI
Gira a SINISTRA
Gira a DESTRA
RIPETI
SE
ALTRIMENTI
Le carte vanno posizionate una a fianco dell'altra al fine di costruire il programma che permette al nostro Roby di muoversi.
Bisogna ricordare che il programma va scritto dal punto di vista di Roby, la destra e la sinistra sono quelle di robi non le nostre.
Roby si muove su una scacchiera di cinque per cinque sulle quali è tracciato un percorso.
Il percorso è definito dai tasselli percorso che sono appunto le caselle grigie.
Infine esistono le estensioni:
UNITA' DI CONTEGGIO: da appoggiare sopra la carta RIPETI per indicare il numero di ripetizioni desiderate;
SENSORI: da inserire davanti a sinistra o a destra di ROBY per indicare di continuare a ripetere un ciclo fino a che non trova un ostacolo;
TARGET: da inserire nella scacchiera e sulla carta RIPETI per indicare la condizione di terminazione
Esempio semplice così per cominciare.
Roby deve percorrere il percorso tracciato dai tasselli percorso. In questo caso deve avanzare di due caselle.
Nell'angolo in alto a destra vedete un esempio di codice a blocchi. Ad esempio: https://programmailfuturo.it/come/primaria/corso-f/introduzione
Complichiamo un po' l'esercizio precedente facendo ruotare Roby.
Dobbiamo ricordarci che il punto di vista è quello di Roby quindi lui gira alla sua destra. Altra cosa lo so che quando tu hai visto il percorso hai pensato mi giro intanto che avanzo.... Roby invece fa una cosa alla volta prima si gira e poi avanza quindi ricordati anche l'ultima freccia Avanti.
Andiamo avanti.
Usiamo ora una carta speciale, questa carta ripete l'azione che la segue per il numero di volte indicato dalla quantità di UNITA' DI CONTEGGIO posti sopra la carta azzurra.
MA COME FACCIAMO A SAPERE QUALI AZIONI SONO DA RIPETERE? In questo caso è facile ce n'è solo una, ma se fossero di più?
Dobbiamo fare attenzione alle posizioni delle carte.
Quando le carte sono tutte allo stessa altezza hanno tutte lo stesso livello (vedi esempi precedenti), quando invece una carta è più in basso significa che è dipendente, fa parte (indentazione), della carta che lo precede. Per indicare questa "appartenenza" si usano i triangolini posti sui lati delle carte, potete vedere infatti che è allineata una tacca sotto.
In questo caso quindi abbiamo scritto un codice che prevede un ciclo di 4 ripetizioni.
Ecco un caso più complesso.
Sai distinguere le carte comprese dai cicli dalle altre?
Esatto le carte verdi fanno parte delle due carte azzurre (descrivono cosa gare nel ciclo) quella Gialla invece è al di fuori dei cicli.
A turno gli sfidanti posizionano il proprio Roby e un tassello percorso che farà da ostacolo. Obiettivo raggiungere il Roby dell'avversario. All'inizio si pescano 5 carte e si scelgono le carte che si vogliono giocare (muovendo Roby) che vengono poi scartate e se ne pescano altre. Le carte possono essere scartate anche tutte e ripescate
Si pescano tre carte e si posiziona il proprio Roby nell'angolo opposto all'avversario. A turno si gioca una carta di quelle che si hanno in mano e si fa avanzare Roby, poi si ripesca. Ogni casella che Roby si lascia alle spalle viene occupata con un tassello percorso. Vince chi fa il serpente più lungo. Il gioco finisce se Roby è bloccato o se non si hanno in mano carte che permettono movimenti su caselle libere.