Code.org: i blocchi (e spiegazioni) per ottenere l’attestato dell’Artista

Articolo pubblicato su Scuola e Tecnologia in data 15 marzo 2016″

Il MIUR, in collaborazione con il CINI ha avviato  il progetto “Programma il Futuro” (che fa parte della più conosciuta “labuonascuola”) con l’obiettivo di fornire alle scuole una serie di strumenti per formare insegnanti e studenti in merito ai concetti di base dell’informatica.
Code.org è un sito che raccoglie una serie di attività distinte in base ai destinatari (studenti/insegnanti) in merito al movimento chiamato “Hour of code” che vede coinvolte decine di milioni di studenti in più di 180 nazioni.  Molte colleghe alle prese con i percorsi proposti su code.org (qui il link) mi hanno chiesto aiuto in merito all’attività chiamata “Artista”.

Questa attività è composta da 10 esercizi in cui attraverso delle sfide (man mano sempre più difficili) si viene introdotti alla programmazione a blocchi. Vediamo insieme come superare i 10 step (ottenendo l’attestato di fine percorso) ma soprattutto in questo breve articolo cercherò di spiegarvi il motivo per cui devono essere scelti dei blocchi piuttosto che altri.

Esercizio 1: l’introduzione all’esercizio ci fornisce oltre all’esplicitazione dell’obiettivo (ovvero disegnare un quadrato) anche una serie di indicazioni (utilizzare il blocco gira a destra e  il blocco vai avanti nonché la misura di quanto deve essere lungo ogni lato).

Artista1_start

Pertanto quello che dovremmo fare in questo livello sarà unicamente testare quanto suggerito. A seguito del blocco di default, ovvero “Quando si clicca su Esegui” cioè lo Start dell’esercizio, inseriamo i blocchi suggeriti. Iniziamo con “Vai avanti di 100 pixel” , questo perchè il nostro personaggio (l’Artista) per poter disegnare ha bisogno di camminare. Attraverso il blocco inserito, l’artista si muoverà di 100 pixel disegnando una linea retta. Un quadrato è un quadrilatero con quattro angoli congruenti  (90 gradi) quindi il secondo blocco da inserire è “Gira a destra di 90 gradi“. Ripetendo i comandi appena inseriti per ciascun angolo avremmo completato il primo esercizio.

Artista1_code

Una volta completato ogni step vi consiglio di andare a vedere il codice che abbiamo appena scritto (e che abbiamo verificato) anche nella modalità JavaScript .

Artista1_finish

Rotto il ghiaccio con il primo esercizio passiamo velocemente al seguente.

Esercizio 2: in questo step abbiamo l’obiettivo di disegnare un rombo. Un rombo è un poligono di 4 lati che ha tutti i lati della stessa lunghezza (congruenti). Nell’introduzione di questo livello ci viene indicato che i lati sono lunghi 150 pixel mentre gli angoli saranno di due tipi, 60 e 120 gradi. I comandi saranno pertanto “Quando si clicca su Esegui” , comando per lo Start, “Vai avanti di 150 pixel“, cioè la lunghezza del lato, “Gira a sinistra di 120 gradi” per fare l’angolo ottuso, di nuovo “Vai avanti di 150 pixel” e poi “Gira a sinistra di 60 gradi” per fare l’angolo acuto.

Artista2_code

Esercizio 3: la nuova forma geometrica in sfida è l’esagono. Grazie all’introduzione sappiamo che ogni lato è lungo 100 pixel  e che ciascun angolo è di 60 gradi. Andremo pertanto a disegnare un esagono regolare con i sei lati di uguale lunghezza e con i sei angoli congruenti. Niente di più facile, basterà infatti ripetere i comandi così come suggeriti nell’introduzione, cioè dopo il blocco “Quando si clicca su Esegui“, inseriamo “Gira a destra di 60 gradi” ripetendo il tutto per completare l’esagono.

Artista3_code

Esercizio 4: in questo esercizio troviamo una delle caratteristiche tipiche dei linguaggi di programmazione, ovvero i “cicli”. Probabilmente molti di voi già sanno cosa sono i cicli anche se nel linguaggio comune (prelevato da quello musicale) li definiamo Loop. Il loop in musica è un campione che si ripete. Nel coding è la stessa cosa, ovvero possiamo definire un ciclo come un insieme di comandi che si ripetono per un numero di volte ben definito (nel linguaggio di programmazione nulla deve essere lasciato al caso!), in questo caso le volte indicate nelle istruzioni sono 6 (come i lati dell’esagono che dobbiamo disegnare).

Artista4_code

Esercizio 5: in questo step non dobbiamo inserire nessun codice poichè ci viene già fornito dall’esercizio. Dobbiamo invece capire il numero da inserire per il comando del ciclo. Contando le punte della figura geometrica, possiamo inserire il numero esatto, ovvero 12 all’interno del blocco “Ripeti …volte esegui“.

Artista5_code

Esercizio 6: questo è lo step in cui molte colleghe hanno iniziato ad avere problemi. Niente paura, vediamo le indicazioni iniziali. Ci viene richiesto di utilizzare un blocco nuovo per ridurre le stringhe di codice. Rispetto all’esercizio 5 in cui abbiamo inserito molti blocchi, in questo step ridurremmo il loro numero comandando di ripeterli due volte. Mi speigo meglio. Il ciclo che abbiamo visto prima era composto dai seguenti blocchi: “Vai avanti di 60 pixel“, lunghezza del lato, “Gira a destra di 30 gradi“, e ancora “Vai avanti di 60 pixel” e poi “Gira a destra di 150 gradi” per chiudere l’angolo. Questi primi 4 blocchi vengono seguiti da altrettanti blocchi uguali. Pertanto si potrebbe semplificare il tutto comandando il “ripeti per 2 volte” il ciclo appena indicato.

Artista6_code

