# data[].attributes.attachment_link.description
Attività di coding unplugged fai da te per i più piccoli

# data[].attributes.attachment_link.readable_text
Che rapporto c'è tra coding, pixel art, pensiero computazionale e rappresentazioni digitali delle immagini? Ne abbiamo parlato in un webinar organizzato in occasione del primo compleanno di CodeMOOC. Trovate qui di seguito le slide, che potete scaricare e riusare. La video registrazione integrale del webinar è disponibile su YouTube ed è collegata direttamente all'ultima slide della presentazione. Faccio qui di seguito alcune considerazioni preliminari che spero forniscano un'ulteriore chiave di lettura del webinar e delle slide.

Considerazioni preliminari

I computer per rappresentare le immagini hanno bisogno di costruire una griglia e di colorare i quadretti. Non sanno fare diversamente. Ogni quadretto è un pixel. Chiamiamo pixel art ogni disegno che mette in evidenza la struttura a quadretti e ne fa un espediente artistico, facendo di necessità virtù.

Tanto più piccoli e numerosi sono i pixel, tanto meno evidente è la quadrettatura e tanto più definita e continua ci appare l'immagine. Il numero di righe e colonne delladistinguiamo più i pixel. I video ad alta risoluzione hanno 1920 colonne e 1080 righe, quindi circa 2 milioni di pixel. Le fotocamere dei nostri cellulari e gli schermi di cellulari, tablet, computer, anche di più.

