Lezione 6: I miei amici robotici

Algoritmi | Debugging (correzione degli errori) | Lezione tradizionale

Panoramica

Utilizzando una serie di simboli al posto dei blocchi di codice, gli alunni progetteranno algoritmi per ordinare a un "robot" di accatastare bicchieri seguendo diversi schemi. Gli studenti parteciperanno a turno come robot, rispondendo solo all'algoritmo definito dai loro compagni. In questa lezione si insegna agli alunni la relazione tra simboli e azioni, la differenza tra algoritmo e programma e la preziosa capacità di correzione degli errori (debugging).

Traguardo di apprendimento

Questa lezione tradizionale riunisce l'intera classe in un'unica squadra motivata da un semplice compito: condurre un "robot" ad accatastare dei bicchieri secondo uno schema predeterminato. Gli alunni dovranno riconoscere le azioni del mondo materiale come potenziali istruzioni di programmazione. Verrà praticata anche l'arte di interpretare le istruzioni con assoluta precisione, mentre traducono algoritmi in codice, utilizzando i simboli forniti. Se sorgono problemi nel programma, gli alunni devono collaborare per trovare gli errori e creare soluzioni. Questa attività pone le basi per la programmazione che gli alunni faranno durante il corso, mentre comprendono l'importanza di definire un algoritmo nel modo più dettagliato e comprensibile possibile.

Pianificazione

Introduzione (5 min)

Attività principale (45 minuti)

Conclusione (10 min)

Visualizza in Code Studio

Obiettivi

Gli alunni saranno in grado di:

  • focalizzarsi sulla precisione durante la creazione delle istruzioni
  • individuare e risolvere anomalie o errori nelle sequenze di istruzioni

Preparazione

Collegamenti

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

Per gli insegnanti

Per gli alunni

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.

Guida didattica

Introduzione (5 min)

Suggerimenti

L'obiettivo di questo rapido confronto è di sottolineare che i robot non possono comportarsi come delle persone, bensì reagiscono esclusivamente in base a come sono stati programmati. Gli alunni, probabilmente, saranno influenzati dall'immaginario creato dai robot visti nei film, che invece si comportano più come umani. Invitali a prendere in considerazione robot che hanno realmente visto in azione o di cui hanno sentito parlare, come Roomba o gli assistenti vocali come Amazon Alexa.

Parlando ai robot

Visualizzazione - Mostra agli alunni uno dei seguenti video per dargli un'idea più realistica di ciò che i robot possono realmente fare:

Confronto - Fai riferimento al video che hai scelto e chiedi agli alunni come pensano che il robot sapesse cosa fare. Un robot “capisce” davvero quello che dici? È preoccupato di mettersi nei guai se non fa ciò che gli viene detto?

Spiegazione - I robot possono fare solo ciò che gli è stato esplicitamente detto di fare, ma non glielo diciamo semplicemente usando le parole. Per fare qualcosa, un robot deve avere a disposizione un elenco di passaggi da leggere. Oggi impareremo come ciò possa avvenire.

Attività principale (45 minuti)

Introduzione e modellistica

Robot Symbols

Impostazione - Fornisci ai gruppi di alunni una pila di bicchieri o ritaglia dei trapezi di carta.

Visualizzazione - Visualizza il symbol-key oppure scrivi alla lavagna le azioni consentite - assicurati che gli alunni siano posizionati in modo che tutti riescano a vedere l'intera attività. Spiega che queste saranno le uniche quattro azioni che potranno usare in questo esercizio. In questa attività istruiranno il loro amico “robot” a costruire una certa pila di bicchieri, usando solo i comandi indicati.

Illustrazione - Per spiegare il funzionamento dell'attività, crea ed esegui un algoritmo per riprodurre uno schema semplice. Come inizio, potresti posizionare davanti a te una singola pila di bicchieri.

Visualizzazione - Mostra a tutti il modello che prevedi di realizzare. Un semplice schema a tre bicchieri potrebbe essere un ottimo punto di partenza.

Suggerimento - Chiedi ai tuoi alunni quale dovrebbe essere la prima istruzione da eseguire, usando solo le sei istruzioni consentite. La prima mossa dovrebbe essere "prendi un bicchiere". Se gli alunni suggeriscono qualcos'altro, esegui tale azione ed attendi che notino il loro errore. Se suggeriscono una mossa non prevista dalle istruzioni, esprimi una evidente reazione di malfunzionamento e fagli notare che tale istruzione non è stata capita.

Con il bicchiere in mano, chiedi alla classe di continuare a darti istruzioni fino a quando il primo bicchiere non viene posizionato. Questo è un ottimo momento per chiarire che "fare un passo avanti" e "fare un passo indietro" implicano ciascuno uno spostamento pari alla larghezza di mezzo bicchiere. Vedi l'immagine qui sotto come riferimento.

3 cup pattern

Continua a chiedere alla classe le istruzioni da seguire, fino a quando non hai completato l'intero progetto.