Esercizio 7: in questa sfida dobbiamo capire di quanti gradi dovremmo girare il nostro personaggio per disegnare correttamente la figura indicata. Il suggerimento dato nell’introduzione (dividi il numero di gradi di un cerchio per il numero di ripetizioni) ci fornisce immediatamente la risposta, ovvero 360 (gradi del cerchio) / 6 (numero delle ripetizioni) = 60 ( i gradi che deve girare a sinistra l’artista).

Artista7_code-1

Esercizio 8: un nuovo concetto informatico ci viene presentato allo step 8, ovvero la funzione. Una funzione (detta anche subroutine, routine, procedura, sottoprogramma o metodo) è un particolare costrutto sintattico che permette di raggruppare una sequenza di istruzioni in un unico blocco di istruzioni espletando così una determinata e in generale più complessa operazione. L’importanza, la praticità e i vantaggi di una funzione stanno nel fatto che può essere “chiamata” e “richiamata” in diversi punti del programma ogni volta in cui si ha la necessità di farlo come se fosse una singola istruzione senza la necessità di doverne riscrivere tutto il relativo codice. La funzione in questo caso definita “Draw a flower“, contiene la stringa dei comandi necessari per disegnare un fiore. Senza dover inserire ogni volta tutti i blocchi che comandano all’artista di disegnare il fiore, possiamo “richiamare” la funzione, avendo l’unica accortezza (così come suggerito nell’introduzione dell’esercizio 8), di far saltare in avanto il personaggio di 150 pixel.

Artista8_code

Esercizio 9: questo esercizio è utile per prendere confidenza con i blocchi di programmazione e con le funzioni. Ci viene infatti richiesto di disegnare una composizione di quadrati, triangoli o ottagoni partendo dai comandi che sono stati inseriti per disegnare gli esagoni. Essendo un esercizio libero, di seguito vi riporto solo qualche esempio.

Artista9_code

Artista9_code1

Artista9_code2

Artista9_code3

Esercizio 10: siamo giunti alla fine del percorso. Questo ultimo esercizio ci fornisce la massima libertà per inserire blocchi e funzioni in modo da mostrare a tutti il nostro lato artistico! Una volta terminata la propria opera vi invito a condividerla!.

Cliccando su condividi otterremo l’attestato finale.

hourofcode-certificate

Buona Ora del codice a tutti :-)

Francesca Lazzari

Annunci

La creatività di una maestra trasforma la merenda in un gioco computazionale

Articolo pubblicato su Scuola e Tecnologia in data 29 febbraio 2016

Una delle credenze che intendo sfatare fa riferimento al fatto che il pensiero computazionale sia qualcosa legato alla tecnologia. Non c’è niente di più sbagliato che avere questa convinzione!

Addirittura Jeannette Marie Wing, ovvero colei che ha portato alla ribalta tale concetto, ha affermato che si tratta di una competenza fondamentale per tutti, non solo per gli informatici, e ha sostenuto l’importanza di integrare le idee computazionali in altre discipline.

Se in un precedente articolo ho parlato già di attività unplugged (ovvero senza l’utilizzo di strumenti informatici) e pensiero computazionale, oggi vorrei raccontarvi l’idea di una maestra che ha trasformato la merenda (quella sana!) in un gioco computazionale.

Alcuni mesi fa una collega mi ha chiesto un suggerimento. Intendeva proporre un qualcosa affinché i suoi alunni  abbandonassero la cattiva abitudine di portare come merenda delle patatine fritte, panini con insaccati, merendine etc…, e si avvicinassero maggiormente alla frutta di stagione.

Sorpresa dalla richiesta, visto che non mi occupo di educazione alimentare, le chiesi il motivo per il quale avesse pensato proprio a me. Mi rispose che aveva letto un mio articolo (questo) e voleva trovare il modo di integrare il gamification con la sua materia (la matematica) con il pensiero computazionale.

Non vi nascondo che ci ho pensato a lungo, poi alla fine mi è venuta in mente un’immagine che avevo visto scorrendo gli aggiornamenti su Twitter.

Abbiamo pertanto messo in atto un piccolo gioco unplugged di logica computazionale basato sulla frutta di stagione.

La collega ha chiesto a ciascuno studente di portare a merenda 3 frutti, ovvero una mela, una pera ed una banana. Ha poi creato tre medaglie (per dare maggiore validità alle logiche del gamification) e il giorno dopo in classe ha mostrato questa immagine:

piccola

Una volta che tutti avevano disposto sul proprio banco la merenda ha distribuito dei post-it. Su ogni post-it gli studenti potevano fare delle ipotesi di valore e attaccarle al frutto.

Ma perchè questo compito rientra nel pensiero computazionale? Semplicemente perchè un’attività del genere consente agli studenti di trasformare un problema complesso in molteplici sottoprocedure.

Infatti, preso nel suo insieme questo problema di logica, sembra abbastanza complicato da poter essere risolto.

Ma proviamo a scomporlo insieme. Sappiamo che la somma delle banane è 16, possiamo pertanto ipotizzare che ciascuna valga 8.

Il passo successivo è trovare il valore degli altri due frutti.

Anche qui dobbiamo procedere per ipotesi. Intanto possiamo partire da un dato oggettivo, ovvero che le mele sono due. Ma forse abbiamo poche informazioni, ed ecco arrivare in nostro aiuto l’operazione successiva.

La terza operazione in qualche modo può aiutare a dare conferma alle ipotesi appena fatte.

Assegnando con certezza alla banana il valore di 8, possiamo confermare che la pera vale 2 e pertanto assegnare il valore di 10 alla mela.

Scomporre un problema di logica in piccole operazioni “autonome” ci ha permesso di trovare la soluzione.

Vedete come questo gioco attiva complessi processi di problem solving?

Gli alunni della collega si sono divertiti. Hanno prima risolto due giochi di logica e poi hanno mangiato “gli oggetti dei loro problemi”.

La settimana successiva ha ripetuto il gioco chiedendo agli studenti di dividersi in gruppi e di inventare loro le operazioni consegnando al “gruppo rivale” la scheda contenente la sfida.

Il risultato è stata una merenda computazionale!

