Lesson 6: I miei amici robotici

Algoritmi | Debugging (correzione degli errori) | Lezione tradizionale

Overview

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).

Purpose

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. 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.

Agenda

Introduzione (5 min)

Attività (30 min)

Conclusione (10 min)

View on Code Studio

Objectives

Students will be able to:

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

Preparation

  • (Facoltativo) Stampa la Legenda "I miei amici robotici (Corso B)" per ogni gruppo di 2-3 alunni. In alternativa, visualizza queste informazioni in un punto comune, dove gli alunni possano riferirsi durante la lezione.
  • Prepara una pila di 10 bicchieri per ogni gruppo di 2-3 alunni, OPPURE
  • (se la tua classe non dispone di bicchieri) stampa e ritaglia la scheda "Modello trapezi di carta" per ogni gruppo.
  • Stampa una copia per ogni gruppo del documento "Suggerimenti per accatastare bicchieri".
  • Assicurati che ogni studente abbia un diario di bordo.

Collegamenti

Heads Up! Please make a copy of any documents you plan to share with students.

For the Students

Vocabulary

  • 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.

Support

Report a Bug

Teaching Guide

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à (30 min)

Robot Symbols

Introduzione e modellistica

Suggerimenti

Regole pratiche:

  • Su significa che il bicchiere si alza automaticamente fino all'altezza necessaria
  • Giù significa che scende automaticamente fino a quando non si poggia su qualcosa
    • La mano ritorna automaticamente alla pila di bicchieri dopo aver posato un bicchiere
  • Avanti significa che il robot si muove di un passo (1/2 bicchiere di larghezza) avanti
  • Indietro significa che il robot si muove di un passo (1/2 bicchiere di larghezza) indietro
    • Nota: nella versione base di questa lezione, il comando Indietro non è molto utile, a meno che non si voglia costruire le pile di bicchieri al contrario (che va bene)
  • I programmatori non possono parlare quando il robot è in funzione, e nemmeno dare risposte casuali o sottolineare che il robot ha fatto qualcosa di sbagliato
  • I programmatori devono alzare la mano se notano un errore

Possibili opzioni

Più semplice - Un po' complicato per i tuoi alunni?

Fai parecchi esempi davanti alla classe, fino a quando gli alunni non comprendono a fondo tutte le regole. Se ti sembra che rischino ancora di confondersi, prova a condurre l'intera attività insieme a tutta la classe usando volontari come robot, invece di dividerli in gruppi!

Più complesso - I tuoi alunni sono particolarmente esperti? Vuoi che questa lezione si avvicini maggiormente agli esercizi online? Ecco alcune modifiche che puoi apportare.

  • Ogni freccia corrisponde ad un movimento
    • Quando un bicchiere viene rimosso dalla pila, ritorna al livello del tavolo prima di spostarsi
    • Gli alunni devono usare più frecce "su" per alzare il bicchiere di più livelli
    • Gli alunni devono usare più frecce "giù" per abbassare il bicchiere di più livelli
    • Gli alunni devono usare le frecce "indietro" per tornare alla pila di bicchieri

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

Visualizzazione - Visualizza la legenda resource mrf-symbols-b not found 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 quattro 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 - Distribuisci 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 i suggerimenti resource mrf-cup-stacks-b not found 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.

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.

Suggerimenti

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

  • 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 pila di bicchieri che vorresti vedere costruire da un robot.
  • Sapresti scrivere il programma per far costruire quella pila di bicchieri?

Standards Alignment

View full course alignment

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.

Cross-curricular Opportunities

This list represents opportunities in this lesson to support standards in other content areas.

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.b - Costruire sul discorso degli altri nelle conversazioni collegando i loro commenti alle osservazioni degli altri.
  • 1.SL.2 - Porre e rispondere a domande su particolari chiave in un testo letto ad alta voce o informazioni esposte oralmente o attraverso altri media.

Competenze matematiche

MD - Misure e dati
  • 1.MD.4 - Organizzare, rappresentare e interpretare i dati con un massimo di tre categorie; chiedere e rispondere a domande sul numero totale di punti dati, quanti in ciascuna categoria e quanti più o meno si trovano in una categoria piuttosto che in un'altra.
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.3 - Costruisce argomentazioni valide e analizza in modo critico i ragionamenti degli altri.
  • 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.

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.
  • K-2-ETS1-2 - Sviluppare un semplice schizzo, disegno o modello fisico per illustrare come la forma di un oggetto lo aiuti a funzionare come necessario per risolvere un dato problema.