# data[].attributes.body
1) comprendere la difficoltà di tradurre problemi reali in programmazione

2) comprendere l'importanza di elaborare un codice con un linguaggio condiviso

3) comprendere l'importanza di mettersi nei panni dell'altro

4) imparare che ciò che sembra chiaro a noi stessi può non esserlo per un'altra persona

# data[].attributes.body
inventa un codice per interpretare il disegno che hai sul foglio quadrettato, scrivilo e poi passalo al tuo compagno che dovrà riprodurre il disegno usando le tue istruzioni.

# data[].attributes.headline
Fogli con disegni e fogli bianchi per la riproduzione

# data[].attributes.subject
Fogli con disegni e fogli bianchi per la riproduzione

# data[].attributes.body
Gli alunni sono stati lasciati liberi di scegliere il codice  per scrivere le istruzioni del disegno a loro assegnato: numeri, disegni, parole, ecc...
Dopo aver trasformato il disegno in un codice, le istruzioni sono state consegnate a un compagno insieme al foglio quadrettato bianco. La condizione posta era che il compagno non doveva conoscere a priori il disegno sul quale il primo alunno aveva elaborato il codice.

# data[].attributes.body
Dopo aver ricevuto le istruzioni qualche alunno ha chiesto ulteriori spiegazioni; le domande più frequenti sono state relative alla modalità di scrittura delle istruzioni,
volevano sapere se potevano usare i numeri, simboli  o le parole come le istruzioni presenti nei blocchi del corso coding della piattaforma PROGRAMMA IL FUTURO.
Altri alunni sono sembrati pronti per questo compito che, tra l'altro, ha riscosso un notevole successo, ma..... qualcosa non è andato come previsto!

# data[].attributes.headline
Nel momento della distribuzione dei primi codici...

# data[].attributes.subject
Nel momento della distribuzione dei primi codici...

# data[].attributes.body
Nel momento in cui si è avviato il processo di scambio e gli alunni hanno provato a riprodurre il disegno dal codice ricevuto è stato chiaro e lampante che i codici prodotti, non tutti naturalmente, non erano corretti o non erano di facile interpretazione a causa di svariati bug presenti....

# data[].attributes.body
Questo codice non è chiaro...così è scritto sul foglio!

# data[].attributes.body
E' stato necessario, se non opportuno, avviare un momento di riflessione sul concetto di bug, naturalmente prima di riprendere in mano i vari disegni e riprovare, questa volta con successo, a riscrivere un nuovo codice dopo aver deciso insieme quali simboli usare, la scelta è unanimamente ricaduta su 0 e 1.

# data[].attributes.headline
Che cosa abbiamo imparato...io per prima naturalmente!

# data[].attributes.subject
Che cosa abbiamo imparato...io per prima naturalmente!

# data[].attributes.body
Cito le parole di Alessandro Bogliolo, come sempre inequivocabili:

SENZA DEBUGGING NON C'E' CODING! :-))

PENSARE DI FARE QUALCOSA CHE SIA NELL'OTTICA DELLA CORRETTEZZA ASSOLUTA, QUANDO SI PARLA DI CODING, NON E' UN APPROCCIO EFFICACE E OPPORTUNO!

La riflessione seguita ci ha illuminati sul concetto di BUG, DEBUGGING  e sull'importanza della capacità di diagnosticare i problemi sapendoli riconoscere....una competenza per niente scontata, utile e necessaria non solo nella simulazione,  ma anche e soprattutto nella vita reale.

Con l'esito di questa attività spero di aver ulteriormente alimentato lo spirito critico dei miei alunni!

L.P.

# data[].attributes.body
Il codice elaborato non corrisponde al disegno!

# data[].attributes.headline
Questi sono codici elaborati efficacemente.

# data[].attributes.subject
Questi sono codici elaborati efficacemente.