E voi riuscite a risolverlo?  😉

compito-2-copia

Un game per la didattica? Sì, se lo faccio io con Scratch!

Pubblicato su Scuola e Tecnologia in data 15 febbraio 2016

Nel precedente articolo, ho mostrato come in 5 minuti è possibile iniziare ad utilizzare Scratch con il Digital Storytelling.

Per spiegare meglio l’utilizzo di Scratch ho provveduto a creare un secondo mini Videotutorial (qui il link al primo).

Questo tutorial ha come obiettivo quello di creare una schermata introduttiva ad un game didattico.

In questo tutorial pertanto vedremo come inserire uno sfondo, come far muovere uno Sprite ed anche come aggiungere suoni nonché la voce dei nostri bimbi per doppiare i  personaggi!

Come nel precedente articolo, anche per questo secondo tutorial ho creato un piccolo video, qui il link al #2 Videotutorial per seguire i diversi passaggi su youtube!

Per progettare un game didattico è importante pianificare cosa si vuole far apprendere ai nostri alunni. Ipotizziamo di voler ripassare le addizioni.

Come per la volta precedente raggiungiamo l’indirizzo di Scratch, ovvero  https://scratch.mit.edu/ , clicchiamo su Entra ed inseriamo le credenziali di accesso.

Vicino al nostro Username vi è il seguente simbolo:  v

 

00

 

Cliccandoci si aprirà un menù a tendina. Scegliendo “Le mie cose” vedrete i progetti che avete salvato in precedenza.

Ora però clicchiamo su Crea per aprire un nuovo progetto.

 

1.Inserire nuovi Sprite (i passi dettagliati per inserire nuovi Sprite sono spiegati nel precedente tutorial. In questo articolo procederò, per i punti già visti, in maniera spedita).

Possiamo utilizzare dei personaggi (Sprite) già presenti nella Libreria di Scratch, altrimenti vi ricordo che è anche possibile farli disegnare dai vostri alunni e poi scannerizzarli ed inserirli nel progetto.

Io utilizzerò il granchio (Crab) che abbiamo già visto come uno dei protagonisti nel precedente tutorial. Pertanto una volta selezionato cliccherò su Ok nella libreria ed esso mi apparirà sulla Tela.

 

2.Eliminare gli Sprite che non vogliamo utilizzare

Visto che intendo creare un ambiente marino, eliminerò il gatto che viene dato come Sprite di default ovvero come personaggio predefinito. Cliccando con il tasto destro sullo Sprite del gatto, si aprirà un menù a tendina e sceglierò Cancella.

1

3.Inserire uno sfondo

Nel precedente tutorial abbiamo lavorato con lo sfondo bianco (Tela), esso viene nominato da Scratch in Backdrop1. In questo progetto però voglio inserire uno sfondo (Stage) marino.

2

 

Così come per gli Sprite, anche per gli sfondi esiste una libreria. Cliccando su “Scegli uno sfondo dalla libreria”, andrò ad aggiungere lo sfondo della spiaggia detta “Beach Malibu”.

 

3

Non è già più bello il nostro progetto?!

 

Così come per gli Sprite, anche per gli sfondi non solo è possibile sceglierli dalla libreria offerta da Scratch, ma è possibile caricarne di propri (pensate che bello far inserire delle foto/disegni fatti dai bambini!), disegnarli attraverso l’editor, o addirittura utilizzare la webcam per catturare un’immagine.

4. I blocchi

Il primo blocco che andremo ad inserire sarà “Quando si clicca su bandierina verde” (che si trova nella categoria Situazioni). Procediamo inserendo un breve testo. Vi ricordate come si fa per far parlare gli Sprite? Scegliamo dalla categoria Aspetto il blocco “dire per n. secondi”

Al mio Sprite farò dire: “Aiutami a raccogliere 2 stelle marine e 3 pesci” per 5 secondi e poi

Sei pronto?” per 2 secondi

4

4.1 La categoria movimento

Per dare maggiore vivacità al progetto, facciamo “tuffare” lo Sprite nel mare. Per fare ciò dobbiamo aggiungere dalla categoria Movimento il blocco “Scivola in n. secondi a X e Y

Questo blocco ci introduce ad uno degli argomenti che più adoro quando parlo di Scratch ovvero il piano cartesiano. Se la maggior parte di noi ha avuto esperienze terribili con il piano cartesiano, grazie a Scratch i nostri alunni saranno salvi!

Provate a posizionare il cursore del mouse sullo sfondo e muovendolo lentamente  guardate cosa accade nell’angolo in fondo a destra. I numeri accanto ad X e Y, si susseguono mentre noi muoviamo il mouse. Questo perchè ogni punto sullo sfondo è un punto che è inserito nell’asse delle ascisse (X) e nell’asse delle ordinate (Y).

Il mio Sprite è posizionato esattamente in X: -169 e Y: -98

5

Immaginate quante attività potreste proporre con Scratch per far apprendere (giocando) ai vostri alunni il piano cartesiano!!

 

Per ora ciò che vogliamo conoscere è la posizione esatta di dove vogliamo far “tuffare” lo Sprite. Muovendo il cursore nel mare possiamo scegliere un punto.

Inserendo il blocco “Scivola in 3 secondi a X: 88 e Y: 34” il mio granchio camminerà fino al mare. Aggiungendo il blocco dire “tuffiamoci!” concluderemo la schermata introduttiva al game.

Lo scivola in n. secondi sta ad indicare la velocità in cui il nostro Sprite si muoverà dal punto in cui è collocato al punto che gli abbiamo indicato (in questo caso da X: -169 e Y: -98, ovvero la partenza, a X: 88 e Y: 34, cioè l’arrivo). Aumentando i secondi il nostro Sprite camminerà più lentamente, riducendoli si muoverà più in fretta…fate una prova!

 

  1. I suoni

Un tuffo non può essere tale se non accompagnato dal classico rumore dello Splash. Ma come si fa ad inserire un suono? Sopra i blocchi (Script)  troviamo delle linguette. Clicchiamo su Suoni