Definita la griglia e scelto un punto di partenza (per convenzione il pixel in alto a sinistra) e un ordine (per convenzione la scansione per righe da sinistra a destra e dall'alto al basso), per rappresentare un'immagine basta dire il colore di ogni pixel. Non c'è neppure bisogno di rappresentare il cambio di riga, perchè basta aver deciso una volta per tutte che quando si arriva in fondo si ricomincia dall'inizio della riga successiva. Proprio come quando si legge. La sequenza dei colori di ogni pixel è una mera descrizione dell'immagine. Non è una procedura per disegnarla. Per renderla tale bisogna anche spiegare come usarla. Ad esempio: partendo dal pixel in alto a sinistra e procedendo per righe, finchè ci sono colori nella sequenza, leggi un colore, usalo per colorare il pixel su cui ti trovi e vai avanti.

Esistono anche descrizioni più compatte. In particolare la codifica RLE (run length encoding) usa il concetto di "run" per evitare di ripetere più volte di seguito lo stesso colore. Un "run" è proprio una sequenza di pixel contigui dello stesso colore, che viene rappresentata indicando il colore una sola volta e specificando per quanti pixel va mantenuto.

Essendoci diverse possibili descrizioni, per interpretarle correttamente occorre sapere che convenzione adottano. Nelle immagini che usiamo abitualmente l' estensione del file (le due o tre lettere che seguono il nome del file, dopo il punto) ne indica il formato. Il programma che usiamo per aprire il file applica la procedura giusta per interpretare la descrizione e mostrarci l'immagine.

Usando la pixel art come attività di coding unplugged possiamo prendere ispirazione dai formati di descrizione delle immagini adottando una convenzione e descrivendo l'immagine in modo coerente. In pratica è come se la procedura facesse parte della convenzione adottata una volte per tutte e la descrizione dell'immagine permettesse all'esecutore di ricostruirla. Nel gergo informatico, la descrizione dell'immagine è di tipo dichiarativo.

Possiamo usare un approccio imperativo dotandoci di un repertorio di istruzioni che descriva direttamente cosa fare per disegnare l'immagine. In tal caso la descrizione dell'immagine e le azioni da compiere per riprodurla sono un tutt'uno. Ad esempio possiamo usare CodyRoby per spostare un robottino sulla scacchiera dei pixel aggiungendo una nuova istruzione che dica a Roby di colorare il pixel su cui si trova. Il disegno è l'intera sequenza di istruzioni di movimento e di colorazione.

In ogni caso, il disegno che si produce colorando i pixel è una cosiddetta pixelmap, o bitmap, caratterizzata da una risoluzione predefinita.Per contro, un disegno potrebbe essere descritto attraverso senza limiti di risoluzione come combinazione di figure geometriche e curve di cui siano dati i parametri o le regole di costruzione. Se vogliamo disegnare una circonferenza ci basta indicare il centro, il raggio, lo spessore della linea e il colore. Qualunque sia la risoluzione del disegno, con questa descrizione potremo sempre ricostruirla sfruttandola pienamente. Questa tecnica si chiama grafica vettoriale. Da un disegno vettoriale si può sempre generare una bitmap di qualsiasi risoluzione. Da una bitmap non si può rigenerare un disegno vettoriale o una bitmap di risoluzione più alta.

Anche con la grafica vettoriale si può fare coding. E anche in questo caso si può definire una convenzione e usare un linguaggio dichiarativo per descrivere il disegno, oppure si può usare direttamente un linguaggio imperativo per descrivere le azioni necessarie a disegnarlo. E' un po' come il disegno tecnico. Se dobbiamo spiegare a qualcuno come usare il compasso per disegnare il cerchio gli diamo istruzioni precise e seguendo le nostre indicazioni disegnerà il cerchio ( approccio imperativo). Ma se tutti sappiamo già come di usa il compasso per disegnare un generico cerchio, per far disegnare un cerchio ad un altro ci basterà fornire i parametri del cerchio che vogliamo ( approccio dichiarativo).

L'approccio imperativo è quello dell'artista di code.org o di Scratch. Se volete sperimentare la grafica vettoriale e toccare con mano il potere espressivo di un linguaggio dichiarativo, vi consiglio di usare inkscape (è libero e open source e consente di fare di tutto) per generare un file . svg (simple vector graphics). Poi aprite il file .svg con un editor di testo per guardarci dentro e provate a riconoscere la descrizione dei vari oggetti che avrete disegnato.

# data[].attributes.attachment_link.title
Pixel art, coding e immagini digitali - CodeMOOC

# data[].attributes.attachment_link.description
Che rapporto c'è tra coding, pixel art, pensiero computazionale e rappresentazioni digitali delle immagini? Ne abbiamo parlato in un webinar organizzato in occasione del primo compleanno di CodeMOOC. Trovate qui di seguito le slide, che potete scaricare e riusare.

# data[].attributes.body
Sito Prof

# data[].attributes.attachment_link.title
Coding in your classroom, now! - CodeMOOC

# data[].attributes.attachment_link.description
Il 26 gennaio, alle 9:30, parleremo di voli di storni, di sistemi complessi e di automi cellulari. Lo faremo usando il coding e giocando al Gioco della vita. L'attività è consigliata per Primaria e Secondaria di primo grado. Non ci sono prerequisiti, poiché le regole base verranno illustrate durante il webinar.

# data[].attributes.attachment_link.title
Programmazione a blocchi, diagrammi di flusso e pipecoding

# data[].attributes.attachment_link.description
Webinar che mette a confronto la programmazione visuale a blocchi, diagrammi di flusso e pipe coding

# data[].attributes.attachment_link.title
CodyRoby - Il nuovo kit e l'ora di codice unplugged

# data[].attributes.headline
Accesso al corso " Coding in your in classroom, now

# data[].attributes.subject
Accesso al corso " Coding in your in classroom, now

# data[].attributes.body
https://platform.europeanmoocs.eu/login.php?er=1

# data[].attributes.body
Scratch

https://scratch.mit.edu/

# data[].attributes.body
Code.org

https://code.org/

# data[].attributes.body
Programma il futuro - Come partecipare

http://www.programmailfuturo.it/come/come-partecipare
modalità base, denominata l'Ora del Codice, consistente nello svolgere solo un'ora di avviamento al "pensiero computazionale". Si suggerisce che questa attività avvenga nelle settimane 15-23 ottobre 2016 oppure 5-11 dicembre 2016, in concomitanza con analoghe attività in corso in tutto il mondo.

# data[].attributes.body
Ogni studente di ogni Scuola dovrebbe avere l'opportunità di imparare informatica

# data[].attributes.body
Il linguaggio delle cose

# data[].attributes.body
I giochi con Cody&Roby

Con le tre carte si può iniziare a programmare giocando con gli amici. Si possono  inventare tanti  giochi, o giocare a quelli proposti in questo sito.

Cody&Roby #1. Seguimi

Cody&Roby #2. Il Duello

Cody&Roby #3. La corsa

Cody&Roby #4. La turista

# data[].attributes.body
Cody & Roby sono gli strumenti più semplici (fai da te) per giocare con la programmazione a qualunque età, anche senza computer. Scarica il nuovo Kit fai da te!

Roby è un robot che esegue istruzioni, Cody è il suo programmatore. Per iniziare le istruzioni sono solo 3: vai avanti, gira a sinistra e gira a destra. Ogni istruzione è scritta o disegnata su un cartello o su una tessera che Cody passa a Roby. Roby legge l’istruzione e la esegue muovendosi su una scacchiera. Non servono computer, sono i giocatori a fare la parte di Roby e di Cody.

Cody-Roby è anche un gioco di carte o un gioco da tavolo che si adatta all’età e alla esperienza dei giocatori.

# data[].attributes.body
Gli strumenti per fare coding nella scuola dell'infanzia e nella scuola primaria( attività unplagger

Si possono utilizzare attività in unplagged ( senza strumenti elettronici) come Cody Roby  ovvero un metodo fai-da-te di programmazione. 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      http://codeweek.it/cody-roby/

# data[].attributes.body
Da un paio di anni si sente parlare di coding e della necessità di introdurlo a scuola. Ma di che si tratta? Ecco alcuni punti che possono chiarire le idee.

1. Il coding non è solo o non è tanto – come comunemente viene inteso – programmazione (costruire, cioè, i programmi per il computer), ma piuttosto l’uso didattico di strumenti e metodi di programmazione visuale a blocchi per favorire lo sviluppo del pensiero computazionale nel modo più semplice ed intuitivo possibile.

2. Il pensiero computazionale è la capacità di individuare un procedimento costruttivo, fatto di passi semplici e non ambigui, che porta alla soluzione di un problema complesso. Non riguarda tanto un problem solving da affrontare in prima persona, ma conduce a specificare procedure e istruzioni che un “esecutore” può eseguire autonomamente.

3. Se il ragionamento algoritmico è un’abilità minima che chiunque dovrebbe poter sviluppare, allora è utile diffonderlo (ecco la ragione di una serie di campagne di alfabetizzazione a scopo divulgativo e motivazionale) e proporre di inserirlo a scuola perché la proposta sia per tutti.

# data[].attributes.body
Attività CodeWeek last minute

Posted on 10 ottobre 2015 by Alessandro Bogliolo

Europe Code Week è per tutti!

Organizzare un evento CodeWeek è facile e non è mai troppo tardi per farlo e per caricare gli eventi sulla mappa. Un evento può essere un’ora dedicata al coding in una classe, in un coder dojo, ma anche in un luogo pubblico, sul luogo di lavoro, o in casa tra amici. Per organizzarlo potete usare le risorse che trovate elencate sul sito o le tante altre disponibili online, come il tutorial Scratch Ode to code preparato per noi dal MIT Media Lab.

Non serve essere esperti. Chi organizza l’evento può imparare e giocare con gli altri partecipanti.

Per darvi ulteriori stimoli, dal 10 al 18 ottobre pubblicherò ogni giorno su questo blog il materiale necessario a realizzare eventi last minute di un’ora senza preparazione.

Ecco l’elenco:

LM01: Il linguaggio delle cose

LM02: Pensiero computazionale in pratica

LM03: Ballando con Scratch

LM04: Saremo i primi a inventare giochi 3D con Scratch

LM05: CodyWay – percorso programmato

LM06: L’ora del codice e Programma il Futuro

LM07: La prima App Android

LM08: Esperimenti di intelligenza artificiale

LM09: CodyRoby anche senza computer