< Corso C (2021)

Lezione 7 - I miei ciclici amici robotici (per i più piccoli)

45 minuti

Panoramica

Questa è una lezione di contestualizzazione: si basa sull'attività iniziale "I miei amici robotici", con progetti più grandi e complessi.

Traguardo di apprendimento

Questa lezione serve ad introdurre i cicli, usando l'ormai familiare insieme di istruzioni per programmare i "robot". Gli alunni sviluppano il pensiero critico cercando schemi di ripetizione nei movimenti dei compagni di classe e determinando come semplificare quegli schemi ripetuti usando i cicli.

Mappatura delle competenze

Mappatura completa del corso
CSTA K-12 Computer Science Standards (2017)
    • 1A-AP-09 - Plasma il modo in cui i programmi memorizzano e manipolano i dati utilizzando numeri o altri simboli per rappresentare le informazioni.
    • 1A-AP-10 - Sviluppa programmi con sequenze e cicli semplici, per dare forma alle tue idee o per affrontare un problema.
    • 1A-AP-11 - Individua (scompone) i passaggi necessari per risolvere un problema in una sequenza precisa di istruzioni.
    • 1A-AP-14 - Fai il debug (identifica e correggi) degli errori in un algoritmo o in un programma che include sequenze e cicli semplici.

Pianificazione

Obiettivi

Gli alunni saranno in grado di:
  • individuare nel codice gli schemi ripetuti che possono essere sostituiti con dei cicli
  • scrivere programmi che usano le istruzioni di ripetizione (cicli) per eseguire schemi ripetuti

Preparazione

  • Assicurati che ogni alunno abbia un diario.
  • Preparare una pila di 20 bicchieri di carta (o *trapezi di carta) per ogni gruppo di 4 alunni.
  • Mostra i *simboli cui gli alunni possono fare riferimento durante la lezione.
  • (Opzionale) Stampa una copia dei *Suggerimenti per accatastare bicchieri per ogni gruppo di 4 studenti.

Collegamenti

Attenzione! Fai una copia di tutti i documenti che intendi condividere con gli alunni.

Per gli studenti

Glossario

  • Ciclo - L'azione di ripetere qualcosa più e più volte.
  • Ripeti - Fare di nuovo qualcosa.

Guida didattica

Preparazione (10 minuti)

Ripasso - I miei amici robotici

Obiettivo - Questo ripasso permetterà agli alunni di notare quanto possano divenire complessi i programmi dell'attività "I miei amici robotici".

Visualizzazione - Mostra la *Legenda che abbiamo usato in "I miei amici robotici". Per ciascuno dei quattro simboli, chiedi agli alunni di mostrarti cosa dovrebbe fare un robot che segue quell'istruzione.

Illustrazione - Insieme a tutta la classe, scegli un semplice esercizio dal documento *Suggerimenti per accatastare bicchieri e fai esercitare gli alunni a programmare tra loro, in modo da riportare alla mente le regole e la terminologia.

Successivamente, proponi un esercizio leggermente più difficile, che richieda alcuni passaggi ripetuti, come quello qui sotto.

Volontari - Chiedi aiuto a un volontario (o a un gruppo di volontari) per programmare tutto ciò alla lavagna. Se si attengono rigorosamente alla regola “nessun simbolo diverso da quelli presenti nella legenda”, probabilmente ci vorrà parecchio tempo!

Visualizzazione - Ora mostra questa immagine:

Che reazione ha la classe?

Suggerimento - Offri agli alunni l'opportunità di ragionare tutti insieme (brainstorming) sui possibili metodi per trasmettere in modo più efficiente il codice che stanno per creare. (Questa parte può essere ignorata se i tuoi alunni iniziano autonomamente a dire cose del tipo: “Vai avanti di 6 volte.” Da questo momento si aprirà la discussione su come mostrare “sei volte” con dei simboli.)

Una volta che gli alunni hanno compreso il concetto di “ripetere” le istruzioni, forniscigli la corretta terminologia. Assicurati che si rendano conto che spesso le espressioni "ripeti" e "fai un ciclo" sono usati come sinonimi.

Introduzione ed illustrazione

Impostazione - Prepara le pile di bicchieri o ritaglia i trapezi di carta per i gruppi.

Visualizzazione - Prendi il programma di uno dei due esempi precedenti e mostralo alla classe, oppure usa il seguente.

3 cup solution