6

Anche quì, come per gli Sprite e gli Sfondi, Scratch ci offre la possibilità di scegliere un suono dalla libreria (simbolo megafono), registrare l’audio (simbolo microfono), importare un file audio (simbolo cartella aperta).

Per ora sceglierò un suono dalla libreria, ovvero dalla categoria Effetti prenderò il Water drop.

7

Come per lo Sprite di default, anche nei Suoni troviamo il suono pop dato come predefinito. Allo stesso modo, cliccando con il tasto destro del mouse sul suono pop, scegliamo Cancella. In questo modo nella nostra libreria di suoni avremo soltanto il Water drop.

Inseriamo ora il suono nell’animazione. Torniamo sulla linguetta dei blocchi, cioè su Script.

Nella categoria Suoni dei blocchi (contraddistinti dal colore fucsia) scegliamo “Produci suono Water drop” ed inseriamolo dopo il blocco dire “Tuffiamoci!”.

8

  1. Il blocco Nascondi

Al termine dei blocchi inseriti fino ad ora, aggiungiamo dalla categoria Aspetto, il blocco “Nascondi”. Questo blocco comanderà al nostro Sprite di sparire dando l’effetto finale del tuffo in mare.

N.B il blocco “Nascondi” prevede però un blocco “Mostra” se vogliamo che al termine della nostra animazione lo Sprite torni visibile.

Pertanto subito sotto al blocco “Quando si clicca su bandierina verde”  inseriamo il blocco “Mostra”. Ogni volta che riavvieremo la schermata attraverso la bandierina verde, lo Sprite sarà nuovamente visibile.

9

Attenzione!  Stessa cosa dovremmo farla per la posizione, altrimenti quando cliccheremo su bandierina verde il nostro Sprite si troverà lì dove gli abbiamo comandato di scivolare in precedenza. Per far posizionare lo Sprite sempre nel punto desiderato basterà inserire il bloccoVai a X e Y” presente nella categoria Movimento subito dopo il blocco “Mostra”. Differentemente dal blocco “Scivola in n. secondi a X e Y”, questo farà immediatamente posizionare lo Sprite nel punto iniziale scelto. Nel mio caso sarà “Vai a X:-169 e Y:-88

10

Abbiamo terminato l’introduzione al game didattico. Se volete potete aggiungere la voce dei vostri alunni allo Sprite scelto. La procedura l’abbiamo intravista quando abbiamo scelto di inserire il blocco  “Produci suono Water drop”. Andando sulla linguetta in alto Suoni e cliccando sull’icona del microfono e poi cliccando sul tasto Rec (il tasto tondo) si potrà procedere a registrare la voce.

Il tasto modifica posto accanto al pulsante Rec permette di tagliare la registrazione eliminando i secondi di silenzio iniziali.

Una volta effettuata la registrazione si andrà sulla categoria dei blocchi Suono e si sceglierà il blocco “Produci suono Registrazione 1”, “Produci suono Registrazione 2” e così via.

11

Nel prossimo tutorial andremo avanti con il game didattico e faremo “acciuffare” al granchio le stelle marine e i pesci richiesti.

Scratch per le insegnanti: guida pratica per utilizzarlo in classe

Articolo pubblicato su Scuola e tecnologia in data 03 febbraio 2016

Molte colleghe mi hanno chiesto una piccola guida per poter prendere confidenza con Scratch in modo da poterlo proporre in classe sentendosi sicure nell’affrontare questo tipo di attività con i propri alunni.

Ho pensato a lungo a cosa proporre, ovviamente molto dipende dai destinatari dell’esercitazione, pertanto ho deciso di individuare un’ipotetica classe di alunni della quinta ed ho immaginato un’insegnante che volesse utilizzare Scratch per riprendere le prime lezioni di inglese sotto forma di Digital Storytelling.

1

Per spiegare meglio l’utilizzo di Scratch ho provveduto a creare un mini Videotutorial, dove oltre ad illustrare le funzionalità di Scratch spero possa trasmettervi soprattutto la facilità di utilizzo dello stesso.

Il primo videotutorial (sto pensando di proporne altri con obiettivi didattici diversi visto le richieste) ha come obiettivo quello di creare un mini-dialogo in lingua inglese utilizzando i termini appresi durante le lezioni frontali. Essi fanno riferimento al saluto tra pari, la propria presentazione nonché la conoscenza dell’altro.

Qui il link al #1Videotutorial (durata video 5 minuti e 40 secondi!)

Per chi non potesse vedere il video, di seguito riporterò alcuni screenshot dove andrò ad illustrarvi i passaggi eseguiti.

  1. Effettuare la registrazione sul sito di Scratch collegandosi alla pagina: https://scratch.mit.edu/Per prima cosa (anche se non è indispensabile) consiglio di effettuare la registrazione sul sito di Scratch. Per le insegnanti questo è molto utile perchè da un lato avrete modo di accedere a tutti i progetti dei vostri allievi (una volta creata una specifica galleria e lo vedremo in un altro Videotutorial) e dall’altro avrete sempre a portata di mano anche i vostri progetti personali.La registrazione è molto semplice, basterà cliccare su “Unisciti alla comunità di Scratch” e poi scegliere un username ed una password. Dovrete successivamente indicare un indirizzo di posta elettronica sul quale vi arriverà una mail per poter confermare l’iscrizione  e quindi attivare l’account.Se invece siete già registrati su Scratch sarà sufficiente loggarsi.

1

  1. Cliccare su crea.

Il tasto crea permette di entrare nella modalità di creazione di un progetto di Scratch. La schermata che vi si aprirà di default è questa, ma niente panico, ora vi spiego tutto!

Il riquadro bianco che contiene l’immagine di un gattino (che è il logo di Scratch) si chiama tela. Il gattino viene definito invece Sprite.

3

