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

Dalla mimosa al coding, la lunga lotta delle donne per la parità

Pubblicato su Scuola e Tecnologia in data 4 Marzo 2016

Durante il mio ultimo anno di università, il Prof. di Storia della scuola ci consigliò di leggere “Prima della quiete. Storia di Italia Donati”. Per chi non conosce Italia Donati, qui trovate un interessante articolo. Sinteticamente può essere considerata l’insegnante simbolo di un’Italia (siamo nel 1880) che stenta a concedere dignità e autonomia a quelle donne che si trovano lontane dalle proprie famiglie. Inutile nascondere che mi innamorai immediatamente di quel testo e della sua autrice.

Elena Gianini Belotti che per 20 anni ha diretto il Centro Nascita Montessori di Roma, è anche l’autrice di “Dalla parte delle bambine”.

Dalla parte delle bambine” è un testo crudo e a volte scomodo, in cui vengono riportati i numerosi condizionamenti culturali che ciascuno di noi subisce nel corso del proprio sviluppo. Condizionamenti diversi a seconda del genere in cui le bambine appunto ne escono perdenti.

La Belotti nel suo testo afferma: “L’operazione da compiere, che ci riguarda tutti, ma soprattutto le donne perché ad esse è affidata l’educazione dei bambini, non è quella di tentare di formare le bambine ad immagine e somiglianza dei maschi, ma di restituire a ogni individuo che nasce la possibilità di svilupparsi nel modo che gli è più congeniale, indipendentemente dal sesso cui appartiene”.

Nessun genitore non potrà non trovarsi d’accordo, eppure è quello che ciascuno di noi inconsapevolmente non fa. ‎

Ed eccoci arrivati ad oggi, sì perché il testo della Belotti risale al 1973, ma seppur è cambiato il contesto storico, quello sociale sembra non essersi evoluto.

Spesso nei miei articoli parlo di coding e di pensiero computazionale, riporto in forma di testo, esperienze, idee e progetti utili per le colleghe insegnanti che vogliono introdurre metodologie didattiche innovative per facilitare l’apprendimento delle cosiddette STEM (ovvero scienza, tecnologia, ingegneria e matematica).

Ma cosa centra il coding e in senso più lato il pensiero computazionale con Elena Gianini Belotti ed Italia Donati?

La risposta è semplice e basta osservare i numeri. La mancanza di donne nei settori informatici è un problema ben documentato: in Italia solo il 23% degli iscritti alla facoltà di Ingegneria è donna. Percentuale che sale al 38% fra gli studenti delle facoltà scientifiche in generale. (Per approfondire qui un estratto da: Rosti L., 2006, “La segregazione occupazionale in Italia“).

donne-stem

Cosa possiamo fare per avvicinare le ragazze al coding e per permettere loro di essere autonome nel seguire i propri interessi anche se essi vengono generalmente considerati come materie e argomenti più prettamente maschili?

  • Innanzitutto dobbiamo farci ambasciatrici di un’uguaglianza di genere avendo consapevolezza delle barriere sociali e culturali che ci circondano. Loredana Lipperini con il suo più attuale  “Ancora dalla parte delle bambine” può aiutarci nell’individuare come riviste, tv, pubblicità e più in generale i nuovi media, bombardino costantemente le nostre figlie ghettizzandole con etichette preconfezionate.
  • Cominciare fin da piccoli. In un precedente articolo dal titolo “Coding alla materna? Yes we can!” ho parlato di come sia possibile introdurre anche i bambini più piccoli nelle logiche del pensiero computazionale. Esistono molte attività unplugged (qui una lista) tra cui scegliere. I Lego, i puzzle, battaglia navale sono solo alcuni dei giochi che favoriscono lo sviluppo del problem solving. Sarebbe pertanto opportuno far utilizzare questi giochi a tutti (anche alle bambine senza considerarli giochi da maschio).
    Trovare organizzazioni che puntano sulla diffusione del codice (e che abbiano una buona percentuale di ragazze già iscritte). Dalla mia esperienza di Mentor in contesti didattici/ludici in cui insegniamo il coding ai bambini, è facile vedere come i maschi siano in numero maggiore rispetto alle femmine. Ciò potrebbe (ed uso il condizionale) essere uno svantaggio per quelle bambine che vedendosi, soprattutto nella fascia di età tra i 7e i 12 anni, in minoranza si allontanano da un’attività che invece trovano interessante. Esistono delle organizzazioni rivolte esplicitamente alle ragazze, ad esempio  Girls Who Code e Girls code it better .
  • Mostrare modelli vincenti. Non è un caso se tutte (o quasi, non generalizziamo!) le ragazze italiane da grandi vogliono fare la Velina ed i ragazzi i calciatori. Se i modelli di ruolo che vedono vincenti ed osannati da genitori e dallo show business sono questi, è indubbio che crescendo vorranno diventare dei cloni dei loro idoli. Se per i ragazzi il mito è quello del calciatore, mito che prevede abilità fisiche, impegno sportivo, etc… per le ragazze l’unico asso nel mazzo capace di introdurle nel mondo patinato dello spettacolo è la bellezza. Se invece mostriamo loro ad esempio la simpaticissima, intelligente, energica, coinvolgente e bella (bellezza che diviene una delle tante qualità e non l’unica!) Samantha Cristoforetti, ingegnere, aviatrice, astronauta militare italiana e prima donna italiana negli equipaggi dell’Agenzia Spaziale Europea, forse inzieranno a voler sostituire la carta della bellezza con altre qualità. Di donne così ne abbiamo oggi e ne abbiamo avute in passato, donne che tutto il mondo ci invidiano: Rita Levi-Montalcini, Fabiola Gianotti, Arianna Menciasi, Margherita Hack, etc…

carte

Incoraggiare la nostra/vostra scuola ad insegnare il coding. In un passato articolo dal titolo “Dall’informatica al coding” a cui vorrei aggiungere un ironico quanto amaro sottotitolo, ovvero cosa (non) è cambiato, ho cercato di ripercorrere brevemente il passaggio da quella che negli anni ‘80-90 veniva chiamata ora di informatica e che oggi viene definito coding, senza però aver mutato la metodologia di insegnamento e tantomeno le logiche pedagogiche che contraddistinguevano la prima. Incoraggiare la vostra scuola ad insegnare il coding, non vuol pertanto dire prevedere un momento avulso dalle classiche discipline, ma vuol dire integrare il coding in esse (e non tra di esse!!). In una lezione ho paragonato il coding al parmigiano. Esso può essere mangiato da solo, ma non è meglio spolverarlo sopra un buon piatto di spaghetti (magari al ragù)? Se intendo insegnare il piano cartesiano, posso farlo con Scratch! E non utilizzo Scratch per spiegare il coding. Il nodo sta proprio qui. Tutta la didattica può essere trasformata grazie all’utilizzo del pensiero computazionale, poiché esso è un processo mentale per la risoluzione di problemi costituito dalla combinazione di metodi caratteristici e di strumenti intellettuali, entrambi di valore generale!

coding-quote

Francesca Lazzari

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!