Lezione 7: Programmare con Angry Birds
Algoritmi | Debugging (correzione degli errori) | Programma | Programmazione
Panoramica
Usando i personaggi del gioco Angry Birds, gli alunni svilupperanno algoritmi sequenziali per spostare un uccellino da un lato di un labirinto, all'altro lato dove si trova un maialino. A tal fine, metteranno insieme i blocchi di codice in una sequenza lineare, facendoli muovere dritti, girare a sinistra o girare a destra.
Traguardo di apprendimento
In questa lezione, gli alunni svilupperanno abilità di programmazione e debugging su una piattaforma informatica. Il formato di questi esercizi in cui il codice è raffigurato da dei blocchi grafici, aiuta gli alunni ad apprendere i concetti base dell'informatica, senza doversi preoccupare di imparare una specifica sintassi.
Pianificazione
Introduzione - Le fondamenta tradizionali (3 min)
Attività ponte - Scegline una
Le fondamenta online: anteprima della programmazione nel labirinto (3 min)
Attività principale (30 min)
Conclusione (5 - 10 min)
Approfondimenti
Visualizza in Code Studio
Obiettivi
Gli alunni saranno in grado di:
- costruire un programma riorganizzando sequenze di movimenti
- costruire un programma per computer partendo da una lista di istruzioni
- scegliere le appropriate tecniche di debugging per la risoluzione dei problemi
Preparazione
- Esercitati con la lezione 7 del Corso B - Esercizi online - Sito web per identificare i punti potenzialmente più critici per la tua classe.
- (Facoltativo) Scegli un paio di esercizi da fare in gruppo con tutta la classe.
- Assicurarsi che ogni alunno abbia un Diario di bordo - Le proprie riflessioni.
Collegamenti
Attenzione! Fai una copia di tutti i documenti che intendi condividere con gli alunni.
Per gli insegnanti
- Corso B - Esercizi online - Sito web
- Suggerimenti per le principali attività dei corsi di Fondamenti di informatica - Suggerimenti
Per gli alunni
- Faccine delle emozioni - Emoticon
- I miei amici robotici - Legenda
- I miei amici robotici - Suggerimenti per accatastare bicchieri
- Blocchi Blockly tradizionali (Corsi A e B) - Scheda da ritagliare
- Diario di bordo - Le proprie riflessioni
Glossario
- Algoritmo - Un elenco di passaggi per completare un compito.
- Bug (errore) - Parte di un programma che non funziona correttamente.
- Debugging (correzione degli errori) - Individuazione e risoluzione di problemi in un algoritmo o in un programma.
- Programma - Un algoritmo che è stato tradotto in un linguaggio che può essere interpretato ed eseguito da una macchina.
- Programmazione - L'arte di creare un programma.
Supporto
Segnala un errore
Guida didattica
Introduzione - Le fondamenta tradizionali (3 min)
Suggerimenti
Se i tuoi alunni conoscono già i punti cardinali, sostituire "Su" e "Giù" con "Nord" e "Sud" non dovrebbe essere un problema. In caso contrario, trovi a disposizione un pratico foglio di lavoro con la rosa dei venti di Code.org che potrai utilizzare per coinvolgere tutta la classe. Questa conversione tornerà utile per quasi tutte le lezioni tecnologiche dei corsi A e B (per la scuola dell'infanzia e la prima primaria).
Potrai così anticipare ai tuoi alunni che troveranno queste lettere nei programmi online accanto alle frecce di direzione.
Ripasso dell'attività tradizionale
Questa lezione si basa su molti concetti che gli alunni hanno appreso nelle lezioni tradizionali nelle settimane precedenti a questa prima lezione tecnologica. È importante riprendere alcuni concetti (come perseveranza, debugging, algoritmi e programmi) in modo che la classe possa trarne il massimo vantaggio anche attraverso il lavoro online.
Visualizzazione - Mostra agli alunni una pila di bicchieri che hanno completato nella precedente lezione tradizionale "I miei amici robotici".
Confronto - Chiedi agli alunni di ricordare i simboli utilizzati nella lezione "I miei amici robotici".
- Cosa faceva il robot quando usavi la freccia verso "Nord"?
- E con la freccia verso "Est"?
Integra il tutto anche nel contesto della storia "Fastidiosi insetti nascosti".
- Cosa accadrebbe se commettessimo un errore durante la programmazione del robot? E se ci fosse un "bug" nel nostro programma? Dovremmo buttare via tutto e ricominciare da capo?
Incoraggia gli alunni a ripensare ai suggerimenti:
- Funziona tutto al primo passo?
- Funziona tutto al secondo passo?
- Dove non ha funzionato?
Transizione - Dopo esserti assicurato che i tuoi alunni ricordino bene "I miei amici robotici" e "Fastidiosi insetti nascosti", puoi passare all'Attività ponte.
Attività ponte - Scegline una
Per collegare la lezione tradizionale con la successiva lesione tecnologica, scegli una delle seguenti attività da svolgere con la tua classe.
1) Attività tradizione con l'uso di blocchi di carta
Illustrazione - Scegli uno schema da resource mrf-cup-stacks-b not found della lezione tradizionale "I miei amici robotici" (se ne hai appena usato uno per mostrare un esempio di ripasso, usa tranquillamente quello per il seguito di questo esercizio). Usando i blocchi di movimento delle schede Blocchi Blockly tradizionali (Corsi A e B) - Scheda da ritagliare, mostra agli alunni come programmare lo schema in questa nuova modalità.
Esercitazione/Riflessione - Successivamente, scegli un altro schema e fai creare agli alunni il programma fatto con i blocchi di carta che un "robot" deve leggere per accatastare correttamente i bicchieri.
Assicurati che comprendano che i blocchi devono essere collegati l'un l'altro, procedendo dall'alto verso il basso!
Condivisione - Gli alunni devono confrontare le risposte con i loro compagni e risolvere in autonomia eventuali domande ed errori.
2) Esercizi online con le frecce
Illustrazione - Mostra agli alunni uno degli esercizi online di questa lezione tecnologica. Consigliamo l'esercizio 8. Mostra agli alunni come portare l'uccellino fino al maialino usando i simboli resource mrf-symbols-b not found. Può essere utile rinominare le frecce "Nord", "Sud", "Ovest" ed "Est". Quando hai a disposizione un programma, traccialo con le dita (o un puntatore) e mostra come l'uccellino si muoverà quando si eseguirà il programma.
Esercitazione/Riflessione - Ora vai ad un esercizio più semplice, per esempio l'esercizio 7, e fai scrivere il programma agli alunni usando le frecce.
Condivisione - Chiedi agli alunni di condividere i loro programmi con la classe. Gli altri hanno trovato soluzioni uguali o differenti? Qualcuno ha trovato un modo diverso per far andare l'uccellino fino al maialino?
Le fondamenta online: anteprima della programmazione nel labirinto (3 min)
Per completare il collegamento, visualizza in anteprima un esercizio online (o due) insieme a tutta la classe.
Illustrazione - Esegui un esercizio online completo, consigliamo l'esercizio 8 della Lezione 7. Presenta l'"area di gioco" con l'uccellino e l'"area di lavoro" con il codice Blockly. Spiega che il codice Blockly ora è il linguaggio che gli alunni useranno per portare l'uccello fino al maialino. Riescono a notare delle somiglianze rispetto all'esercizio che hanno appena svolto? Quali sono le differenze principali?
Trascina insieme ai tuoi alunni i blocchi di codice nell'area di lavoro in modo tale che l'uccellino arrivi dal maialino.
Transizione - A questo punto, gli alunni dovrebbero essere pronti per passare ai computer e completare gli esercizi online in autonomia.
Attività principale (30 min)
Se stai cercando degli esercizi supplementari da svolgere con la tua classe, ecco alcuni esercizi di "previsione" che ti permettono di esplorare del codice già pronto insieme ai tuoi alunni, per abituarli a prevedere cosa farà l'uccellino. È consigliato svolgerli insieme, prima che gli alunni rischino di perdersi sui loro computer.
Esercizi di previsione:
Corso B - Esercizi online - Sito web
Suggerimenti
Mostra agli alunni il modo giusto di aiutare i compagni di classe:
- non sederti sulla sua sedia
- non usare la sua tastiera
- non toccare il suo mouse
- prima di andar via, assicurati che il tuo compagno sia in grado di descriverti la soluzione ad alta voce
Girando tra i banchi - Gli insegnanti svolgono un ruolo fondamentale nell'insegnamento dell'informatica, creando un ambiente vitale e collaborativo. Durante gli esercizi online, il ruolo dell'insegnante è principalmente di incoraggiamento e supporto. Le lezioni tecnologiche sono pensate per essere fruite in autoapprendimento, quindi gli insegnanti dovrebbero evitare di intervenire quando gli alunni rimangono bloccati.
- Quando possibile, usa la Programmazione in coppia - Video per gli alunni.
- Stimola gli alunni con domande/sfide da affrontare con il proprio compagno.
- Le domande che restano senza risposta, possono essere girate ad un gruppo vicino, che potrebbe già conoscerne la risposta.
- Ricorda agli alunni di seguire sempre tutto il processo di debugging prima di rivolgersi a te.
- Chiedi agli alunni di descrivere il problema che stanno avendo. Cos'è successo? Che cosa sarebbe dovuto succedere? Questo cosa ti suggerisce?
- Ricorda agli alunni frustrati che la frustrazione è un passo avanti nel percorso di apprendimento e che la perseveranza li ripagherà.
- Se un alunno è ancora bloccato dopo tutto ciò, ponigli domande mirate per indurlo ad individuare da solo il problema.
Conclusione (5 - 10 min)
Diario di bordo
Far scrivere agli alunni ciò che hanno appreso, perché è utile e come si sentono al riguardo, può aiutare a consolidare le conoscenze acquisite oggi e a creare un riferimento da consultare in futuro.
Spunti per il diario di bordo
- Disegna nell'angolo della pagina del tuo diario una delle Faccine delle emozioni - Emoticon che mostri come ti sei sentito durante la lezione di oggi.
- Disegna una griglia con un uccellino e un maialino. Puoi scrivere un programma per portare quell'uccellino da quel maialino?
Approfondimenti
Divisi in piccoli gruppi, fai progettare agli alunni dei labirinti di carta e falli sfidare tra di loro a scrivere i programmi per risolverli. Per aggiungere divertimento, puoi anche creare dei labirinti a grandezza naturale facendo interpretare agli alunni i ruoli di uccellino e maialino.
Mappatura delle competenze
Visualizza la mappatura completa del corso
CSTA K-12 Computer Science Standards (2017)
AP - Algoritmi e programmazione
- 1A-AP-09 - Modella il modo in cui i programmi memorizzano e manipolano i dati utilizzando numeri o altri simboli per rappresentare le informazioni.
- 1A-AP-11 - Individua (scompone) i passaggi necessari per risolvere un problema in una sequenza precisa di istruzioni.
Competenze interdisciplinari
Questo elenco riporta le competenze di altre materie sulle quali gli alunni hanno l'opportunità di esercitarsi in questa lezione.
Competenze linguistiche
L - Lingua
- 1.L.6 - Usare parole e frasi acquisite attraverso conversazioni, lettura, lettura e risposta a testi, incluso l'uso di congiunzioni ricorrenti per segnalare relazioni semplici (ad es. Perché).
SL - Parlare e ascoltare
- 1.SL.1 - Partecipare a conversazioni collaborative con diversi partner su argomenti e testi di prima elementare con colleghi e adulti in gruppi piccoli e più grandi.
- 1.SL.1.a - Seguire le regole concordate per le discussioni (ad esempio, ascoltare gli altri con attenzione, parlare uno alla volta degli argomenti e dei testi in discussione).
- 1.SL.1.b - Costruire sul discorso degli altri nelle conversazioni collegando i loro commenti alle osservazioni degli altri.
- 1.SL.1.c - Porre domande per chiarire ogni confusione sugli argomenti e sui testi in discussione.
Competenze matematiche
MP - Esercizi di matematica
- MP.1 - Comprende il significato dei problemi e persevera nella loro soluzione.
- MP.2 - Ragiona in modo astratto e quantitativo.
- MP.5 - Utilizza strategicamente strumenti appropriati.
- MP.6 - Punta alla precisione.
- MP.7 - Cerca e fa uso di strutture.
- MP.8 - Cerca ed esprime delle regolarità nel ragionamento ciclico.
OA - Operazioni e pensiero algebrico
- 1.OA.5 - Mettere in relazione il conteggio con l'addizione e la sottrazione (ad esempio, contando su 2 per aggiungere 2).
- 1.OA.6 - Aggiungere e sottrarre entro il numero 20, dimostrare padronanza nelle operazioni di addizione e sottrazione entro il numero 10. Usare strategie come contare; usare la tecnica degli "amici del 10" (ad esempio, 8 + 6 = 8 + 2 + 4 = 10 + 4 = 14); scomporre un numero per ricondursi a dieci (ad esempio, 13 – 4 = 13 – 3 – 1 = 10 – 1 = 9
Competenze scientifiche
ETS - Engineering in the Sciences
ETS1 - Progettazione
- K-2-ETS1-1 - Porre domande, fare osservazioni e raccogliere informazioni su una situazione che le persone vogliono cambiare per definire un semplice problema che può essere risolto attraverso lo sviluppo di un oggetto o strumento nuovo o migliorato.