Sotto alla tela vi sono una serie di icone, passando con il mouse sopra ciascuna di esse vi appariranno delle breve informazioni. La prima icona fa riferimento al fatto che Scratch offre una galleria, detta libreria, di Sprite già presenti . La seconda icona (quella rappresentata con un pennello) indica la possibilità di disegnare (attraverso una schermata simile a Paint) uno Sprite, la terza icona indicata con una cartella sta a rappresentare la possibilità di caricare delle immagini presenti sul nostro pc, hard disk, usb, etc; ed infine l’ultima raffigurata con una macchinetta fotografica offre la possibilità di scattare una foto attraverso la web cam.

Per questa prima attività, scegliamo di utilizzare uno Sprite preso dalla libreria di Scratch.

La libreria degli Sprite

La libreria offre moltissimi Sprite che vengono raggruppati in categorie grazie al menù laterale sinistro. Non mi soffermerò sulla libreria, ma vi invito a curiosare nelle varie categorie.

4

  1. Scegliere un secondo Sprite

Nel mio videotutorial ho scelto di inserire come secondo Sprite il granchio, voi potete scegliere quello che preferite.

  1. Dare i comandi agli Sprite

Ora entriamo nel vivo della programmazione a blocchi. Ogni Sprite ha una schermata personale di destra. In questo spazio inseriremo le linee di comando per ciascuno.

I comandi sono contenuti negli Script. Essi sono raggruppati per tipologia contraddistntii ciascuno per colore.

Iniziamo i nostri comandi inserendo il blocco “quando si clicca su bandierina verde” che è di colore marroncino e che fa parte del gruppo “Situazioni” (man mano che utilizzerete i blocchi vi ricorderete anche come sono divisi per categorie).

La bandierina verde è lo Start del game o in questo caso del digital storytelling.

Il secondo blocco che inserirò è il dire (che si trova all’interno della categoria Aspetto). Attraverso questo blocco farò dire ciò che io vorrò al gattino. In questo esempio voglio fargli dire hello. Cliccando nello spazio bianco all’interno del blocco posso agire sul testo e modificarlo a mio piacere, ad esempio scrivendo ciao.

5

Cliccando in alto sulla bandierina verde (ricordate abbiamo dato il comando) il nostro sprite dirà Hello! Facciamo la prova.

N.B Esiste un blocco dire ed un blocco dire per n. secondi . La differenza è che i secondi indicati sono quelli per cui il balloon ovvero il fumetto resterà visibile sulla tela. In questo caso 2 secondi. Fate una prova nell’aumentare e diminuire i secondi sul blocco dire.

Il blocco successivo sarà l’attendi n.secondi, in questo caso lascerò 1 secondo. Andando avanti capirete l’importanza di questo blocco.

Passiamo al secondo Sprite, ovvero il granchio.

Cliccando sul granchio in basso nel riepilogo degli Sprite, vedrete che la sua finestra dei comandi presente sulla destra è in realtà vuota. Questo perchè come abbiamo detto, fino ad ora abbiamo “programmato” le azioni del gattino.

Anche al granchio aggiungiamo il blocco “quando clicco su bandierina verde”. In questo caso il granchio non dirà immediatamente hello, ma dovrà attendere il saluto del gattino. Come possiamo fare?

Aggiungiamo il blocco “attendi un secondo” e poi il blocco “dire per n. secondi”. Grazie a questo blocco il granchio risponderà subito dopo che il gattino lo avrà salutato.

Clicchiamo prima sullo Stop, ovvero il tasto rosso accanto alla bandierina verde per bloccare qualsiasi processo in corso e poi clicchiamo su bandierina verde per vedere il saluto tra i due Sprite.

7

Torniamo allo Sprite del gattino e clicchiamo in basso su di esso. Nella linea dei comandi aggiungiamo il blocco “dire per n. secondi” e facciamogli porre una domanda. Essa potrebbe essere (visto l’obiettivo didattico di cui sopra) What’s your name?

Cambiamo Sprite e clicchiamo sul granchio. Aggiungiamo il blocco “attendi n. secondi” e anche qui inseriamo il blocco “dire“. A questo punto il granchio potrà rispondere “My name is Crub”.

Ora clicchiamo sul tasto rosso di stop e poi su bandierina verde e godiamoci la breve animazione che avremo creato.

9

Ovviamente tutto questo tutorial è dedicato a voi insegnanti (nel caso voleste sperimentarvi su Scratch), ma in classe come si può portare tale attività?

Con i bambini vi assicuro che è tutto più semplice. Basterà proporgli l’obiettivo e tramite tentativi ed errori saranno in grado in pochissimo tempo di realizzare l’attività.

Potremmo pertanto dichiarare in classe l’obiettivo didattico, ovvero far parlare due personaggi (Sprite) tra loro, ma in lingua inglese. Diremo che i personaggi dovranno salutarsi e uno di loro dovrà chiedere all’altro come si chiama e il secondo personaggio dovrà rispondergli.

Oltre ad attivare il pensiero computazionale, il problem solving, il Creative Thinkering, se li farete lavorare a coppie essi si abitueranno ad attivare strategie comunicative nei confronti dell’altro, la mediazione, etc…ovvero tutte le competenze trasversali utili nei lavori tra gruppi.

Nel prossimo videotutorial vi spiegherò come inserire uno sfondo e come far muovere gli Sprite ed anche come aggiungere la voce dei bimbi per doppiare i nostri Sprite!

Battaglia navale con i Lego per insegnare agli studenti le tabelline

Pubblicato in data 27 gennaio 2016 su Scuola e Tecnologia

Ho trovato molto interessante l’idea di quella mamma che per insegnare la chimica ai propri figli ha utilizzato uno dei loro giochi preferiti, ovvero “Battaglia navale”, sostituendo il classico tabellone con la tavola periodica degli elementi (qui il link per saperne di più).

L’idea mi è piaciuta per diverse ragioni, la prima è stata la creatività. Non sempre nell’ambito della didattica si riesce e/o si intendono sperimentare nuove forme di insegnamento. L’altro motivo è stato per il fatto che questo genitore si è calato nel ruolo di figlio ed ha scelto quello che più piaceva a lui. Fin troppo spesso le parole apprendimento e divertimento appaiono lontane, ma credo che ciò debba cambiare!

