# data[].attributes.headline
Alessandro Bogliolo insegna coding su RaiScuola

# data[].attributes.subject
Alessandro Bogliolo insegna coding su RaiScuola

# data[].attributes.body
Per iniziare: lezioni da ambassador!

# data[].attributes.attachment_link.description
Cosa ha a che fare una calcolatrice meccanica di fine '800 con il Coding? Lo scopriamo in questa puntata, dove impareremo ad eseguire ripetutamente istruzioni finchè non abbiamo raggiunto il nostro sc ...

# data[].attributes.body
l MIUR, in collaborazione con il CINI – Consorzio Interuniversitario Nazionale per l’Informatica, ha avviato questa iniziativa (che fa parte del programma #labuonascuola ) con l’obiettivo di fornire alle scuole una serie di strumenti semplici, divertenti e facilmente accessibili per formare gli studenti ai concetti di base dell'informatica.
https://programmailfuturo.it

# data[].attributes.body
http://codemooc.org/codiquiz-per-hoc/

# data[].attributes.attachment_link.readable_text
Dopo la straordinaria partecipazione a Europe Code Week, le scuole italiane stanno per partecipare alla campagna internazionale Hour of Code. Vi propongo di concludere insieme la settimana dell'ora del codice (o meglio di iniziare insieme la successiva...) con una nuova edizione di CodyQuiz live, lunedì 12 dicembre alle 11:30.

Di cosa si tratta

Condurremo un gioco a quiz interattivo in diretta con indovinelli di coding. Vi parlerò in streaming e vi mostrerò esempi di coding condividendo il mio schermo. Gli esempi mi daranno il pretesto per farvi domande alle quali potrete rispondere attraverso un BOT Telegram, chiamato Quizzle, sviluppato dall' Università di Urbino. Le vostre risposte appariranno immediatamente sullo schermo e comporranno le statistiche dei partecipanti. Non appena svelerò la risposta giusta, sullo schermo compariranno i nomi delle 3 squadre che hanno dato per prime la risposta giusta!

A chi è rivolto

Porrò quesiti di complessità crescente. I primi ritengo che siano adatti anche al triennio delle elementari e gli ultimi anche alle scuole superiori. In generale credo che l'esperimento possa essere di interesse per tutti gli ordini di scuola, e che possa essere seguito interamente dagli ultimi anni delle elementari in poi. Possono partecipare anche singole persone. L'esperimento è aperto e non ci sono vincoli formali, ma la situazione ideale è quella di una classe che partecipi come squadra.

Come partecipare in diretta

Per partecipare con la propria classe occorre avere la possibilità di seguire in diretta il video che sarà disponibile a questo indirizzo alle 11:30 del 12 dicembre: https://www.youtube.com/watch?v=KvwTnk2xVwE

Occorre inoltre installare Telegram su almeno un dispositivo. L'ideale è che Telegram sia installato sul telefono dell'insegnante.

Benchè non sia strettamente necessario, consiglio che sullo stesso dispositivo sia installato anche un lettore di QRcode (codici a barre).

Come prepararsi

Per prepararvi alla diretta potete registrare la vostra squadra sul BOT Telegram Quizzle a cui dovrete inviare le risposte. Questo QR code vi porta direttamente alla registrazione.

Se volete istruzioni più dettagliate e i quiz della scorsa edizione, seguite queste slide

Come partecipare on demand

Sia la video registrazione che il bot telegram resteranno fruibili on demand dopo l'evento. Vi darò i dettagli della partecipazione on demand subito dopo l'evento live.

Quando?

Lunedì 12 dicembre, dalle 11:30 alle 12:30.

# data[].attributes.attachment_link.description
Dopo la straordinaria partecipazione a Europe Code Week, le scuole italiane stanno per partecipare alla campagna internazionale Hour of Code. Vi propongo di concludere insieme la settimana dell'ora del codice (o meglio di iniziare insieme la successiva...) con una nuova edizione di CodyQuiz live, lunedì 12 dicembre alle 11:30.

# data[].attributes.body
http://codeweek.it/category/news
Sito italiano di riferimento per Europe CodeWeek

# data[].attributes.body
https://studio.code.org/download/starwars

# data[].attributes.attachment_link.description
Anyone can learn computer science. Make games, apps and art with code.

# data[].attributes.body
https://santatracker.google.com/codelab.html

# data[].attributes.attachment_link.description
Explore, play and learn with Santa’s elves all December long

# data[].attributes.body
https://www.mathlearningcenter.org/web-apps/pattern-shapes/

# data[].attributes.attachment_link.description
Explore counting, geometry, fractions, and more with a set of virtual pattern blocks.

# data[].attributes.body
http://www.girlscodeitbetter.it/#!/strumenti

# data[].attributes.attachment_link.description
Girls code it better è un Club di ragazze che si ritrovano a scuola per immergersi nel digitale e svilupparne le potenzialità attraverso una formazione innovativa.

# data[].attributes.body
https://hourofcode.com/it/learn

# data[].attributes.body
https://www.youtube.com/watch?v=wOOw7pXdJRk#action=share

# data[].attributes.body
https://www.youtube.com/watch?v=oS0fufkmp1g
IL 19 OTTOBRE 2017 in diretta
Giochi di squadra interattivi

# data[].attributes.body
https://studio.code.org/courses

# data[].attributes.body
http://codemooc.org/codymaze/

# data[].attributes.attachment_link.readable_text
CodyMaze è un labirinto virtuale nel mondo reale. Ci si muove su una scacchiera 5 x 5 le cui caselle contengono dei QRcode. Apparentemente la scacchiera è libera, ma grazie ai QRcode mostra labirinti sempre diversi che vengono proposti al giocatore da un bot Telegram chiamato @codymazebot. Il giocatore si muove fisicamente sulla scacchiera seguendo le istruzioni del bot e scansiona il QR Code su cui arriva ad ogni tappa per verificare di aver eseguito correttamente la sequenza di istruzioni. Durante le varie tappe del gioco vengono proposte sequenze di istruzioni di complessità crescente che introducono tutti i concetti base della programmazione, offrendo un'esperienza equivalente al labirinto classico dell' hour of code, ma diversa di volta in volta e giocata fisicamente. Al termine del gioco il bot Telegram rilascia un attestato nominale di completamento di un'ora di coding, che riporta l'elenco dei costrutti di programmazione sperimentati durante il gioco.

Terreno di gioco

CodyMaze si gioca su una griglia quadrata, 5×5, sulla quale sono disposti 25 QRcode. I QRcode sono disposti sul pavimento, ad almeno 50cm di distanza l'uno dall'altro. In tal modo il giocatore può muoversi con il proprio corpo all'interno della scacchiera, senza usare pedine. Se la scacchiera fosse effettivamente disegnata a terra ogni QR Code occuperebbe il centro di una casella, ma la presenza dei QRcode che identificano il centro delle caselle rende inessenziale tracciarne i bordi. Quindi la scacchiera può non essere disegnata. Le colonne e le righe della scacchiera sono identificate da lettere e numeri, partendo dall'angolo in alto a sinistra. Ad ogni QR Code è assegnata una posizione identificata da una lettera e da un numero. Inoltre la scacchiera è orientata convenzionalmente in modo che il lato superiore corrisponda al Nord e, di conseguenza, quello inferiore al Sud, quello sinistro all'Ovest e quello destro all'Est. Se il luogo lo consente si consiglia di orientare effettivamente la scacchiera in modo coerente con i punti cardinali.
I 25 QR Code stampabili sono disponibili in questo archivio.
Per agevolare la disposizione e l'utilizzo, ogni QR Code riporta l'indicazione della posizione e dei punti cardinali. 5 dei QR Code hanno delle stelle alla cui presenza è condizionata l'esecuzione di alcune istruzioni.

Obiettivo del gioco

Uscire dal labirinto virtuale seguendo le istruzioni fornite dal bot Telegram @codymazebot.

Giocatori

Il gioco può essere giocato da uno o più giocatori. Il limite al numero di giocatori è dato solo dalle dimensioni della scacchiera sulla quale i giocatori devono potersi muovere indipendentemente, eseguendo ciascuno le proprie istruzioni fornite da @codymazebot.

Componenti del gioco

Smartphone o tablet dotato di:

I dispositivi in uso devono essere pari al numero di giocatori che giocano contemporaneamente. Al termine del gioco lo stesso smartphone può essere usato da un altro giocatore, al quale il bot presenterà un percorso diverso.

Difficoltà

Il giocatore non conosce il percorso, ma riceve istruzioni dal bot Telegram e deve interpretarle ed eseguirle correttamente.

Le sequenze di istruzioni fornite dal bot sono di difficoltà crescente, sia per i costrutti che introducono sia per la lunghezza.

Game Play

Il giocatore interagisce con il gioco compiendo le seguenti azioni:

Scansione del QR Code associato alla casella su cui si trova il giocatore (inquadrare con un lettore di codice a barre il QR Code che si intende scansionare, selezionare Telegram messenger come applicazione con cui aprire il link contenuto nel QR Code, premere il tasto AVVIA che appare in basso nell'interfaccia del bot Telegram)

Impostazione della direzione di marcia (selezionare uno dei quattro tasti Nord, Est, Sud, o Ovest quando richiesto da bot)

Lettura e interpretazione delle istruzioni fornite dal bot (la sintassi è descritta nella sezione game design)

Esecuzione delle istruzioni fornite dal bot (le istruzioni si eseguono fisicamente spostandosi sulla scacchiera a terra).

Game Design (regole)
Inizio del gioco

1. È possibile iniziare una nuova partita solo dopo aver concluso le partite eventualmente in corso.

2. Se @codymazebot non è pronto ad iniziare una nuova partita perché la precedente è stata interrotta, è possibile riportarlo allo stato iniziale con il comando /reset

3. In queste condizioni il gioco viene avviato quando viene scansionato uno qualsiasi dei QRcode della griglia

4. Per iniziare il gioco il giocatore deve scegliere una casella esterna (una delle 16 che compongono il bordo) e scansionare il corrispondente QRcode per notificare al bot la scelta

5. Il bot indica al giocatore la direzione di marcia e chiede conferma. E' importante rispettare questa indicazione: ogni successiva istruzione dovrà essere eseguita partendo dalla posizione scelta e dalla direzione indicata dal bot.

Mossa

1. Ad ogni passo il bot guida il giocatore con un codice preceduto da questa frase "Segui queste indicazioni per risolvere il prossimo passo e scansiona il QR Code all'arrivo". Il codice segue la sintassi descritta nel seguito alla sezione Sintassi.

2. Il giocatore deve muoversi sulla scacchiera eseguendo il codice come se fosse un robot, facendo attenzione alla posizione e alla direzione di partenza.

3. Terminata l'esecuzione il giocatore scansione il QR Code per notificare al bot la posizione che ha raggiunto.

4. Il bot risponde chiedendo "In che direzione stai guardando?" e prensentando i 4 pulsanti per la selezione della direzione.

5. Il giocatore indica la direzione (senza girarsi rispetto alla posizione assunta al termine dell'esecuzione del codice)

6. Se l'esecuzione è corretta il bot dice "Benissimo! Hai trovato il punto giusto." e propone il codice del passo successivo.

7. Attenzione: è possibile che una mossa non comporti alcuno spostamento. In tal caso, l'esecuzione corretta prevede che venga scansionato nuovamente il QRCode su cui il giocatore si trova.

Mosse sbagliate

1. Una mossa è sbagliata se viene scansionato il QRCode sbagliato o impostata la direzione sbagliata rispetto a quelli previsti dal codice fornito dal Bot.

2. A fronte di una mossa sbagliata il bot chiede al giocatore di tornare al punto di partenza dell'ultima mossa, di cui fornisce coordinate e direzione. La risposta del bot è: "Ops! Hai sbagliato! Ritorna alla posizione ... guardando verso ... e scansiona nuovamente il codice."

3. Il giocatore deve tornare nella posizione indicata dal bot, scansionare il QRCode, guardare nella direzione indicata dal bot e selezionarla per conferma quando richiesto.

4. A questo punto il bot fornisce nuovamente le istruzioni per ripetere la mossa.

Completamento del labirinto

1. Al termine di tutte le mosse previste il bot manda il seguente messaggio: "Complimenti! Hai completato CodyMaze!"

2. Il bot chiede quindi di digitare il nome che si vuole sul certificato di completamento. Il messaggio di richiesta è il seguente: "Scrivi il nome e cognome da visualizzare sul certificato di completamento:"

3. Il giocatore deve digitare il proprio nome e cognome (o una qualsiasi altro nome, come ad esempio il nome della classe o un elenco di nomi nel caso in cui il gioco sia stato giocato in squadra)

4. Il bot chiede: "Confermi che il nome inviato è ...?" per dare modo di correggere eventuali errori.

5. Rispondendo Sì si ottiene il certificato nominale di completamento. Oltre al nome indicato dal giocatore, il certificato contiene un identificativo univoco che in futuro potrà essere utilizzato per verificare l'autenticità del certificato. Il certificato può essere scaricato, salvato e condiviso con orgoglio!

6. Quando il bot invia il messaggio "Grazie per aver giocato con CodyMaze!" è pronto ad iniziare una nuova partita.

Sintassi

Istruzioni elementari. Il bot usa le 3 istruzioni elementari di CodyRoby, rappresentate dalle rispettive iniziali in caratteri minuscoli:

a = vai avanti, da eseguire spostandosi da un QRcode a quello successivo lungo la direzione di marcia

s = girati a sinistra, da eseguire ruotando di 90 gradi in senso antiorario senza cambiare casella

d = girati a destra, da eseguire ruotando di 90 gradi in senso orario senza cambiare casella

Ripetizioni. Il bot chiede di ripetere più volte un'istruzione o una sequenza di istruzioni indicando il numero di ripetizioni seguito dal codice da ripetere racchiuso tra parentesi graffe:

Costrutti nidificati. Le ripetizioni, come i restanti costrutti descritti nel seguito, possono anche essere nidificati. In latre parole, il codice da ripetere può contenere ripetizioni o altri costrutti, come in questi esempi:

Condizioni. Per esprimere le condizioni a cui è subordinata l'esecuzione di determinate istruzioni, il bot utilizza il "se", racchiudendo la condizione tra parentesi tonde e le istruzioni da eseguire in modo condizionato tra parentesi graffe:

se(condizione){codice} = esegui il codice solo se si verifica la condizione

se(condizione){codice1}altrimenti{codice2} = esegui codice1 se si verifica la condizione, altrimenti esegui codice2

Le condizioni utilizzate dal bot sono le seguenti:

strada davanti o c'è strada = verificata se nella direzione di marcia c'è almeno una casella su cui spostarsi

strada a dx = verificata se rispetto alla posizione e alla direzione di marcia del giocatore c'è almeno una casella a destra

strada a sx = verificata se rispetto alla posizione e alla direzione di marcia del giocatore c'è almeno una casella a sinistra

stella = verificata se nella casella in cui si trova il giocatore, attorno al QRCode, ci sono delle stelle

non stella = verificata se nella casella in ci trova il giocatore, attorno al QRCode, non ci sono delle stelle

Ripetizioni condizionate. Il bot usa il termine "finché" per indicare che una o più istruzioni vanno ripetute finchè perdura una condizione. La condizione è espressa tra parentesi tonde, il codice da eseguire tra parentesi graffe:

finché(condizione){codice} = esegui il codice finché è verificata la condizione.

Attenzione: nelle ripetizioni e nelle ripetizioni condizionate occorre eseguire tutto il codice interno ad ogni ripetizione, poi occorre verificare nuovamente la condizione di ripetizione (condizione esplicita o numero di ripetizioni) per decidere se eseguirlo di nuovo.

Consiglio. Per illustrare la sintassi ai partecipanti si consiglia di effettuare un'esecuzione collettiva del gioco, dichiarando e commentando insieme le sequenze di istruzioni che il bot assegna a ogni passo. In alternativa, si possono creare delle sequenze di istruzioni di prova per simularne l'esecuzione.

Installazioni

CodyMaze è un gioco di coding da piazza, che è stato presentato per la prima volta durante l'edizione 2017 di Urbino Summer Code Fest, il 24 agosto 2017, nel cortile del Collegio Raffaello a Urbino. Nella prima installazione i QRCode erano posti su scatole quadrate per essere più visibili. La seconda sperimentazione è stata effettuata a Napoli, in Piazza del Plebiscito, il 21 settembre 2017, con i QRCode appoggiati su lattine di pomodoro.

I due esperimenti pubblici sono stati fondamentali per collaudare e debuggare l'applicazione prima di renderla disponibile a chiunque voglia allestire il gioco in una piazza, in un cortile, a casa, o in un'aula. I QRCode non devono necessariamente essere appoggiati su oggetti rialzati, è sufficiente appoggiarli a terra. Si consiglia comunque di fissarli a terra in modo da evitare che vengano spostati accidentalmente.

Sviluppi futuri

CodyMaze verrà ulteriormente sviluppato per offrire esperienze di coding diversificate per fascia d'età. I QRCode non cambieranno. Quindi chiunque volesse farne un'installazione fissa potrà utilizzarla per tutte le versioni del gioco.

Credits

CodyMaze è un progetto di Alessandro Bogliolo, sviluppato da Brendan Paolini, Lorenz Cuno Klopfenstein e Saverio Delpriori, del Corso di Laurea in Informatica Applicata dell'Università di Urbino.

# data[].attributes.attachment_link.title
CodyMaze - L'ora di coding da piazza - CodeMOOC

# data[].attributes.attachment_link.description
CodyMaze è un labirinto virtuale nel mondo reale. Ci si muove su una scacchiera 5 x 5 le cui caselle contengono dei QRcode. Apparentemente la scacchiera è libera, ma grazie ai QRcode mostra labirinti sempre diversi che vengono proposti al giocatore da un bot Telegram chiamato @codymazebot.