Riflessione - Chiedi agli alunni di osservare con calma dove riescono a trovare una sequenza di istruzioni che si ripete consecutivamente (una ripetizione dopo l'altra).

Esercitazione - Invita gli alunni a rivolgersi a un vicino di banco e condividere uno degli schemi di ripetizione che hanno trovato.

Condivisione - Chiedi ad alcuni alunni di condividere con la classe gli schemi identificati. Prova ad identificare diversi approcci agli schemi di raggruppamento. Per ogni schema, chiedi agli alunni di individuare quante volte si ripete.

Illustrazione - Usando uno degli schemi di ripetizione individuati dalla classe, mostra come cerchiare l'istruzione o la sequenza che si ripete, scrivi il numero di ripetizioni vicini al cerchio, quindi sbarra le frecce sostituite dal ciclo.

looped code

Ripeti fino a quando l'intero programma non è stato abbreviato, quindi riscrivi il codice in modo che gli alunni possano notare quanto sono semplici le istruzioni risultanti.

Aggiungere cicli ai tuoi robot

Esercitazione - Distribuisci gli alunni in gruppi di 4. Dividi quindi ogni gruppo in due coppie: ogni coppia svilupperà il proprio programma che verrà poi "eseguito" dall'altra coppia.

Distribuzione - Fornisci ad ogni gruppo una pila di bicchieri o gli analoghi ritagli di carta.

Visualizzazione - Mostra alla classe il documento *Suggerimenti per accatastare bicchieri o distribuiscine copie individuali a tutti i gruppi. Chiedi a ciascuna coppia (non al gruppo) di scegliere quale schema vorrebbero far implementare al proprio robot. Questa volta, incoraggia le coppie a scegliere uno schema più complicato.

Discuti: - Invita ciascun gruppo a discutere su come deve essere costruita la pila di bicchieri, quindi invita gli alunni a tradurre l'algoritmo in simboli. Assicurati che ogni gruppo scriva l'algoritmo di simboli da qualche parte, in modo che poi il "robot" possa leggerlo. Mentre gli alunni lavorano ai loro programmi, ricordagli di cercare valide opportunità per sostituire degli schemi ripetuti con dei cicli.

Suggerimenti didattici

Looking for Loops: tieni gli occhi aperti per gli alunni che usano i cicli. Non correggere i loro algoritmi generali e non suggerire una soluzione, ma sentiti libero di indirizzare gli alunni verso schemi che potrebbero essere abbreviati usando una ripetizione circolare.

Osserva gli alunni durante l'esecuzione del programma. Ci sono errori? Usa le domande di correzione degli errori per aiutarli a trovare una soluzione.

  • Cosa fa?
  • Cosa dovrebbe fare?
  • E questo cosa vuol dire?
  • Funziona al primo tentativo?
  • Funziona al secondo tentativo?
  • Dov'è che smette di funzionare?

Fai questo - Quando gli alunni hanno finito di preparare le loro istruzioni, fai scambiare i programmi tra le coppie in modo che ognuna esegua il codice dell'altra. Ricorda agli alunni di tenere traccia degli errori (bug), ma di non interrompere il "robot" fino al termine dell'esecuzione del programma.

Discuti - Quando tutte le coppie hanno avuto la possibilità di eseguire i programmi, chiedi ad alcuni di condividere le loro soluzioni con la classe. Sfrutta quest'opportunità per discutere di come i gruppi hanno trovato soluzioni diverse per lo stesso esercizio. In particolare, per ciascun programma, potresti chiedere:

  • Come avete identificato i cicli?
  • Ci sono altri modi in cui si potevano scrivere quei cicli?
  • Quanto è più breve un programma che sfrutta la potenzialità dei cicli rispetto all'analogo codice che non ne farebbe uso?
  • È più facile capire un programma scritto i cicli o senza? Perché?

Conclusione (5 minuti)

Riflessione

Suggerimenti:

  • Chiedi agli alunni di scrivere o disegnare qualcosa nel loro diario che in seguito consenta loro di ricordare cosa sono i cicli. Potresti suggerire:
    • Per te cosa significa "ripetere"?
    • Disegna una tua immagine mentre ripeti qualcosa.

Approfondimenti

Sfrutta queste attività per migliorare l'apprendimento degli alunni. Possono essere anche utilizzate come attività extra-scolastiche o come potenziamento.

  • Chiedi agli alunni di disegnare le loro creazioni con l'impilamento delle tazze affinché qualcun altro possa tradurle in codice.
  • Fornisci agli studenti degli algoritmi che utilizzino le ripetizioni, quindi chiedi loro di incrementare il programma a una versione completa passo dopo passo.
Creative Commons License (CC BY-NC-SA 4.0).

Questo compito è disponibile previa Licenza Creative Commons (CC BY-NC-SA 4.0).

Se sei interessato ad utilizzare i materiali di Code.org per scopi commerciali, contattaci.