Fin dai primi mesi di vita è proprio attraverso il gioco che il bambino può esplorare il mondo intorno a sé mettendo in campo un ampio spettro di abilità (sensoriali, motorie, cognitive, affettive, espressive, sociali, etc…).

A partire dalla didattica in aula fino alla formazione aziendale (vedi il gamification) si sta pian piano riscoprendo il valore del gioco e come questo faciliti la motivazione nonché i processi di apprendimento. Il gioco in questo contesto diviene elemento ed attività fondamentale per lo sviluppo della personalità di ogni essere umano.

Calando l’idea di mamma Karyn Tripp, ai problemi di casa nostra, ho pensato di replicare il gioco utilizzando come “tabellone” per il piano orizzontale quello delle tabelline unito però anche ai pezzi della Lego.

lego_battaglia navale

Come piano verticale possiamo utilizzare invece una base della Lego a cui avremmo inserito sia nella parte orizzontale in alto che nella parte laterale sinistra, gli stessi simboli della Lego utilizzati per il tabellone precedente.

lego_battaglia navale copia

Sempre sul piano verticale possiamo quindi posizionare i mattoncini Lego come navi della nostra flotta.

lego-bricks-large

Il gioco funzionerà come nel classico “Battaglia navale” chiamando le coordinate. In questo caso però non useremo il termine A-5 o B-8 ma diremo 3X3. Sì perchè diversamente dalla Battaglia navale classica o quella con la tavola periodica degli elementi, in questa delle tabelline ci troveremo ad avere alcuni risultati uguali. Ad esempio non si potrà semplicemente chiamare il 12 poiché esso sarà il risultato sia del 4X3 che del 3X4 (posizionati pertanto su righe e colonne diverse). Sarà importante quindi esplicitare la moltiplicazione e poi darne il risultato.

Se portato in classe questo gioco permetterà ai nostri alunni di divertirsi e nello stesso tempo di imparare a memoria le tabelline senza nemmeno accorgersene!

Piaget e Bruner individuano la scuola come luogo privilegiato di introduzione del bambino nel mondo della conoscenza, luogo di apprendimento nonché laboratorio per la conquista della razionalità, e se ciò è vero tanto più lo è la possibilità per le insegnanti di movimentare le energie cognitive ed affettive dei loro alunni al fine di ottenere il miglior processo di apprendimento nelle varie attività proposte.

Francesca Lazzari

Coding alla materna? Yes, we can

Pubblicato in data 22 gennaio 2016 su “Scuola e Tecnologia

Spesso parlo di coding e lo faccio rivolgendomi alle colleghe delle scuola primaria. L’altra sera sono stata a cena con delle amiche (e amiche di amiche), tra cui vi erano delle insegnanti di scuola materna. Durante la cena ho raccontato di come è possibile applicare il concetto di coding anche alla scuola dell’infanzia ed entusiaste dell’attività mi hanno chiesto di dettagliare il più possibile tutti i passaggi affinché l’esperienza di coding con i “piccolini” possa essere replicata da tutti gli interessati.

Materiali necessari da realizzare prima dell’inizio dell’attività (per ciascun gruppo):

– Ampio “tappeto” nero realizzato ad esempio con dei cartelloni bristol neri (suggerisco sei cartelloni della misura grande 70×100 per ciascun gruppo) che saranno stati precedentemente attaccati insieme con del nastro adesivo trasparente in modo da formare appunto un ampio tappeto nero.

– Reticolato bianco. Si può creare con la stoffa e cucire poi le varie strisce dove esse si incrociano, oppure utilizzare la carta modello e tagliarla per realizzare una griglia e poi incollarne i punti in cui si vanno a sovrapporre. L’unica attenzione è creare dei quadrati abbastanza grandi per far poi posizionare i bambini all’interno di essi.

– La testa del robot. Altro accessorio importante (soprattutto per il divertimento dei bambini) sarà avere a disposizione per ciascun gruppo una scatola di cartone grande abbastanza per far entrare in maniera comoda la testa di un bimbo. Questa scatola, intagliata per dare spazio agli occhi, naso e bocca sarà infatti il costume perfetto affinché ogni bimbo possa rappresentare il robottino che sta cercando la strada per tornare a casa.

– Gessetti colorati (blu, verde, rosso, bianco, grigio, etc…)

Attività.

Ipotizziamo di trovarci in una classe con 20 bambini. La prima attività da fare è farli sedere per terra a cerchio e mostrare loro un piccolo robottino. Possiamo raccontargli la storia del robottino che si è perso e che sta cercando di tornare sull’ astronave dove lo attendono i suoi genitori per riportarlo a casa. Attraverso l’attività che verrà proposta impareranno a dare le istruzioni necessarie al robottino per permettergli di trovare la strada per raggiungere l’astronave.

Il passo successivo è dividerli in gruppi. Secondo la mia esperienza il gruppo può essere funzionale se composto da un minimo di 3 fino ad un massimo di 5 bambini. Per questa attività sarebbe utile essere in compresenza o comunque cercare la collaborazione di una o più colleghe in modo che ciascuna maestra possa osservare e seguire attentamente massimo due gruppi (10 bambini).

Ad ogni bambino verrà data la possibilità di disegnare sul “tappeto nero” del proprio gruppo un ostacolo. Esso potrà essere una pozzanghera (una macchia blu), un cespuglio (una macchia verde), della lava (macchia rossa) etc… Un bambino infine dovrà disegnare anche l’astronave che riporterà il robottino a casa.

Terminato il disegno, un bambino per volta indosserà la “maschera” del robottino e sarà comandato dai suoi amici.

robottino

I comandi però dovranno essere del seguente tipo e ogni passo dovrà corrispondere ad un quadrato della griglia:

  • Un passo avanti
  • Un passo indietro
  • Un passo a destra
  • Un passo a sinistra

 

