Lesson 1: 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 alunni 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. 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.

Agenda

Introduzione (5 min)

Attività (45 minuti)

Conclusione (10 min)

View on Code Studio

Objectives

Students will be able to:

  • riformulare una sequenza di passaggi, traducendola in un programma codificato
  • individuare e risolvere anomalie o errori nelle sequenze di istruzioni

Preparation

  • (Facoltativo) Stampa la Legenda "I miei amici robotici" per ogni gruppo di 4 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 4 studenti, 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 delle Schede da ritagliare - 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.
  • Ciclo - L'azione di ripetere qualcosa più e più volte.
  • Programma - Un algoritmo che è stato tradotto in un linguaggio che può essere interpretato ed eseguito da una macchina.
  • Ripeti - Fai di nuovo qualcosa

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

Confronto - Inizia chiedendo alla classe se qualcuno ha sentito parlare di robotica. Qualcuno ha mai visto o toccato un robot? Un robot ci "sente" davvero parlare? "Comprende" quello che diciamo?

Spiegazione - I robot possono fare solo ciò per cui sono stati istruiti o programmati. Per eseguire un'attività, un robot deve disporre di un elenco di istruzioni (anche chiamato algoritmo) espresso in un linguaggio che sia in grado di leggere e comprendere. Oggi, impareremo cosa ci vuole per realizzarlo.

Attività (45 minuti)

Introduzione e modellistica

Robot Symbols

Opzioni alternative


Semplificata - Un po' complicato per i tuoi alunni? Ecco qualche suggerimento per semplificare il processo:

  • includi più azioni nelle istruzioni "su" e "giù", per esempio:
    • "su" significa che la tazza si alza automaticamente quanto necessario
    • "giù" significa che scende automaticamente finché non si poggia su qualcosa
    • la mano torna automaticamente alla pila di bicchieri dopo aver appoggiato un bicchiere

Avanzata - 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 [/][2]

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

Visualizzazione - Visualizza la legenda I miei amici robotici - Legenda 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 - 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 i suggerimenti 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.

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

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

Standards Alignment

View full course alignment

CSTA K-12 Computer Science Standards (2017)

AP - Algoritmi e programmazione
  • 1B-AP-11 - Scompone (suddivide) i problemi in sotto-problemi più piccoli e gestibili per facilitare il processo di sviluppo del programma.

Cross-curricular Opportunities

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

Competenze linguistiche

L - Lingua
  • 4.L.6 - Acquisire e utilizzare in modo accurato parole e frasi accademiche generali e frasi specifiche del settore, comprese quelle che segnalano azioni precise, emozioni o stati d'essere (ad esempio, interrogato, lamentato, balbettato) e che sono fondamentali per un particolare argomento (ad esempio
SL - Parlare e ascoltare
  • 4.SL.1 - Impegnarsi efficacemente in una serie di discussioni collaborative (in coppia, in gruppo e guidate dall'insegnante) con diversi compagni su argomenti e testi della quinta classe, basandosi sulle idee altrui ed esprimendo chiaramente le proprie.
  • 4.SL.1.b - Seguire le regole concordate per le discussioni e svolgere i ruoli assegnati.
  • 4.SL.1.c - Porre e rispondere a domande specifiche facendo commenti che contribuiscano alla discussione ed elaborare le osservazioni degli altri.
  • 4.SL.6 - Distinguere tra contesti che richiedono un inglese formale (ad esempio, presentare idee) e situazioni in cui il discorso informale è appropriato (ad esempio, discussione in piccoli gruppi) usare l'inglese formale quando è appropriato per il compito e la situazione.

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.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
  • 3-5-ETS1-1 - Definire un semplice problema di progettazione che rifletta un'esigenza o un desiderio che includa criteri specifici per il successo e vincoli su materiali, tempi o costi.
  • 3-5-ETS1-3 - Pianificare ed eseguire test equi in cui le variabili sono controllate e i punti di guasto sono considerati per identificare gli aspetti di un modello o prototipo che possono essere migliorati.