!1 Guida codeSpark per il Docente Dear Intrepid Teacher, Grazie per l’interessamento all’insegnamento della programmazione ai bambini! La conoscenza dell’informatica e del “pensiero algoritmico” e’ sempre piu’ importante per avere successo nel mondo digitale. Questa abilita’ sta diventando una componente critica nell’alfabetizzazione del ventunesimo secolo. codeSpark ha creato The Foos come introduzione all “ABC dell’Informatica”. Sebbene sia importante preparare i bambini per un ufficio moderno, l’informatica va oltre il concetto di trovare un lavoro altamente tecnico. Ricerche dimostrano che l’informatica aiuta gli studenti a migliorare in aree fondamentali come la matematica, la logica e persino la comprensione nella lettura. Spesso si pensa alla programmazione o scrittura del codice come all’informatica, ma questo e’ solo uno degli elementi. Fondamentalmente l’Informatica studia come usare il ragionamento logico per identificare, semplificare e risolvere problemi. Non e’ solo 0 e 1. Studi del MIT e della Tufts University dimostrano che studenti fin dai 5 anni di eta’ possono imparare concetti informatici complessi, specialmente quando vengono tolte le barriere artificiali della sintassi. codeSpark ha creato un approccio unico ed efficace per l’insegnamento dell’informatica fondato su ricerche all’avanguardia e centinaia di ore di test prototipali. I giochi educativi di codeSpark sono stati progettati senza l’uso delle parole cosi’ che anche studenti che ancora non sanno leggere possano giocare ed imparare. Giocando ai nostri giochi, gli studenti miglioreranno il pensiero critico e altre abilita’, tutto mentre si divertono! -- Il Team codeSpark Domande o suggerimenti? Scrivete una email a [email protected] Scarica l’app gratuita qui – http://thefoos.com !2 Indice dei Contenuti Informatica per bambini dai 5 agli 11 anni 4 Introduzione 11 Lezione 1: Sequenze 23 Lezione 2: Sequenze Flessibili 36 Lezione 3: Comandi & Parametri 40 Lezione 4: Eventi 51 Lezione 5: Cicli 63 Lezione 6: Efficienza 73 Lezione 7: Cicli Infiniti 80 Lezione 8: Istruzioni Condizionali I 87 Lezione 9: Istruzioni Condizionali II 91 Lezione 10: Debug 98 Fogli di Lavoro 144 Glossario 146 Rubrica 147 Riferimenti 148 Riconoscimenti 3 ! INTRODUZIONE Informatica per bambini dai 5 agli 11 anni Introduzione per l’insegnante: Queste 10 lezioni forniscono un’introduzione divertente, flessibile e avvincente ai concetti di base dell’informatica. Si rivolgono a bambini dai 5 agli 11 anni di eta’, ma sono stati usati con successo anche con studenti fino ai 15 anni di eta’. Le lezioni vogliono essere altamente adattabili. Suggeriamo spesso variazioni nelle lezioni stesse. Sara’ il docente il migliore a poter giudicare quali concetti devono essere approfonditi e quale argomento diverte di piu’ gli studenti. Inoltre ogni lezione include un’attivita’ con il gioco, The Foos, e un’attivita’ “disconnessa” che non richiede un computer o altro dispositivo connesso. Materiale: Ilgioco,“TheFoos"–CodeforanHour.Scaricarlopressothefoos.com DisponibileinversioneGRATUTAperiPad,iPhone,Androideweb (supportatodallamaggiorpartedeibrowsercomeChrome,Safari,IE,ecc.) Materiale necessario: consultare ciascuna lezione per maggiori dettagli Non e’ necessaria alcuna esperienza, ma si consiglia di leggere la lezione e provare un paio di livelli del gioco prima di insegnare per la prima volta. Nota bene: Questo Curriculum dell’Ora del Codice fornisce approssimativamente 10 ore di lezione. Iscrivendosi alla “Foosletter” su thefoos.com, si verra’ informati sull’eventuale espansione del curriculum e sulle nuove versioni del gioco. !4 INTRODUZIONE Informatica per bambini dai 5 agli 11 anni Cos’e’ l’Informatica? L’informatica si riduce nel risolvere problemi con uno specifico insieme di istruzioni dato che i computer possono fare esattamente solo cio’ che e’ stato detto loro di fare. Si pensa che i computer siano intelligenti ma in realta’ dobbiamo dir loro cosa fare! Non possono anticipare cosa vogliamo da loro; solo un informatico sa trovare le istruzioni precise che un computer necessita per funzionare. Imparare a pensare come un informatico o programmatore aiuta i bambini a suddividere i problemi, pensare in sequenze logiche e usare il linguaggio in modo preciso per fornire istruzioni. Come ragionare come un informatico: • i computer fanno solo cio’ che viene loro detto • i processi quotidiani come il preparasi per la scuola o fare un panino possono essere pensati come un insieme di istruzioni (per esempio: prendi il pane, mettilo nel tostapane, tostalo ecc) • l’informatica comincia spesso con un problema da risolvere • gli informatici devono essere molto creativi per riuscire a: risolvere problemi, intrattenere, aiutare con i compiti di ogni giorno ecc. • gli informatici lavorano per la maggiorparte in gruppo, non da soli. I gruppi sono generalmente migliori dei singoli individui nel trovare soluzioni creative • le strategie come “Prova e impara” sono generalmente le migliori. Fare errori e’ sempre parte del percorso verso la risposta giusta • gli informatici devono essere in grado di riconoscere i modelli (pattern) dal rumore, un concetto noto come “astrazione”. La prima lezione si concentra sull’identificazione di oggetti comuni che funzionano solo dopo aver fornito le giuste istruzioni. Poi verra’ quest’idea al lavoro programmando il Foo Poliziotto – il primo personaggio che si incontra nel gioco. 5 ! INTRODUZIONE Informatica per bambini dai 5 agli 11 anni Chi Sono I Foo? I Foo sono personaggi adorabili e simpatici recentemente scoperti dagli scenziati. Sono molto piccoli e vivono in ogni computer, inclusi smartphone, tablet e i computer della classe! Ogni Foo sa camminare, saltare, lanciare, mangiare e navigare nel proprio mondo, chiamato “Fooville.” Alcuni Foo hanno abilita’ speciali che li rendono unici, ad esempio: • Foo Poliziotto – sa rincorrere e catturare il Glitch • Foo Cuoco – sa cucinare ogni tipo di cibo • Foo Ninja – sa rimpiccolirsi o ingrandirsi • Foo Astronouta –saviaggiareinquattrodirezioni • FooCostruttore–sacrearecasseesafarlesaltareinaria Ma, proprio come i computer, i Foo fanno solo cio’ che viene loro detto. Gli studenti devono imparare a fornire comandi specifici, o a programmare i Foo, in un ordine specifico. Attenzione! Il personaggio blu con le corna bianche e’ il Glitch (problema tecnico). E’ una forza del caos a Fooville. Alle volte combina guai, alle volte tira oggetti e alle volte appare inaspettatamente. 6 ! INTRODUZIONE Informatica per bambini dai 5 agli 11 anni In Che Modo I Foo Mi Aiutano Ad Insegnare l’Informatica? Ciascun Foo e’ come un piccolo computer animato. Gli studenti li programmano per risolvere problemi, imparare nuove abilita’ ed esplorare Fooville. Man mano che gli studenti progrediscono nel gioco, i programmi necessari diventano piu’ complessi. La programmazione aiuta a risolvere ogni tipo di problema nella vita dei Foo, proprio come le abilita’ imparate dalla programmazione possono aiutare a risolvere problemi nella vita reale! “The Foos" combina sia esperienze strutturate che libere per l’apprendimento. Oltre ai livelli strutturati che insegnano agli studenti come giocare a “The Foos,” ci sono diverse aree “Scatole di Giocattoli” dove gli studenti possono lasciar correre libera l’immaginazione programmando i vari Foo ad interagire tra loro. Quando gli studenti sbloccano ulteriori Foo e abilita’, si espandono anche le opzioni di gioco nelle aree delle Scatole dei Giocattoli. Soprattutto, The Foos e’ molto molto divertente da giocare! Cio’ significa che gli studenti si interessano profondamente a concetti sofisticati e sono ansiosi di imparare di piu’ e di provare la propria conoscenza del gioco e della programmazione. L’Informatica diventa presto la materia preferita! Quali Sono Le Tipiche Idee Sbagliate Sulla Programmazione? • IComputersonointelligenti!– I computer in realta’ sono stupidi e richiedono uno specific insieme di istruzioni per funzionare. Sono solo molto veloci. • L’Informaticae’soloprogrammazione – L’Informatice e’ in realta’ multidisciplinare e insegna matematica, risoluzione dei problemi e logica. • L’informaticae’solopermaschi-AdaLovelacevieneconsideratalaprima programmatricedellastoria.Ilprimocomputertotalmenteelettronicovenne programmatoda6donne. The Foos E’Allineato Con Gli Standard Americani? Si’! Il Curriculum di The Foos e’ allineato con gli standard di matematica americani, elencati qui sotto. Il completamento delle 10 lezioni completa tutti gli standard. 7! INTRODUZIONE Informatica per bambini dai 5 agli 11 anni Standard di Matematica Pratica Matematica Pratica Lezione Capisce i problemi e persevera nel risolverli • Lezione1:Sequenze • Lezione4:Eventi • Lezione10:Debug Ragiona in modo astratto e quantitativo • Lezione8:IstruzioniCondizionaliI • Lezione9:IstruzioniCondizionaliII Costruisce argomentazioni valide e critica il ragionamento altrui • Lezione10:Debug Crea modelli matematici • Lezione5:Cicli • Lezione7:CicliInQiniti Usa strategicamente gli strumenti appropriati • • • • • Lezione6:EfQicienza Lezione5:Cicli Lezione7:CicliInQiniti Lezione8:IstruzioniCondizionaliI Lezione9:IstruzioniCondizionaliII Tende alla precisione • • • • Lezione1:Sequenze Lezione3:ComandieParametri Lezione5:Cicli Lezione7:CicliInQiniti Cerca e usa strutture • Lezione1:Sequenze • Lezione2:SequenzeFlessibili • Lezione10:Debug Cerca ed esprime regolarita’ nel ragionamento ripetuto • • • • Lezione5:Cicli Lezione7:CicliInQiniti Lezione8:IstruzioniCondizionaliI Lezione9:IstruzioniCondizionaliII 8 ! INTRODUZIONE Informatica per bambini dai 5 agli 11 anni Consigli e Trucchi Questa e’ la schermata principale, fare click sui livelli puzzle. 9 ! INTRODUZIONE Informatica per bambini dai 5 agli 11 anni Per sbloccare tutti i livelli di un capitolo: Sesidesiderafarsaltareilivelliairagazzi,sipuo’semplicementefareclicke tenerepremutol’ultimolivellodelcapitolo(cerchiato). Reset dei progressi: Per resettare i propri progressi andare nello schermo del profilo (nella schermata principale) si puo’ creare un nuovo profilo. Se esistono gia’ tre profili se ne puo’ concellare uno. Creare un nuovo profilo ! 10 Lezione 1 Sequenze The Foos Capitolo 1 Durata: 45-60 Min Materiali: Tablet o Computer conTheFoos Una matita per ogni studente Storia Sequenziale 1 & 2 Obiettivi di Apprendimento: Capire che i computer sono potenti ma necessitano di aiuto per funzionare. - Fannosolocio’chevienelorodetto,nell’ordineincuiricevonoleistruzioni. - Capirequaliistruzionidarealcomputerpuo’risultarecomplicato. Abituare gli studenti all’utilizzo della strategia “prova e impara” per la risoluzione dei problemi. - “Sbagliaree’parteintegrantedelpercorsoversolarispostagiusta.” Vocabolario: Programmare: Creare una sequenza di istruzioni, o un algoritmo, che fa fare qualcosa al computer Algoritmo: Istruzioni per risolvere un problema o completare un compito Sequenza: Istruzioni passo passo nell’ordine nel quale devono essere eseguite ! 11 Lezione 1 Sequenze The Foos Capitolo1 Introduzione: Iniziare con una discussione di gruppo sui computer che ci circondano. Ad esempio laptop, oppure telefoni cellulari, proiettori o termostati. Discutere su quali “istruzioni” diamo a questi computer e cosa fanno. Per esempio, possiamo dire alle calcolatrici di addizionare o ai telefoni cellulari di effettuare una chiamata. Nella programmazione usiamo la parola algoritmo per descrivere le istruzioni che diamo ai computer per risolvere problemi. Le istruzioni in uno specifico ordine sono chiamate sequenza. Chiedere agli studenti di pensare all’algoritmo per prepararsi la mattina per andare a scuola. “Chesuccederebbesecimettessimoilcappottoprimadeivestiti?La magliettaeipantalonistarebberosopraalcappotto,sarebbestrano!“.Quando scriviamo algoritmi l’ordine delle istruzioni e’ molto importante. Introdurre l’approccio “Prova e Impara” per risolvere i problemi, che gli studenti possono usare mentre giocano a “The Foos.” 1! 2 Lezione 1 Sequenze The Foos Chapter 1 In caso negativo, cosa si e’ imparato provando? Passo 1: Capire il problema Qual e’ lo scopo del puzzle? Passo 2: Pianificare Passo 4: Imparare Il problema e’ stato risolto? Prova e Impara Passo 3: Provare la pianificazione Cosa e’ successo provando l’algoritmo Cosa si vuole che faccia il Foo? Scrivere un algoritmo che si pensa possa risolvere un problema 1! 3 Lezione 1 Sequenze The Foos Capitolo 1 Attivita’ del Gioco: Far giocare gli studenti con i primi otto (8) livelli (Foo Poliziotto). Se gli studenti hanno difficolta’ col gioco, reiterare l’approccio “Prova e Impara” per la risoluzione dei problemi. Attivita’ Disconnessa: 1. Suddividere gli studenti in coppie. 2. Fornire una matita e una Storia Sequenziale 1 ad ogni coppia. 3. Far identificare a ogni coppia quale figura va messa nella storia per prima, seconda, terza ecc. e far mettere un numero vicino ad ogni figura per identificare l’ordine degli eventi. 4. Per una sfida extra far provare agli studenti la Storia Sequenziale 2 ProTip: Incoraggiare gli studenti ad usare la strategia Prova e Impara (pag.11) durante tutto il curriculum codeSpark. Cio’ li aiutera’ a sviluppare la capacita’ di risolvere problemi e la persistenza. Si puo’ provare ad usare la stessa strategia anche in altre attivita’ scolastiche! Lapaginaseguentee’unaguidaperlerispostedellaStoriaSequenziale1&2. 1! 4 Lezione 1 Sequenze The Foos Capitolo 1 1! 5 Lezione 1 Sequenze The Foos Capitolo 1 Risposte !16 Lezione 1 Sequenze The Foos Capitolo 1 !17 Lezione 1 Sequenze The Foos Capitolo 1 Risposte 1! 8 Lezione 1 Sequenze The Foos Capitolo 1 Risposte !19 Lezione 1 Sequenze The Foos Capitolo 1 Risposte 2! 0 Lezione 1 Sequenze The Foos Capitolo 1 2! 1 Lezione 1 Sequenze The Foos Capitolo 1 Discussione Informativa: • Qual e’ stata la parte piu’ complessa della Storia Sequenziale? • Permettere al gruppo di avere uno scambio di idee sugli algoritmi quotidiani (per esempio prepararsi per andare a letto, le attivita’ giornaliere della classe ecc.) • Se il tempo lo permette, provare a scriverli sulla lavagna per controllare se l’ordine ha senso. 2 ! 2 Lezione 2 Sequenze Flessibili The Foos Capitoli 1 & 2 Durata: 45-60 Min Materiali: Tablet o computer con TheFoos Carta e matita Sequenze Flessibili 1 & 2 Obiettivi di Apprendimento: Capire quali azioni devono succedere in uno specifico ordine per completare un compito. Imparare che alcune sequenze sono piu’ flessibili di altre. - Adesempio,fareunpaninoalburrodiarachidirichiedediiniziareeTinire conunpezzodipanemanonimportasesimetteprimailburrodiarachidi olamarmellata Vocabolario: Sequenza: Istruzioni passo passo nell’ordine nel quale devono essere eseguite. Introduzione: Discutere assieme su come alcune sequenze sono piu‘ flessibili di altre. Chiedere agli studenti se riescono a pensare a una qualche sequenza flessibile presente nelle loro attivita’ mattiniere. (Magarisilavanoidentiperpoifare colazioneoprimafannocolazioneepoisilavanoidenti). 2 ! 3 Lezione 2 Sequenze Flessibili The Foos Capitoli 1 & 2 Ulteriori esempi: (l’ordine in cui mettono in ordine la propria stanza, l’ordine in cui si vestono, l’ordine in cui abbracciano i loro pupazzi di peluche) Introduzione (cont): Alcune sequenze sono totalmente flessibili mentre altre richiedono un determinato punto di partenza e di fine (ad esempio svegliarsi e andare a scuola e’ una sequenza che avra’ sempre inizio con lo svegliarsi e terminera’ sempre con l’arrivo a scuola). Rinforzare il concetto che alcune sequenze sono solo parzialmente flessibili. Attivita’ del Gioco: Rigiocare i livelli 5-8 per rinforzare il concetto di programmazione e sequenza logica. Giocare al Livello 2: Foo Costruttore livelli 9-12. Chiedere agli studenti se pensano che the Foos contengano sequenza flessibili. Si’! Incoraggiare gli studenti a provare altri tipi di sequenze per (ri)guadagnare 3 stelle nei livelli gia’ terminati. 2! 4 Lezione 2 Sequenze Flessibili The Foos Capitoli 1 & 2 Attivita’ Disconnessa: 1. Suddividere gli studenti in coppie. 2. Fornire a ciascuna coppia una matita e un foglio Sequenza Flessibile Panino. 3. Far risolvere la sequenza panino a ciascuna coppia come hanno fatto nella Lezione 1, ma reiterare il concetto che con questa non c’e’ necessariamente un ordine “corretto”. 4. Far scambiare le sequenze tra le varie coppie in modo da far vedere le differenze. 5. Per un’ulteriore sfida, far provare alle coppie la Sequenza Storia Flessibile. ProTip: Programmazioneincoppia–Se qualche studente finisce prima, far aiutare loro gli studenti che stanno ancora lavorando. Si possono anche creare le coppie fin dall’inizio, con una persona che “guida” controllando il mouse, la tastiera o lo schermo, mentre l’altra persona fa da “navigatore” rispondendo alle domande del guidatore e facendo notare potenziali problemi o errori. Lapaginaseguentecontienelerisposteperleattivita’SequenzaFlessibile1&2. !25 Lezione 2 Sequenze Flessibili The Foos Capitoli 1 & 2 !26 Lezione 2 Sequenze Flessibili The Foos Capitoli 1 & 2 Risposte !27 Lezione 2 Sequenze Flessibili The Foos Capitoli 1 & 2 Risposte !28 Lezione 2 Sequenze Flessibili The Foos Capitoli 1 & 2 Risposte !29 Lezione 2 Sequenze Flessibili The Foos Capitoli 1 & 2 3 ! 0 Lezione 2 Sequenze Flessibili The Foos Capitoli 1 & 2 Risposte ! 31 Lezione 2 Sequenze Flessibili The Foos Capitoli 1 & 2 Risposte 3 ! 2 Lezione 2 Sequenze Flessibili The Foos Capitoli 1 & 2 Risposte !33 Lezione 2 Sequenze Flessibili The Foos Capitoli 1 & 2 3 ! 4 Lezione 2 Sequenze Flessibili The Foos Capitoli 1 & 2 Discussione Informativa • Cisonostatecoppieconsequenzedifferenti?Eranocorretteentrambele sequenze?Perche’si’operche’no? • Nel costruire un robot che sa fare i panini quale parte sarebbe la piu’ facile da automatizzare? Quale la piu’ difficile? Perche’? !35 Lezione 3 Comandi & Parametri The Foos Capitoli 2 & 3 Durata: 45-60 min Materiali: Tablet o computer con “The Foos" 1 mazzo di carte Comandi & Parametri per ogni studente Carta e matita Obiettivi di Apprendimento: Imparare cosa sono i comandi e come modificarli con i parametri. Imparare che i comandi sono le istruzioni principali mentre i parametri sono i dettagli – Ad esempio “cammina” e’ un comando mentre “sinistra” e’ un parametro. Vocabolario: Comando: istruzione principale che dice al computer quale azione compiere (per esempio: corri, salta, cammina) Parametro: dettaglio dell’istruzione che aggiunge informazioni piu’ specifiche sul comando (ad esempio: direzione, colore, oggetto su cui eseguire il comando) Introduzione: Introdurre i concetti di comandi e parametri chiedendo alla classe di dare le indicazioni per arrivare dalla propria classe alla biblioteca. Dire agli studenti di essere specifici e di assicurarsi di includere cose come la direzione (sinistra, destra, su, giu’). Scrivere le indicazioni sulla lavagna e rinforzare il concetto che le direzioni sono un tipo di algoritmo che ci dice come arrivare dalla classe alla biblioteca. Cerchiare ciascun comando e sottolineare i parametri. Ci sono similitudini tra le parole cerchiate e quelle sottolineate? !36 Lezione 3 Comandi & Parametri The Foos Capitoli 2 & 3 Introduzione (cont.): Spiegare che le sequenze devono includere comandi per dire quale azione compiere e parametri per aggiungere informazioni piu’ specifiche su come l’azione deve essere compiuta. Attivita’ del Gioco: Completare tutti i livelli del Capitolo 2: Foo Costruttore Andare al Capitolo 3: Livelli Ninja (livelli di rinforzo) Dopo il gioco chiedere agli studenti di dire il nome di alcuni dei comandi di The Foos. Poi far loro provare a dire il nome di qualche parametro (rinforzareladifferenzatra idue). Attivita’ Disconnessa: 1. Suddividere gli studenti in coppie. 2. Dare a ciascuno studente un mazzo di carte Comandi & Parametri. 3. Dare carta e matita a ciascun gruppo di studenti. !37 Lezione 3 Comandi & Parametri The Foos Capitoli 2 & 3 4. Usando le carte ciascun gruppo prova a creare il maggior numero possibile di istruzioni in 5-10 minuti. - Ricordare agli studenti che ciascuna istruzione deve includere un comando e un parametro. - Combinare una carta comando e una parametro per creare una singola istruzione. - Registrare ogni istruzione create dagli studenti su carta. 5. Dopo 5-10 minuti contare quante istruzioni sono state create da ciascun gruppo. ProTip: DebrieTing(DiscussioneFinaleInformativa) – Raggruppare l’intera classe per discutere della lezione aiuta gli studenti a riflettere su cio’ che hanno imparato. Le discussioni informative sono anche intese come momento per mettere in relazione la lezione con la vita reale per rendere la programmazione rilevante nella vita quotidiana di ciascuno studente. LapaginaseguentecontieneleCarteComandieParametri. !38 Lezione 3 Comandi & Parametri The Foos Capitoli 2 & 3 Carte Comandi e Parametri Le carte grigie sono Comandi mentre quelle bianche sono Parametri CAMMINA SALTA DESTRA SINISTRA RINCORRI TIRA SU MELA RACCOGLI COSTRUISCI PALLA PROBLEMA TECNICO FAI ESPLODERE CAMBIA COLORE ROSSO BLU CAMMINA SALTA DESTRA SINISTRA RINCORRI TIRA DRITTO IN SU MELA RACCOGLI COSTRUISCI PALLA PROBLEMA TECNICO FAI ESPLODERE CAMBIA COLORE ROSSO BLU LecartesonoanchedisponibiliallaTinedellibro. !39 Lezione 4 Eventi The Foos Capitolo 4 Durata: 45-60 min Materiali: Tablet o computer con “The Foos" Colori Mappa remota per gli studenti Copia con le indicazioni per l’attivita’ telecomando per la mappa remota Obiettivi di Apprendimento: Capire che gli eventi ci permettono di avere opzioni negli algoritmi. Non sono predeterminati ma fanno succedere le cose solo quando gli eventi accadono. Vocabolario: Evento: un’azione o uno spunto che segnala ad una linea di codice di entrare in esecuzione. Peresempio: - Quandounostudentealzalamano(l’evento),ildocentelochiama(l’azione risultantedall’evento). - Quandolasvegliasuona(l’evento),cisisveglia(l’azionerisultante dall’evento). Introduzione: Introdurre il concetto di eventi dicendo agli studenti che verranno poste delle domande e che gli studenti dovranno alzare la mano quando vorranno essere chiamati per dare la risposta. Poi fare domande semplici alle quali la maggior parte degli studenti sappiano rispondere: Di che colore sono i miei capelli? 4 ! 0 Lezione 4 Eventi The Foos Capitolo 4 Che tempo fa oggi? Che giorno della settimana e’? Introduzione (cont.): Chiamare uno studente che ha alzato la mano e far rispondere alla domanda. Poi chiedere alla classe come si faceva a sapere che quello studente voleva essere chiamato. La classe dovrebbe dire che lo studente ha alzato la mano. Spiegare che alzare la mano e’ un evento perche’ e’ un’azione che segnala a qualcos’altro di succedere – chiamare lo studente. Chiedere alla classe se a qualcuno viene in mente un qualche altro tipo di evento quotidiano. Potrebbe essere necessario chiarire che non ci si sta riferendo agli eventi convenzionali come feste di compleanno o eventi sportivi. Nella programmazione, un evento e’ un’azione che fa succedere qualcos’altro. Ecco alcuni esempi: - Per richiamare l’attenzione di uno studente, la “chiamata” e’ l’evento e la risposta e’ l’azione risultante (per esempio il docente batte le mani 3 volte e la classe batte le mani una volta per far sapere che sta prestando attenzione; si spengono le luci e la classe si quieta). - Quando suona la sveglia (l’evento), ci si sveglia (l’azione risultante dall’evento). - Quando il semaforo diventa verde (l’evento), la macchina parte (l’azione risultante dall’evento) - Quando il campanello suona (l’evento), si va ad aprire la porta (l’azione risultante dall’evento) ProTip: ChiariregliEventi-Seglistudentisonoconfusidaglieventi, chiederelorodipensareailorogiochipreferitieacomefannoadireai personaggidelgiococosafare.Sipuo’anchefarvedere“TheFoos"per mostrareunesempiospeciQico. Far notare che se non ci fossero eventi nel gioco, sarebbe tutto piuttosto noioso. !41 Lezione 4 Eventi The Foos Capitolo 4 Attivita’ del Gioco: Astronauta livelli 25-29 Domanda: Quali parti del gioco erano eventi? Come si fa a saperlo? 4 ! 2 Lezione 4 Eventi The Foos Capitolo 4 Ci sono 4 tipi di eventi in The Foos: 1. Tocco: Quando si clicca, o si tocca il Foo (l’evento), il codice gira (l’azione risultante dall’evento). 2. Play: Quando si fa click sul pulsante play (l’evento), il codice gira (l’azione risultante dall’evento). z 4 ! 3 Lezione 4 Eventi The Foos Capitolo 4 3. Andare a sbattere: Quando il Foo va a sbattere contro qualcosa, come le torri nel capitolo 4 (l’evento), il codice gira (l’azione risultante dall’evento). 4. Chiama/Ascolta: Quando il Foo sente qualcosa, come un’ordinazione di pasta nel Capitolo 5 (l’evento), il codice gira (l’azione risultante dall’evento). 4 ! 4 Lezione 4 Eventi The Foos Capitolo 4 Attivita’ Disconnessa: 1. FornireicolorieunaMappaaciascunostudente.Assicurarsidi avereunacopiadellaMappaconleindicazioni. 2. Direallaclassechealdocentenone’permessodirivelarela posizionedelTesoromacheverrannousatigliEventi. 3. Sullalavagna,scrivereleseguentiindicazioni • • • • Quandobattolemani,spostarsiaDestradiunblocco. Quandoschioccoledita,spostarsiaSinistradiunblocco. Quandobattoipiedi,spostarsiinAltodiunblocco. Quandoaccendoespengolaluce,spostarsiinBassodiunblocco. 4. Cominciarel’attivita’dicendoaglistudentidimettereicolorial centrodellamappa.Seguireleindicazionifornitenellacopia principaledellaMappa.Assicurarsidiaspettaretraunadirezionee l’altraperdaretempoaglistudentidimuovereicolorieperfarloro capirequandodueistruzioniconsecutivehannolastessa conseguenza(adesempio,quandosivuolecheglistudentisi muovanodi2blocchiversosinistra,sidevonobattereipiediuna voltaepoiancoraunavolta). 5. UnavoltaQinital’attivita’,tuttiglistudentidovrebberoQiniresullo stessopunto.Larispostadovrebbecombaciareconlaforma disegnatadaglistudenti. 6. GiocareconlaMappa2e3. 7. Sentirsiliberidiaggiungereleproprieindicazioniperrenderela sQidapiu’difQicile. LapaginasuccessivacontieneifogliconlerispostepergliEventi. !45 Lezione 4 Eventi The Foos Capitolo 4 !46 Lezione 4 Eventi The Foos Capitolo 4 Risposte !47 Lezione 4 Eventi The Foos Capitolo 4 Risposte !48 Lezione 4 Eventi The Foos Capitolo 4 !49 Lezione 4 Eventi The Foos Capitolo 4 Discussione Finale Informativa: • Quali erano gli eventi nell’attivita’ della mappa? Quale erano le azioni risultanti? • Quali erano gli eventi in The Foos? • Perche’ si pensa che gli eventi possano essere importanti per la programmazione (suggerimento: fornire opzioni agli utenti in modo da non avere gia’ tutto predeterminato)? • Quali sono altri eventi quotidiani? 5 ! 0 Lezione 5 Cicli The Foos Capitoli 2 & 3 Durata: 45-60 min Materiali Tablet o computer con “The Foos" Matite Fogli con gli esercizi Cicli 1 & 2 Obiettivi di Apprendimento: Capire perche’ i cicli sono utili. Capire come alcune sequenze sono piu’ efficienti, e quindi piu’ desiderabili, di altre. L’efficienza e’ importante perche’ i computer non hanno capacita’ computazionali illimitate. Riconoscere le routine quotidiane che potrebbero beneficiare di cicli. Riconoscere l’uso dei cicli nei propri videogiochi preferiti. Vocabolario: Ciclo: Un insieme di istruzioni ripetuto piu’ volte. Introduzione: Introdurre il concetto di cicli attraverso una discussione di gruppo sulle attivita’ quotidiane che includono azioni ripetute, o cicli. Spiegare come i cicli aiutino a rendere il codice piu’ efficiente visto che i computer hanno capacita’ limitate. Scrivere il nome di un’attivita’ e i passi o cicli per completarla. 5 ! 1 Lezione 5 Cicli The Foos Capitoli 2 & 3 Introduzione (cont.): Esempi: - Lavarsi le mani: Bagnarsi le mani — Mettere il sapone — CICLO: (Strofinare, 3 volte) – Sciacquarsi le mani - Lavarsi i denti: Spremere il tubetto di dentifricio — bagnare lo spazzolino — CICLO: (spazzolare, 10 volte) — sputare — sciacquare — mettere a posto lo spazzolino - Spalmare il burro: prendere il burro -- CICLO: (spalmare, 3 volte) Attivita’ del Gioco: Far giocare gli studenti all’episodio 10 del Capitolo 2, dove vengono introdotti i cicli. Far rigiocare gli studenti il resto dei livelli del Capitolo 2. Riescono a usare i cicli in tutti i livelli? Cio’ rende i programmi generalmente piu’ piccoli (cioe’ viene usato un minor numero di comandi per risolvere i puzzle)? Far esplorare di nuovo agli studenti il Capitolo 3, Livelli 17-20 se c’e’ abbastanza tempo. Si riescono ad usare piu’ cicli in un livello? !52 Lezione 5 Cicli The Foos Capitoli 2 & 3 Capire i cicli rende le sfide piu’ semplici? Attivita’ Disconnessa: 1. Suddividere gli studenti in coppie. 2. Fornire a ogni coppia una matita e i fogli degli esercizi sui Cicli. 3. Far lavorare gli studenti in coppia per finire gli esercizi. 4. Per un’ulteriore sfida, far provare agli studenti gli esercizi Cicli 2! LapaginasuccessivacontienelerispostepergliesercizisuiCicli1&2. !53 Lezione 5 Cicli The Foos Capitoli 2 & 3 !54 Lezione 5 Cicli The Foos Capitoli 2 & 3 Risposte !55 Lezione 5 Cicli The Foos Capitoli 2 & 3 Risposte ! 56 Lezione 5 Cicli The Foos Capitoli 2 & 3 ! 57 Lezione 5 Cicli The Foos Capitoli 2 & 3 Risposte !58 Lezione 5 Cicli The Foos Capitoli 2 & 3 Risposte ! 59 Lezione 5 Cicli The Foos Capitoli 2 & 3 Risposte !60 Lezione 5 Cicli The Foos Capitoli 2 & 3 Risposte !61 Lezione 5 Cicli The Foos Capitoli 2 & 3 Discussione Informativa Finale: • Quali sono i benifici dell’utilizzo dei cicli? • Quali attivita’ della classe potremmo scrivere come sequenze con i cicli? (Se il tempo e’ sufficiente, scrivere le sequenze alla lavagna). • Puo’ esserci piu’ di un ciclo in una sequenza? • Quali sono i giochi preferiti che sembrano contenere cicli? - Esempi: Temple Run, Subway Surfer o Minion Rush sono giochi “Corridore Infinito” dove il personaggio controllato dal giocatore si muove sempre in avanti. Questo e’ il classico esempio in cui un ciclo e’ usato per essere efficienti. Il giocatore deve solo pensare a su/giu’ e destra/sinistra. Ad andare in avanti ci pensa il ciclo. ProTip: Cicli Nella Vita Reale –Per aiutare gli studenti a capire meglio i cicli, far giocare gli studenti con i seguenti giochi per vedere se riescono ad identificare dove sono i cicli: “Temple Run,” “Subway Surfer” e “Minion Rush.” !62 Lezione 6 Efficienza The Foos Capitoli 3 & 4 Durata: 45-60 min Materiali: Tablet o computer con “The Foos" 4 diverse matite colorate Foglio con gli esercizi Trapunta Foo Obiettivi di Apprendimento: Fare pratica nel rendere i programmi piu’ efficienti. Capire il concetto di efficienza e che i programmi migliori sono i piu’ efficienti I programmi piu’ efficienti usano meno comandi Vocabolario: Programmi efficienti: Programmi che rispondono piu’ velocemente e impiegano meno memoria ed energia Introduzione: Disegnare da un lato della lavagna una A e dall’altro una B. Disegnare poi una linea retta dal punto A al punto B e in un colore diverso una linea con molte curve ma che va comunque dal punto A al punto B. Dire agli studenti che la propria macchina sta finendo la benzina e che occorre andare dal punto A al punto B prima che il carburante finisca. Quale linea occorre prendere (risposta: la linea retta)? Domandare agli studenti perche’ e’ meglio la linea retta. !63 Lezione 6 Efficienza The Foos Capitoli 3 & 4 Far notare che la linea retta e’ la strada piu’ breve e si userebbe meno benzina quindi si correrebbe un rischio minore di restare senza carburante prima di raggiungere il benzinaio. Introdurre il concetto di efficienza e far notare che nell’esempio della macchina la linea retta e’ la piu’ efficiente perche’ e’ la distanza piu’ breve tra il punto A e il punto B. Spiegare come anche nella programmazione si vuole essere efficienti quando si scrive codice. Il codice piu’ efficiente e’ desiderabile perche’ i computer non hanno una potenza computazionale illimitata proprio come la macchina non ha benzina illimitata per andare dal punto A al punto B. La “soluzione migliore” di solito usa meno comandi, ma alle volte e’ piuttosto complesso scrivere un programma breve e c’e’ bisogno di creativita’ per risolvere il problema. Attivita’ del Gioco: Far rigiocare agli studenti i capitoli di The Foos 3 e 4. Ci sono modi diversi di superare i livelli? Quali sono i piu’efficienti? Quali comandi hanno reso gli studenti piu’ efficienti? Il numero di stelle ricevute e’ stato un’indicazione del fatto che il codice era piu’ efficiente? Attivita’ Disconnessa: Passare le matite colorate e il foglio Trapunta Foo. Gli studenti dovrebbero avere poter accedere a vari colori. !64 Lezione 6 Efficienza The Foos Capitoli 3 & 4 Ci sono due regole per colorare la coperta: • Ogni colore costa ai Foo del denaro perche’ devono comprare piu’ stoffa, quindi usare piu’ colori non sarebbe efficiente. Gli studenti devono usare meno colori possibile per finire la trapunta. • The Foos non vogliono che i lembi di stoffa che si toccano abbiano lo stesso colore. ProTip: IlTeoremadeiQuattroColori–Losapevatechec’e’bisognodisoli quattrocoloripercolorareunamappanellaqualenessunaregioneadiacente abbialostessocolore?Cio’e’chiamatoilTeoremaDeiQuattroColoriede’la basedell’attivita’FooTrapunta.Farprovareaglistudentiquestoteoremacon mappepiu’grandi. Lapaginasuccessivae’unaguidadellerisposteperl’attivita’FooTrapunta. ! 65 Lezione 6 Efficienza The Foos Capitoli 3 & 4 6 ! 6 Lezione 6 Efficienza The Foos Capitoli 3 & 4 Risposte 6 ! 7 Lezione 6 Efficienza The Foos Capitoli 3 & 4 Risposte ! 68 Lezione 6 Efficienza The Foos Capitoli 3 & 4 Risposte 6 ! 9 Lezione 6 Efficienza The Foos Capitoli 3 & 4 Risposte !70 Lezione 6 Efficienza The Foos Capitoli 3 & 4 Risposte !71 Lezione 6 Efficienza The Foos Capitoli 3 & 4 Discussione Finale Informativa: • Giocando a “The Foos”, quali sequenze erano piu’ efficienti? Perche’? Quali comandi hanno aiutato a rendere le sequenze piu’ efficienti (per esempio i cicli)? • Quanti colori sono stati usati nella trapunta? Qualcuno e’ riuscito a usare meno colori? • Si riesce a pensare ad attivita’ quotidiane dove si vorrebbe essere piu’ efficienti? - Chiudere l’acqua mentre ci si lava i denti e’ efficiente perche’ ci aiuta a risparmare acqua. - Prendere la strada piu’ breve per andare a scuola e’ efficiente perche’ si arriva a scuola piu’ in fretta e si risparmia tempo e benzina! !72 Lezione 7 Cicli Infiniti The Foos Capitolo 4 Durata: 45-60min Materiali: Tablet o computer con “The Foos” Carte Ballo Comandi e Parametri Regole per Palla Whoosh Obiettivi di Apprendimento: Capire la differenza tra un ciclo e un ciclo infinito Capire che un evento puo’ interrompere un ciclo infinito, ma quando l’evento e’ finito il ciclo riprende Vocabolario: Cicli Infiniti: Un insieme di istruzioni che si ripete per sempre senza smettere mai. Evento: un’azione o spunto che segnala a una nuova linea di codice di entrare in esecuzione. Introduzione: Rivedere il concetto basilare di ciclo e del perche’ e’ utile (suggerimetno: i cicli rendono il codice piu’ efficiente). Introdurre il concetto di ciclo infinito e fornire qualche esempio: la Terra che gira intorno al Sole, il tempo, l’elettricita’. Quando scriviamo il codice possiamo includere degli eventi che interrompano un ciclo infinito e che causino altre cose. Ma una volta che l’evento e’ finito, il ciclo continua. !73 Lezione 7 Cicli Infiniti The Foos Capitolo 4 Introduzione (cont.): Esempio: - L’elettricita’ e’ un ciclo infinito, ma quando si preme l’interruttore, si spegne temporaneamente la luce fino a che non si accende di nuovo la luce. - Insegnare agli studenti “La canzone che non finisce mai” come esempio di ciclo infinito. “Questa canzone non finisce mai Continua per sempre amici miei Chi ha iniziato a cantarla non sapeva che Continuera’ a cantarla per sempre perche’” (Ripetere piu’ volte) Attivita’ del Gioco: Far giocare gli studenti con “The Foos," Capitolo 4, Livello 27 con Foo Astronauta. Quali sono i loop infinito in benefici di un questo livello? !74 Lezione 7 Cicli Infiniti The Foos Capitolo 4 Impostare su Infinito Il simbolo di infinito alla base del comando fa muovere l’Astronauta verso destra all’infinito. Chiedere agli studenti di pensare ad una soluzione che non richeda un ciclo infinito. Dopo aver completato il livello chiedere se pensano che il ciclo infinito fosse migliore. Ora gli studenti sono pronti a giocare i livelli dal 28 al 34. ! 75 Lezione 7 Cicli Infiniti The Foos Capitolo 4 Attivita’ Disconnessa 1: 1. Suddividere gli studenti in coppie e fornire a ciascuna coppia le Carte Ballo Comandi e Parametri (vederegliesempiallapaginaseguente). 2. In coppia, far usare a ciascuno studente le carte per creare il proprio ballo. Ci sono due regole per il ballo: - Il ballo deve essere contenuto in un ciclo infinito. - Deve includere almeno un commando e un parametro. 3. Far scrivere alle coppie le sequenze di azioni e i parametri che compongono il loro ballo. 4. Far presentare a ciascuna coppia il ballo a tutta la classe (fare le mosse!) e chiedere agli altri studenti di identificare i comandi e i parametri del ciclo del ballo. ProTip: Debug -Spesso nella programmazione incontriamo errori che fanno girare il programma scorrettamente. Nel creare il proprio ballo, gli studenti potrebbero aver compiuto errori. Ricordare agli studenti che fare errori e’ parte del processo e che si impara da ogni sbaglio. 7! 6 Lezione 7 Cicli Infiniti The Foos Capitolo 4 Attivita’ Ballo dei Cicli Infiniti Carte Comandi & Parametri Le carte grige sono Comandi mentre quelle bianche sono Parametri BATTI LE MANI GIRATI SCHIOCCA LE DITA FAI CIAO CON LA MANO TRE VOLTE DESTRA SALTA MUOVI I FIANCHI SINISTRA SU SALTELLA DIMENATI GIU VELOCE ONDEGGIA BATTI IL PIEDE LENTO QUATTRO VOLTE UNA VOLTA DUE VOLTE CartedisponibiliallaTinedellibroconlealtreattivita’ 7! 7 Lezione 7 Cicli Infiniti The Foos Capitolo 4 Discussione Finale Informativa: • Come si e’ capito che il ballo aveva un ciclo? Quali comandi si notavano di piu’? • Quali sono situazioni della vita reale nelle quali i cicli infiniti sono piu’ utili di cicli regolari? In quali situazioni un ciclo normale sarebbe preferibile? - Esempi:tapiroulant, scale mobili, frecce della macchina, il ciclo dell’acqua Attivita’ Disconnessa 2: 1. Mettere gli studenti in cerchio e dir loro che c’e’ una palla di energia (immaginaria) e che l’unico modo di muoverla e’ col suono “whoosh”. 2. Per iniziare il gioco mandare la palla dallo studente alla propria destra, facendo vedere come lo studente debba dire “whoosh” per far girare la palla. Far continuare gli studenti a mandare la palla in giro nel cerchio fino a farla tornare all’inizio. 3. Introdurre due nuovi eventi. Uno e’ “Boink,” che cambia la direzione della palla, e uno e’ “Zap,” che manda la palla dall’altra parte del cerchio. Per il Boink, dire agli studenti di mettere le mani in alto in posizione “stop” e dire “Boink” per cambiare la direzione della palla. Per lo Zap, dire agli studenti di guardare la persona dall’altra parte del cerchio mentre si dice “Zap” per mandare la palla dall’altra parte del cerchio. Poi giocare con i tre comandi. 4. Dopo aver giocate qualche minuto, far discutere e disegnare al gruppo il codice della Palla Whoosh. ! 78 Lezione 7 Cicli Infiniti The Foos Capitolo 4 Discussione Finale Informativa: • Far discutere agli studenti il codice della Palla Whoosh. Pensano che i cicli possano essere interrotti da eventi certe volte? • Quali eventi interrompono i cicli infiniti nel Livello Astronauta? (suggerimento: l’evento Urto) 7! 9 Lezione 8 Istruzioni Condizionali I The Foos Capitolo 5 Durata: 45-60 min Materiali: Tablet o computer con “The Foos" Dado Instruzioni Gioco Del Dado Carte Tombola Matite Obiettivi di Apprendimento: Capire che il programmatore puo’ causare azioni che accadono solo sotto determinate condizioni. • I blocchi “IF” (SE) descrivono azioni che accadono solo SE una certa condizione viene rispettata. Per esempio, SE piove, si usa un ombrello. Dimostrare come vengono usati le istruzioni SE nella vita quotidiana. Dimostrare come le istruzioni SE possono essere usate per rendere i programmi piu’ dinamici ed efficienti. Capire come una specifica istanza di una condizione SE manda messaggi con risposte selettive. - Peresempio:SE uno studente viene chiamato, deve mettersi in fila alla porta. In quest’esempio, il chiamare lo studente rappresenta il messaggo e la risposta selettiva e’ il fatto che lo studente chiamato va a mettersi in fila alla porta. Vocabolario: Istruzioni/ Azioni Condizionali: istruzioni/azioni che accadono solo a determinate condizioni. 8 ! 0 Lezione 8 Istruzioni Condizionali I The Foos Capitolo 5 Blocchi “IF” (SE): istruzioni/azioni che accadono solo SE una determinata condizione viene rispettata. Invio di messaggi e risposta selettiva: Un caso speciale di istruzione SE dove un messaggio viene inviato ma dove rispodono solo le cose che rispettano una determinata condizione. Introduzione: Introdurre il concetto di istruzione condizionale e blocco SE facendo sapere alla classe che restando in perfetto silenzio per 10 secondi poi si potranno fare cose come: - Mettere un po’ di musica per ballare - Giocare ad un gioco divertente - Fare 10 saltelli Cominciare a contare immediatamente. Se gli studenti riescono, premiarli. Altrimenti far loro sapere che non avranno il premio. Poi chiedere alla classe, “Qual era la condizione per ottenere il premio?” - Lacondizioneerarimanereinperfettosilenzioper10secondi. - Facendolo, la condizione sarebbe vera e si otterrebbe il premio. - Non facendolo, la condizione sarebbe falsa e non si otterrebbe il premio. Domandare agli studenti se viene loro in mente una qualche condizione usata nella vita quotidiana. Ecco alcuni esempi: - Sefafreddo,cisimetteilcappotto. - Sesie’stanchisivaadormire. Introdurre una condizione SE speciale dove si trasmettono messaggi e le risposte sono selettive. Far sapere agli studenti che dovranno ascoltare attentamente le istruzioni per poter tornare al proprio posto e giocare a “The Foos.” Poi trasmettere messaggi con istruzioni SE per mandare gli studenti al proprio posto. Continuare a trasmettere messaggi SE fino a che tutti gli studenti sono tornati al proprio posto per iniziare le attivita’ col gioco. Ecco alcuni esempi: - SEindossiqualcosadirossopuoitornarealtuoposto. - SEhaiunfratellopuoitornarealtuoposto. 8 ! 1 Lezione 8 Istruzioni Condizionali I The Foos Capitolo 5 - SEiltuocompleannoe’inOttobrepuoitornarealtuoposto. Attivita’ del Gioco: Far giocare gli studenti con il Capitolo 5, Livelli 35-44, con il Foo Cuoco. Si e’ in grado di identificare i blocchi SE? Nel capitolo precedente, l’Astronauta aveva l’evento urto. In questo capitolo il cuoco ha un nuovo evento (messaggiotrasmesso). Quando esegue il codice (risposta selettiva)? E’ stato necessario usare la condizione SE? “IF” block Attivita’ Disconnessa 1: 1. Creare squadre di 3 o 4 studenti e fornire a ciascuna squadra un dado e le istruzioni del Gioco Del Dado (oscrivereleistruzioniallalavagna). 2. Far giocare gil studenti diverse volte, o fino a che il tempo lo permette. GiocoDelDadoallapaginasuccessiva. !82 Lezione 8 Istruzioni Condizionali I The Foos Capitolo 5 !83 Lezione 8 Istruzioni Condizionali I The Foos Capitolo 5 Discussione Finale Informativa: Si e’ in grado di scrivere il codice del Gioco Del Dado? Fare una lista di tutte le condizione “SE” usate in classe. - “SE” se fanno i compiti, si ottiene una stella - “SE” e’ Lunedi’ si va in palestra - “SE” piove si resta dentro durante la pausa. ProTip: GiocoDelDadoAddizionale–Se agli studenti piace il gioco del dado, far creare loro il proprio set di istruzioni SE e farli giocare di nuovo. Si puo’ anche giocare con un mazzo di carte assegnando le regole SE a ogni colore, seme e/o numero della carta. Attivita’ Disconnessa 2 - Tombola: 1. Fornire a ciascuno studente una cartella della Tombola. 2. Spiegare le Regole: - Scegliere i propri numeri preferiti compresi tra 1 e 100 e riempire le caselle vuote della cartella della Tombola. - SE un numero chiamato e’ uguale a uno presente sulla cartella, fare una X sulla casella corrispondente. - SE una riga e’ completa, alzare la mano e dire TOMBOLA! 3. Giocarediversepartiteseiltempolopermette(consiglio:scriverei numerichiamatiallalavagna). !84 Lezione 8 Istruzioni Condizionali I The Foos Capitolo 5 CartelledellaTombolavuotedisponibiliinfondoallibro. Discussione Finale Informativa: Quali erano le condizioni SE nel gioco della Tombola? Si riesce a pensare ad altri giochi o attivita’ che abbiano condizioni SE? !85 Lezione 9 Istruzioni Condizionali II The Foos Capitolo 5 Durata: 45-60 min Materiali: Tablet o computer con “The Foos" Dado Obiettivi di Apprendimento: Capire che l’istruzione SE puo’ essere estesa per spiegare cosa deve accadere quando la condizione non e’ rispettata usando il commando SE/ALTRIMENTI. L’istruzione ALTRIMENTI descrive quale azione ha luogo quando la condizione SE e’ falsa. Per esempio, SE uno studente viene chiamato, si mette in fila alla porta. ALTRIMENTI, si sta seduti sul tappeto. Capire che l’istruzione SE puo’ essere estesa per avere piu’ condizioni usando il commando SE/ALTRIMENTI. Fare pratica col fatto che le istruzioni SE, SE/ALTRIMENTI e ALTRIMENTI/SE possono essere usate per rendere i programmi piu’ efficienti. Fare pratica con l’inserimento delle istruzioni SE, SE/ALTRIMENTI, ALTRIMENTI/SE all’interno di CICLI per rendere i programmi piu’ dinamici ed efficienti. Vocabolario: Istruzioni SE – blocchi di istruzioni / azioni che accadono solo quando la condizione SE e’ rispettata. Istruzioni ALTRIMENTI – Quando la condizione SE non e’ rispettata viene eseguito il blocco ALTRIMENTI. Introduzione: ! 86 Lezione 9 Istruzioni Condizionali II The Foos Capitolo 5 Rivedere il concetto di istruzioni condizionali SE dalla lezione precedente fornendo un paio di esempi: - Sepiove,cisimettonogliocchiali. - See’lunedi’,sivaalezionedieducazioneartistica. Che succede se la condizione “SE” e’ falsa? Se NON e’ lunedi’, che succede? Spiegare che alle volte si vuole una condizione addizionale nel caso un cui la condizione SE non sia vera. In quel caso si usa l’istruzione ALTRIMENTI. Usando un dado, mostrare un esempio di istruzione SE/ALTRIMENTI dicendo alla classe, “SE faccio 3, dovete battere le mani. Altrimenti, schioccate le dita” Tirare il dado e mostrarlo alla classe per vedere se reagisce correttamente . Qual era la condizione SE? Qual era la condizione ALTRIMENTI? Quale condizione e’ stata rispettata? Spiegare alla classe che potrebbe anche esserci piu’ di una condizione. Per esempio, “E se volessi farvi battere le mani SE faccio 3, ALTRIMENTI SE faccio meno di 3 dovete dire “EVVIVA!” ALTRIMENTI schioccate le dita? Adesso avremmo i comandi SE, ALTRIMENTI SE e ALTRIMENTI” Chiarire i comandi SE, ALTRIMENTI SE, ALTRIMENTI: -SE e’ la prima condizione (se faccio 3) -ALTRIMENTI SE viene controllata solo se la condizione SE non e’ vera (altrimenti se faccio meno di 3) -ALTRIMENTI viene controllata solo se nessuna delle condizione precedente e’ vera (non faccio 3 o meno di 3) ! 87 Lezione 9 Istruzioni Condizionali II The Foos Capitolo 5 Diagramma Di Flusso di una condizione SE/ALTRIMENTI: SE faccio 3, battere le mani. ALTRIMENTI SE faccio meno di 3 dire “Evviva”! Altrimenti schioccare le dita. SE (faccio 3) Si’ Battere le mani Si’ No ALTRIMENTI SE (faccio <3) No Dire “Evviva!” ALTRIMENTI (non faccio 3 o <3) Schioccare le dita Attivita’ Disconnessa (Luce Rossa/Luce Verde): 1. Questa e’ una versione di Luce Rossa / Luce Verde con piu’ comandi. Far stare gli studenti da una parte della classe mentre il docente sta dall’altra. 2. Dire alla classe che verranno presentate diverse istruzioni condizionali e che SE si rispetta la condizione si deve fare un passo avanti. Lo studente che arriva per primo dall’altra parte della classe vince. 3. Dire ad alta voce le istruzioni condizionali per far reagire gli studenti. Si puo’ iniziare con istruzioni SE per poi continuare con le condizioni SE/ALTRIMENTI. Ecco alcuni esempi di istruzioni condizionali da dire durante il gioco: SEindossiilviola,faiunpassoavanti. SENONhailescarpedaginnastica,faiunpassoavanti. SEhaiunasorella,faiunpassoindietro.ALTRIMENTIfaiunpassoavanti. SEgiochiacalcio,faiunpassoavanti.ALTRIMENTISEgiochiabasket,fai unpassoindietro.ALTRIMENTIstaifermo. !88 Lezione 9 Istruzioni Condizionali II The Foos Capitolo 5 Discussione Finale Informativa (Luce Rossa / Luce Verde): Scegliere una delle istruzioni SE/ALTRIMENTI usata durante il gioco e scrivere il codice assieme alla classe. Per esempio: - SEhaiunasorella,faiunpassoindietro.ALTRIMENTIfaiunpassoavanti. Si riesce a pensare ad altri giochi che abbiano condizioni SE e SE/ALTRIMENTI? Pro Tip: MettersiinTilaconlecondizioniSE – La prossima volta che la classe si deve mettere in fila per andare fuori, usare le condizioni SE per chiamare gli studenti che si devono mettere in fila. Continuare a usare le condizioni SE fino a che tutti gli studenti non si sono messi in fila. ! 89 Lezione 10 Debug Foo Studio Materiali: Tablet o computer con “The Foos” Matite Fogli Debug A e B Obiettivi di Apprendimento: Fare pratica con la risoluzione creativa dei problemi, la ricerca di nuove soluzioni alternative e la sistemazione di algoritmi non comprensibili o mancanti passaggi. Riconoscere che gli errori accadono spesso mentre si scrive codice e fare pratica col processo sperimentale come tecnica per la ricerca delle soluzioni. Vocabolario: Bug: Errore o problema in un algoritmo che fa fare ad un programma per computer qualcosa che non vorremmo facesse. Debug: Trovare e sistemare problemi in algoritmi o programmi per computer. Persistenza: Continuare a provare a fare qualcosa anche quando e’ difficile. !90 Lezione 10 Debug Foo Studio Introduzione: Introdurre il concetto di debug e di come alle volte con i computer le cose vanno male, quindi li si deve aggiustare sistemando le loro istruzioni. Introdurre il concetto di persistenza. Discutere di tutte le volte che si sbaglia facendo qualcosa per la prima volta ma di come gli errori ci diano l’opportunita’ di imparare. Esempi includono: imparare a camminare, andare in bcicletta, leggere ed allacciarsi le scarpe. La stessa cosa accade nella programmazione. Scrivere codice puo’ essere difficile e anche i migliori programmatori fanno errori, ma persistono fino a che non trovano la soluzione migliore. Attivita’ del Gioco: FooStudio e’ una nuova aggiunta a TheFoos dove i giocatori possono costruire i propri quadri, condividere i propri quadri con gli amici e giocare i quadri creati dagli amici. I giocatori possono applicari i concetti della programmazioni imparati durenti i livelli dei puzzle per riprogrammare qualsiasi oggetto nel FooStudio. I giocatori guadagnano monete che possono essere usate per acquistare oggetti nel Negozio Foo. Tutti gli oggetti acquistati possono essere usati nei quadri del Foo Studio. !91 Lezione 10 Debug Foo Studio Questa e’ la pagina del tutorial: Questa e’ la pagina del giocatore: creare un nuovo quadro Quadri non pubblicati Quadri di un giocatore pubblicati (visibili a tutti) !92 Lezione 10 Debug Foo Studio Questa e’ la sezione “crea il tuo quadro”: modificare il nome del quadro giocare il quadro “Disegna” (apre l’inventario degli oggetti) “Cancella” (cancella oggetti apposti) Cancella Ridimensiona Copia Ruota Sezione programmazione dei blocchi !93 Lezione 10 Debug Foo Studio Questa e’ la sezione dei Quadri Pubblicati. Tutti i quadri pubblicati dai giocatori possono essere visti da tutti e tutti i giocatori possono giocare ai quadri pubblicati dagli altri giocatori: Quadri in primo piano Nuovi Quadri Quadri piu’ votati E’ capitato agli studenti di fare errori nel codice che hanno dovuto correggere? Come hanno capito cosa c’era di sbagliato e come correggerlo? !94 Lezione 10 Debug Foo Studio Attivita’ Disconnessa 1: 1. Suddividere gli studenti in coppie. 2. Dare a ogni coppia il nome di un oggetto semplice. Dire alle coppie di non rivelare il proprio oggetto alle altre coppie. 3. Esempi di oggetti: cane, persona, albero, fiore, biscotto, mela, ecc. 4. Far scrivere a ogni coppia l’algoritmo per disegnare il proprio oggetto, ma far includere a ogni studente 3 “bug”, o errori nell’algoritmo. 5. Quando tutte le coppie hanno finito l’algoritmo, far scambiare le istruzioni tra le coppie e far disegnare gli oggetti seguendo le istruzioni. Ricordare agli studenti che dovranno trovare i bug e aggiustare il codice per disegnare l’oggetto correttamente. Discussione Finale Informativa (Disegna e Fai Il Debug): Il disegno e’ uscito fuori come ci si aspettava? Se no, quale strategia e’ stata usata per trovare e risolvere i bug? Cosa si e’ dovuto aggiungere o rimuovere per rendere l’algoritmo piu’ chiaro? C’e’ stato qualche bug non intenzionale da risolvere per far si’ che l’algoritmo risultasse nel disegno corretto? Se il tempo lo permette, far rivedere e ritestare i nuovi algoritmi alle coppie. ProTip: Persistenza – Lo sviluppo della persisteza nella risoluzione dei problemi e’ un’abilita’ importante per ogni studente del ventunesimo secolo. Si puo’ incoraggiare la persistenza: - Ponendo agli studenti domande che li aiutino a pensare a come risolvere i problemi per conto proprio. - Facendo notare le azioni che hanno aiutato gli studenti a raggiungere i propri obiettivi cosi’ che riconoscano come la persistenza e’ connessa ai propri obiettivi. - Mostrando la persistenza durante l’insegnamento. ! 95 Lezione 10 Debug Foo Studio Attivita’ Disconnessa 2: 1. Suddividere gli studenti in coppie. 2. Fornire a ciascuna coppia un’attivita’ “Come si fa” per la quale dovranno scrivere l’algoritmo. Dire agli studenti di non condividere la propria attivita’ con le altre coppie. Ecco alcuni esempi: Come fare una torta Come fare un aeroplano di carta Come arrivare al parco giochi Come scrivere il proprio nome Come fare un panino Come allacciarsi le scarpe 3. Far scrivere a ogni coppia la lista di passi, o algoritmo, per completare la propria attivita’ “Come si fa”. 4. Quando tutte le coppie hanno finito, rimettere la classe assieme e far condividere a ogni coppia i passi della propria attivita’ “Come si fa” SENZA dire alla classe quale attivita’ si sta provando a spiegare. 5. Far provare ad indovinare al resto della classe di che attivita’ si tratta. Se la classe ha problemi, chiedere alla coppia cosa si deve fare per rivedere, o fare il debug, del proprio algoritmo per rendere l’attivita’ piu’ chiara. Discussione Informativa Finale (Progettazione e Debug): La classe e’ stata in grado di indovinare l’attivita’? Si e’ avuto bisogno di chiarimenti o modifiche ai passaggi forniti? Ci sono modi diversi in cui scrivere i passi della stessa attivita’? E’ importante l’ordine o si possono scambiare certi passaggi (per esempio, nell’attivita’ della torta, importa se si mette prima il burro o le uova?) 9 ! 6 Esercizi per Sezione 9 ! 7 Sequenze ! 98 9 ! 9 1! 00 1! 01 1! 02 1! 03 1! 04 !105 Sequenze Flessibili !106 !107 !108 !109 1! 10 1! 11 1! 12 1! 13 1! 14 !115 Comandi & Parametri !116 CAMMINA SALTA DESTRA SINISTRA RINCORRI TIRA SU MELA RACCOGLI COSTRUISCI PALLA PROBLEMA TECNICO FAI ESPLODERE CAMBIA COLORE ROSSO BLU CAMMINA SALTA DESTRA SINISTRA RINCORRI TIRA DRITTO IN SU MELA RACCOGLI COSTRUISCI PALLA PROBLEMA TECNICO FAI ESPLODERE CAMBIA COLORE ROSSO BLU !117 Eventi !118 !119 1! 20 1! 21 1! 22 Cicli !123 1! 24 !125 ! 126 ! 127 !128 ! 129 1! 30 1! 31 Efficienza !132 !133 !134 ! 135 1! 36 1! 37 ! 138 Cicli Infiniti 1! 39 BATTI LE MANI GIRATI SCHIOCCA LE DITA FAI CIAO CON LA MANO TRE VOLTE DESTRA SALTA MUOVI I FIANCHI SINISTRA SU SALTELLA DIMENATI GIU VELOCE ONDEGGIA BATTI IL PIEDE LENTO QUATTRO VOLTE UNA VOLTA DUE VOLTE 1! 40 Istruzioni Condizionali I ! 141 !142 GLOSSARIO Algoritmo: Istruzioni per risolvere un problema o completare un compito. (p.11) Invio di messaggi e risposta selettiva: Un caso speciale di istruzione SE dove un messaggio viene inviato ma dove rispondono solo le cose che rispettano una determinata condizione. (p.81) Bug: Errore o problema in un algoritmo che fa fare ad un programma per computer qualcosa che non vorremmo facesse. (p.91) Comando: istruzione principale che dice al computer quale azione compiere (per esempio: corri, salta, cammina). (p.36) Informatica: Risolvere problemi con un insieme di istruzioni ben specifico dato che i computer fanno esattamente solo cio‘ che viene loro detto di fare. (p.5) Istruzioni/azioni condizionali: istruzioni/azioni che accadono solo sotto determinate condizioni. (p.81) Debug: Trovare e risolvere problemi in un algoritmo o programma per computer. (p.91) Programmi efficienti: Programmi che rispondono piu’ velocemente e impiegano meno memoria ed energia. (p.63) Istruzione ALTRIMENTI: Quando una condizione SE non e’ rispettata viene eseguita un’istruzione ALTRIMENTI. (p.87) Cicli Infiniti: Un insieme di istruzioni ripetuto all’infinito. (p.73) Evento: Un’azione o uno spunto che segnala ad una nuova istruzione di entrare in esecuzione. (p.40,73) Blocco SE: Istruzioni / azioni che accadono solo SE la condizione specificata viene rispettata. (p.81,87) Ciclo: Un insieme di istruzioni ripetuto piu’ volte. (p.51) Parametro: Dettaglio per un’istruzione che aggiunge informazioni piu’ specifiche su un comando (per esempio direzione, colore, oggetto su cui acompiere l’azione e cosi’ via). (p.36) Persistenza: Continare a provare a fare qualcosa anche se e’ difficile. (p.91) Programmare: Creare una sequenza di istruzioni, o algoritmo, per far fare qualcosa ad un computer. (p.11) Sequenza: Istruzioni passo passo nell’ordine nel quale devono essere eseguite. (p.11,23) !143 Rubrica per la Valutazione dello Studente Insoddisfacente Competente Abile Eccellente Concetti Ilivellipuzzlenon sonostati completati. IlivelliPuzzle sonostati completaticon unastella. IlivelliPuzzle IlivelliPuzzle sonostati sonostati completaticon completaticon 2stelle. 3stelle. Esecuzione Ilcodicenon funzionaohaerrori cheneimpediscono ilcorretto funzionamento. Ilcodice funzionaperla maggiorparteo haerrori minimali. Ilcodice funzionacome lostudente desiderama none’ilpiu’ efQiciente. Lostudentenonsa descriverecome funzionailcodicee nonneconosceil processo. Lostudentesa Lostudentesa Lostudentesa descrivere descrivereperla descrivere comefunziona maggiorparte comefunziona ilcodiceesa comefunzionail ilcodice,come risolvereerrori codiceene l’hascrittoesa chene comprende aiutareglialtri prevengonoil partedel arisolverei funzionamento contenuto. problemi. desiderato. Comprensione del Materiale Impegno Lavoro Lostudentemostra completatoin unimpegnominimo, Lostudentefail maniera nonusailtempoin necessarioper supreriorealla modoeffettivoeil soddisfarei media,sebbene suolavoroe’ requisitiminimi. sipotessefare incompleto.Lo Lostudenteha dipiu’.Lo studentesiriQiutadi varieideema studente esplorarepiu’di nonleprova. esplora un’idea. molteplici soluzioni. Ilprogramma e’funzionale, rafQinatoede’ eseguitonel modopiu’ efQiciente possibile. Illavoroe’ completoeha superatole aspettativedel docente.Lo studente dimostra vogliadi esplorare moltepliciidee esoluzioniefa domande. Rubrica ispirata da: http://www.edutopia.org/pdfs/blogs/edutopia-yokana-maker-rubric.pdf !144 RIFERIMENTI Common Core Standards: http://www.corestandards.org/Math/Practice/ Student Rubric: http://www.edutopia.org/pdfs/blogs/edutopia-yokana-makerrubric.pdf Tufts & MIT University Studies: http://ase.tufts.edu/DevTech/publications/ !145 Riconoscimenti Vorremmo ringraziare il nostro consulente Dan Leyzberg (Professore di Informatica, Universita’ di Princeton), Colleen Davis (Professore di Informatica, Universita’ di Harvey Mudd) e Kent Steen (Docente e specialista dei Curriculum per l’Informatica). Vorremmo anche ringraziare Courtney Blackwell, Bethany Martin, Evan Rushton e tutti gli educatori che hanno rivisto e fornito feedback sul curriculum. Un ringraziamento speciale alla classe di Michael Harvey per aver trovato grandiose soluzioni alternative all’esercizio della trapunta! In ultimo, vorremmo ringraziare tutti coloro che hanno sostenuto e giocato con The Foos! This work is licensed under the Creative Commons Attribution-NonCommercialNoDerivatives 4.0 International License. To view a copy of this license, visit http:// creativecommons.org/licenses/by-nc-nd/4.0/. ! 146