Per i più grandi, sarà anche possibile far anticipare alle istruzioni vocali, un proprio disegno rappresentante i comandi che si vorranno dare al robottino, con ad esempio delle frecce:

frecce.jpg

Questi fogli diventeranno delle rappresentazioni di stringhe di comandi veri e propri!

I più piccoli invece procederanno solo attraverso le indicazioni vocali, e al termine dell’attività, si potranno consegnare delle schede da colorare in cui vi è rappresentato il robottino (quello della storia raccontata) e la griglia sulla quale ogni bambino potrà replicare gli ostacoli del tappeto del proprio gruppo (o se molto piccoli posizionarli a piacere in posti diversi).

Competenze e abilità sviluppate

Cosa abbiamo ottenuto attraverso questa semplice attività unplugged?

 

  1. Si è lavorato sulla zona di sviluppo prossimale del bambino

La zona di sviluppo prossimale (ZSP) è un concetto introdotto dallo psicologo russo Lev Vygotskij è ed utile per spiegare come l’apprendimento del bambino si svolga con l’aiuto degli altri. La ZSP è definita come la distanza tra il livello di sviluppo attuale e il livello di sviluppo potenziale, che può essere raggiunto con l’aiuto di altre persone, che siano adulti o dei pari con un livello di competenza maggiore. In questo caso le maestre (ecco perché ogni insegnante dovrebbe stare al massimo su due gruppi) e i bambini più grandi della classe sono un ottimo aiuto per permettere al bimbo di acquisire nuove capacità senza sperimentare la frustrazione del fallimento.

 

2. Abbiamo fatto conoscere ed utilizzare ai nostri bambini gli algoritmi!

Un algoritmo è un procedimento che risolve un determinato problema attraverso un numero finito di passi elementari. In questo caso il problema è stato esposto all’inizio dell’attività attraverso la storia, ovvero far giungere il robottino fino alla sua navicella senza incorrere negli ostacoli. Seppur può sembrare un’attività banale, essa non lo è affatto poiché richiede l’attivazione di abilità cognitive specifiche come ad esempio la concettualizzazione del problema e l’attivazione della “previsione”. Se un bambino comanda al suo compagno “robottino” di fare un passo ma sul quadrato è stato disegnato un ostacolo, probabilmente non avrà attivato la previsione del movimento. Se un bimbo comanda di aggirare l’ostacolo, esso sta prevedendo una serie di passi che non sono ancora stati messi in pratica nella realtà, ma solo attraverso l’astrazione dei movimenti.

 

3. Hanno attivato la capacità del problem solving

Secondo lo psicologo Gaetano Kanizsa: « Un problema sorge quando un essere vivente, motivato a raggiungere una meta, non può farlo in forma automatica o meccanica, cioè mediante un’attività istintiva o attraverso un comportamento appreso».

Nel nostro caso i bambini devono riuscire a portare il robot alla navicella spaziale. Il problema è che sul percorso ci sono numerosi ostacoli e per aggirarli devono attuare una serie di strategie.

Per Piaget ed Inhelder vi è una distinzione tra immagini riproduttive (evocanti oggetti, situazioni o eventi noti) ed immagini anticipatorie (rappresentanti oggetti costruiti solo mentalmente). Essi affermavano che le immagini visive servivano da punto di partenza nell’attività di concretizzazione dei pensieri evocati dai simboli verbali e dai simboli matematici; questi ultimi, per la loro natura, sono astratti ma il solutore se ne fa un’immagine concreta (e questo è punto cruciale nel problem solving): proprio le immagini visive sono la chiave di volta di questa concretizzazione. In questa attività, la rappresentazione concreta del problema viene data dal tappeto nero, gli ostacoli, la navicella e la maschera per il robottino (immagini riproduttive), utili affinché i bambini possano sviluppare immagini anticipatorie (se faccio muovere di un passo il robottino, incapperà nell’ostacolo?)

Bruner distingue tre fasi di rappresentazione:

a) Esecutiva: fase in cui il mondo del bambino appare dominato dal “linguaggio” dell’azione, la realtà è assimilata dal soggetto nei termini di ciò che si fa o che si può fare

b) Iconica: si passa dal concreto reale al mondo delle immagini mentali astratte;

c) Simbolica: questa fase consiste nella “rappresentazione attraverso dei simboli” (ad es. il linguaggio). In un contesto matematico quando il bambino entra in contatto con simboli astratti inizia una rappresentazione simbolica.

Per Bruner, questi tre modi di rappresentazione si sviluppano in quest’ordine e ciascuno di essi è la base cognitiva per il successivo poiché sono collegati in modo evolutivo.

 

4. Nella memoria emozionale del bambino l’errore sarà unicamente un tentativo.

Sappiamo bene che l’apprendimento non si riferisce solo all’acquisizione di nuove conoscenze e capacità, ma esso fa riferimento anche agli atteggiamenti, i valori e le abitudini; riguarda pertanto tutta la sfera della personalità e non solo l’ambito delle conoscenze e della capacità esecutive. La dimensione emotiva svolge un ruolo fondamentale nell’apprendimento dei bambini soprattutto in età infantile. In questo caso, emozioni e sentimenti si intrecciano contribuendo attivamente (in maniera positiva o negativa), all’apprendimento. L’emozione positiva si trasforma così in sentimento positivo, ossia nel desiderio di apprendere, che gioca un ruolo primario soprattutto nell’ infanzia, periodo nel quale si innescano meccanismi di memorizzazione cosciente e volontaria. È in questo caso che l’errore (far giungere il robottino sull’ostacolo) deve essere unicamente inteso come tentativo attuato.

5. Ci stiamo avvicinando al coding

Come già detto in un precedente articolo, il termine coding contiene numerose sfaccettature, in generale può essere tradotto come l’attività di “fare” codice, o meglio di dare istruzioni, sì perché il linguaggio di programmazione nient’altro è se non l’indicare (attraverso delle regole stabilite) una serie di istruzioni (comandi) al pc che ha conseguentemente il compito di eseguirli.