Una volta completato lo schema, sottolinea che ti hanno appena fornito un elenco di passaggi per completare una certa attività. Questo è un algoritmo. Gli algoritmi sono un ottimo modo per condividere delle idee, ma spiegarle parola per parola può richiedere molto tempo. Ecco a cosa servono i simboli! Quando si trasforma un algoritmo in simboli comprensibili da un robot (e quindi da un computer), si parla di programmazione.

Ora, chiedi ai tuoi alunni di aiutarti a scrivere il "programma" per quella prima mossa, sostituendo il testo con una freccia. Quindi lavora con loro per scrivere il resto delle istruzioni necessarie per completare l'intero schema. A seconda delle capacità acquisite dai tuoi alunni, potresti dover alternare spesso tra agire come "robot" e scrivere il codice, oppure potreste scrivere direttamente l'intero programma prima di provare ad implementarlo. Ecco una possibile soluzione:

3 cup solution

Volontari - Una volta che la classe ha completato il programma di esempio, chiedi a uno degli alunni di agire come "robot" per verificare che il programma funzioni correttamente. Incoraggia l'intera classe a pronunciare ad alta voce le istruzioni mentre si "esegue" il codice.

Programmazione dei robot

Esercitazione - Ditribuisci gli alunni in gruppi di 4. Ogni gruppo dovrebbe viene ulteriormente suddiviso in due coppie - ogni coppia sviluppa il proprio programma che dovrà poi essere "eseguito" dall'altra coppia.

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

Visualizzazione - Mostra alla classe Suggerimenti per accatastare bicchieri - Scheda da ritagliare o distribuiscine copie individuali a tutti i gruppi. Chiedi a ciascuna coppia (non al gruppo) di scegliere quale schema vorrebbero far implementare ai propri robot. La prima volta prova ad orientare gli alunni verso le idee più semplici, poi incoraggiali a scegliere disegni più complessi. Invita le coppie a mantenere segreta la loro scelta all'altra metà del loro gruppo.

Confronto Dai ad ogni coppia il tempo di discutere come costruire la pila di bicchieri usando solo i simboli forniti. Assicurati che ogni gruppo annoti il "programma" da qualche parte, affinché il "robot" possa poi leggerlo.

Teaching Tip

Fai rispettare le regole - Mentre il robot sta lavorando sulla pila assicurati che gli alunni abbiano ben chiaro che:

  • i programmatori non sono autorizzati a parlare quando il robot è in funzione, non possono quindi dare suggerimenti o segnalare quando il robot ha fatto qualcosa di sbagliato;
  • se i programmatori notano un errore, devono limitarsi ad alzare la mano.

Esercitazione - Una volta che entrambe le coppie del gruppo hanno completato i loro programmi, possono alternativamente essere "robot" l'una per l'altra, seguendo le istruzioni scritte dall'altra coppia. Incoraggia gli alunni a guardare attentamente il loro "robot" per assicurarsi che stia effettivamente seguendo le istruzioni. Se un alunno nota un errore e alza la mano, chiedi al "robot" di completare le istruzioni al meglio delle sue capacità. Successivamente, chiedi agli alunni di discutere del potenziale errore e di trovare una soluzione. Continua a ripetere la procedura fino a quando lo schema non sarà creato correttamente.

Girando tra i banchi - Individua i gruppi che cercano delle scorciatoie, aggiungendo caratteristiche aggiuntive al codice (per esempio i numeri per le ripetizioni). Lodali per la loro ingegnosità, ma ricordagli che per questo esercizio i "robot" non capiscono altro che i simboli forniti. Se vuoi, puoi suggerire loro di conservare questa brillante idea per la prossima volta che faranno a questo gioco, poiché potrebbero avere la possibilità di usare la loro invenzione!

Ripetizione - A seconda del tempo disponibile, mescola le coppie e dai loro la possibilità di eseguire uno schema diverso. Ogni volta che i gruppi ripetono il processo, incoraggiali a scegliere uno schema più impegnativo.

Discussion Goal

Il fine ultimo - L'obiettivo di questo confronto è dare agli alunni l'opportunità di dare un senso alla loro esperienza, sia come "robot" che come programmatori. Le domande sono intenzionalmente ampie, ma pensate per indurre gli alunni a riflettere sulle sfide insite nella scrittura di un programma chiaro e sui vincoli intrinseci di un robot (e quindi di un computer) nell'interpretazione delle istruzioni.

Confronto - Dopo che tutti hanno avuto la possibilità di interpretare il ruolo di robot, riunisci la classe per confrontarsi sull'esperienza appena vissuta. In particolare, poni le seguenti domande.

  • Qual è stata la parte più difficile nel definire le istruzioni?
  • Qualcuno ha riscontrato degli errori nelle istruzioni una volta che il robot ha iniziato a seguirle?
    • Quali errori?
    • Perché pensi di non averli notati durante la scrittura del programma?
  • Quando eri il "robot", qual è stata la parte più difficile nel seguire le istruzioni che hai ricevuto?

Conclusione (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

  • Di cosa trattava la lezione di oggi?
  • Come ti sei sentito durante la lezione di oggi?
  • Disegna una pila di bicchieri che il robot ha preparato oggi.
  • Disegna una pila di bicchieri che un giorno vorresti vedere costruire da un robot.

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.