Abbiamo gettato le basi del coding, poiché attraverso i comandi dati al robottino, si sono susseguite una serie di istruzioni che lo hanno portato fino alla meta!

5 buoni motivi per lavorare con Scratch in classe

Pubblicato in data 14 gennaio 2016 su “Scuola e Tecnologia

Fino ad un anno fa, quando parlavo di Scratch ai colleghi, dovevo specificare bene cosa fosse e perché lo trovavo così interessante. Oggi fortunatamente sembra essere entrato nel linguaggio comune di molti insegnanti.

Se ancora ci fosse qualcuno che non lo conosce, di seguito vi riporto una brevissima descrizione:

Scratch (nome derivato dalla tecnica dei DJ che mixando e remixando i dischi provocano l’inconfondibile suono) viene ideato dal gruppo del Lifelong Kindergarten del MIT, guidato da Mitchel Resnick, e si ispira alla teoria costruzionista dell’apprendimento di Seymour Papert.

Scratch

a seconda domanda che all’epoca mi ponevano i colleghi (e che ancora in molti oggi mi ripropongono ) è: “ma perché se sono un insegnante dovrebbe interessarmi?

In realtà di motivi ce ne sono tantissimi. Provo ad elencare quelli secondo me più rilevanti:

1.Sviluppo del pensiero computazionale. In un recente articolo ho elencato una serie di attività unplugged, le quali senza l’utilizzo di computer, facilitano lo sviluppo del computational thinking. È pertanto vero che non è necessario utilizzare i mezzi informatici, ma è anche possibile fare una torta senza uova, latte, burro e cioccolato…ma sicuramente non sarà gustosa come se avessimo aggiunto tutti questi ingredienti! Allo stesso modo possiamo scegliere o meno di utilizzare il pc, non dimentichiamoci però che i nostri allievi sono quelli definiti “nativi digitali” o i ragazzi della “generazione app”. Personalmente odio queste etichette, ma non vi è dubbio che essi sono circondati dalle tecnologie. Muoversi all’interno di un ambiente familiare permetterà loro da un lato di sentirsi confortati e dall’altro saranno più disposti a mettersi in gioco.

2.Imparare a programmare. Questo è uno dei motivi che viene ancora oggi lungamente discusso quando lo espongo. In realtà ciascuno di noi impara a leggere e a scrivere seppur in pochi poi professionalmente diventano scrittori. L’abilità di saper leggere e scrivere è fondamentale per potersi collocare in un determinato contesto storico-culturale. Stessa cosa accade per la programmazione. Ogni giorno che passa siamo sempre più legati ai supporti informatici. Imparare a programmare permetterà ai nostri allievi di uscire dalla logica di meri fruitori diventando loro stessi degli sviluppatori. Una volta lessi una frase che mi fece pensare a lungo, essa diceva (più o meno così): nel futuro esisteranno due categorie di uomini, quelli comandati dalle macchine e quelli che comanderanno le macchine. Chi vorresti che fossero i tuoi figli? Certamente è un pochino apocalittica e fantascientifica, ma credo che spieghi benissimo l’importanza della conoscenza del linguaggio di programmazione indipendentemente dalle scelte professionali future.

3.Imparare ad imparare attraverso il problem solving. Le Raccomandazioni del parlamento europeo e del consiglio del 18 dicembre 2006 relative alle competenze chiave per l’apprendimento permanente (lifelong learning) contengono cinque punti fondamentali affinché la Conoscenza (con la C maiuscola!) possa diventare la forza motrice per lo sviluppo della nostra società. Una delle competenze necessarie è l’imparare ad imparare, ovvero sviluppare l’abilità di perseverare nell’apprendimento, di organizzare il proprio apprendimento sia a livello individuale che in gruppo a seconda delle proprie necessità, e alla consapevolezza relativa a metodi e opportunità. Il Problem solving, inteso come la capacità di risolvere problemi attraverso l’attivazione di processi cognitivi atti a trovare strategie efficaci, è una delle attività che favorisce il ragionamento e permette di apprendere dagli errori e di trovare soluzioni alternative spronando appunto alla perseveranza nell’apprendimento.

4.Sviluppare le competenze trasversali. Sempre più spesso siamo chiamati a lavorare in team. Chi lavora nella scuola sa bene quanto sia difficile a volte trovare un punto di incontro tra diversi attori seppur il fine ultimo sia condiviso e ben chiaro. Aiutare i nostri allievi a sviluppare il proprio “saper essere” attraverso attività collaborative, permetterà loro di affinare l’intelligenza emotiva. Sembra paradossale accostare attività informatiche con le competenze emotive, ma in realtà esse sono strettamente legate se si guarda ai gruppi di lavoro. Progettare attività didattiche collaborative con Scratch favorirà il collaborative learning e la peer education.

5.Iniziare a concepire l’errore unicamente come tentativo svolto. Durante una lezione su Scratch che ho tenuto all’Università di Roma 3 agli studenti del cdl di Scienze della Formazione Primaria, il Prof. Fabio Bocci intervenne sottolineando come il termine errore derivi dal latino error -oris, ovvero errare. Attraverso l’errare, ovvero l’esplorare è possibile scoprire. Ed ecco che l’errore tanto temuto dai nostri allievi diventa unicamente una modalità di apprendimento e non più un fallimento. La paura di fallire spesso impedisce il mettersi in gioco, diventa un blocco mentale che accompagna lo studente lungo tutta la propria carriera scolastica. Se l’errore non equivale più al fallimento, a qualcosa di cui ci si debba vergognare, ma diviene occasione di miglioramento, allora l’errore riacquista un significato neutro. Durante una conferenza stampa un giornalista chiese a Thomas Alva Edison : “Dica, Mr. Edison, come si è sentito a fallire duemila volte nel fare una lampadina?”. Ebbene, la risposta di Edison fu: “Io non ho fallito duemila volte nel fare una lampadina; semplicemente ho trovato millenovecento-novantanove modi su come non va fatta una lampadina”.