Lezione 7: Programmazione a staffetta

Lezione tradizionale | Programmazione a staffetta | Algoritmi

Panoramica

Questa attività inizierà con un breve ripasso della "Programmazione su carta a quadretti", poi si passerà rapidamente ad una corsa contro il tempo, poiché gli alunni si divideranno in squadre e lavoreranno insieme per scrivere un programma un'istruzione alla volta.

Traguardo di apprendimento

Il lavoro di squadra è molto importante in informatica. Invece di lavorare individualmente, gli alunni scrivono il codice ed eseguono il debugging raggruppati in coppie. In questa lezione, gli alunni impareranno a lavorare insieme e ad essere il più efficienti possibile.

Questa attività trasmette anche un senso di urgenza che insegnerà agli alunni a bilanciare attentamente l'uso del tempo, cercando di evitare errori, senza rimanere troppo indietro.

Pianificazione

Introduzione (15 min)

Attività principale (20 min)

Conclusione (15 min)

Verifica (10 min)

Approfondimenti

Visualizza in Code Studio

Obiettivi

Gli alunni saranno in grado di:

  • definire concetti usando codice e simboli
  • verificare il lavoro svolto dai compagni di squadra

Preparazione

  • Individua un ampio spazio aperto per svolgere questa attività, come la palestra o il giardino.
  • Stampa per ogni gruppo il documento dei Materiali dell'attività - Programmazione a staffetta.
  • Fornisci ad ogni gruppo carta e penne o matite in abbondanza.
  • Stampa per ogni alunno una copia della Verifica - Programmazione a staffetta.
  • Assicurati che ogni studente abbia un diario di bordo.

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 (15 min)

Ricorda come in "Programmazione su carta a quadretti" abbiamo guidato il nostro compagno di squadra usando le frecce. In questa fase introduttiva, si ripropongono queste idee, che sono poi indispensabili nell'attività principale.

Illustrazione - Prenditi un momento per riesaminare con la tua classe un'immagine di "Programmazione su carta a quadretti". Può essere una che hai già trattato oppure una nuova.

L'attività di oggi sarà simile, ma invece di controllarci a vicenda, lavoreremo insieme per creare un programma un simbolo alla volta.

Attività principale (20 min)

Programmazione a staffetta

Tenendo a mente la "Programmazione su carta a quadretti", è il momento di dividersi in squadre e prepararsi a svolgere l'attività a staffetta!

Impostazione - Stampa una copia del documento Programmazione a staffetta - Materiali dell'attività per ogni squadra di 3-5 alunni. Taglia ogni pagina lungo la linea tratteggiata centrale.

Suggerimenti

Ecco alcuni chiarimenti da fornire di volta in volta agli alunni.

  • Solo un membro di ogni squadra alla volta può stare dove si trova l'immagine.
  • Va bene concordare l'algoritmo con i compagni di squadra in fila, anche pianificando chi scriverà cosa, quando arriveranno all'immagine.
  • Quando un alunno esegue il debugging del programma, cancellando un'istruzione errata (o un raggruppamento di istruzioni errate), conta come turno (non può fare altro). Il giocatore successivo dovrà capire come correggere l'elemento rimosso.

Condividi con la classe le regole del gioco.

  • Creare gruppi di 3-5 alunni.
  • Ogni gruppo deve mettersi in coda in modalità "staffetta".
  • Posizionare tante copie della stessa immagine sull'altro lato della stanza/palestra/giardino, una per ogni squadra.
  • Il primo alunno in fila corre verso l'immagine, la esamina e annota il primo simbolo del programma per riprodurre quell'immagine.
  • L'alunno quindi corre indietro e tocca la successiva persona della fila, poi va in coda alla fila.
  • Il compagno toccato corre all'immagine, la osserva, analizza il programma che è già stato scritto, esegue il debugging del programma cancellando un eventuale simbolo errato o ne aggiunge uno nuovo. Quindi si precipita indietro per toccare la persona successiva e il processo continua finché un gruppo non ha terminato il programma.

Il primo gruppo che completa il programma che corrisponde a quell'immagine è il vincitore! Fai ripetere il gioco più volte con immagini di difficoltà crescente.

Esegui il gioco tutte le volte che puoi, prima che scada il tempo o che i tuoi alunni inizino ad essere stanchi.

Transizione - Una volta terminato il gioco, riunisci tutti in cerchio per condividere i concetti appresi.

Confronto - Cosa abbiamo imparato oggi?

  • E se al componente di ogni persona fosse permesso di fare cinque frecce alla volta?
    • Quanto sarebbe importante eseguire il debugging del nostro lavoro e del lavoro del programmatore prima di noi?
    • E facendo 10 frecce?
    • E 10.000? Sarebbe più o meno importante?
  • Pensi che un programma sia migliore o peggiore quando ci ha lavorato più di una persona?
  • Pensi che le persone commettano più o meno errori quando hanno fretta?
  • Se trovi un errore, devi buttare via l'intero programma e ricominciare da capo?

Conclusione (15 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?
  • Che ruolo ha avuto il gioco di squadra nella scrittura del programma di oggi?
  • Come hai utilizzato le tue capacità di debugging nella lezione di oggi?

Verifica (10 min)

resource csf-relay-programming-assessment not found

Passa alla fase di valutazione e chiedi agli alunni di lavorarci su in modo indipendente. Alla fine, potrai dedicare un po' di tempo per esaminare e confrontare le risposte.

Approfondimenti

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

Passa il foglio

  • Se non hai il tempo o lo spazio per organizzare la staffetta, puoi chiedere agli alunni passarsi il foglio da un banco all'altro, inserendo (o cancellando) un simbolo a testa.

Risolvi e passalo

  • In qualità di insegnante, disegna un'immagine con tanti quadrati pieni quanti sono i bambini di ogni gruppo.
  • Chiedi agli alunni di scrivere il programma con tutte le frecce necessarie per arrivare a un quadrato pieno (incluso il riempimento effettivo di quel quadrato) e poi di passarlo all'alunno successivo.

Debugging altrui

Disegna un'immagine alla lavagna. Chiedi ad ogni alunno di creare un programma per quell'immagine e di scambiarlo poi con il compagno di banco, eseguendo quindi il debugging uno per l'altro.

  • Ogni alunno deve cerchiare il primo eventuale errore e restituire il foglio al programmatore
  • Dai agli studenti una seconda possibilità per rivedere ed eseguire il debugging del proprio lavoro.
  • Chiedi ad un volontario di condividere con la classe il suo programma.

Chiedi infine alla classe:

  • Quanti alunni hanno realizzato lo stesso programma?
  • Qualcuno ha pensato a qualcosa di diverso?
  • Levels
  • 1
  • (click tabs to see student view)
Visualizza in Code Studio

Student Instructions

Mappatura delle competenze

Visualizza la mappatura completa del corso

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.
  • 1B-AP-12 - Modificare, rimescolare o incorporare parti di un programma esistente, rendendolo proprio, per sviluppare qualcosa di nuovo o aggiungere funzionalità più avanzate.
  • 1B-AP-15 - Esegue test e debugging (identificare e correggi errori) di un programma o di un algoritmo per assicurarti che funzioni come previsto.

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
  • 3.L.6 - Acquisire e utilizzare parole e frasi colloquiali, accademiche generali e specifiche del dominio appropriate al livello scolare, comprese quelle che segnalano le relazioni spaziali e temporali (ad esempio, dopo cena quella sera siamo andati a cercarli).
SL - Parlare e ascoltare
  • 3.SL.1 - Impegnarsi efficacemente in una serie di discussioni collaborative (a tu per tu, 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.
  • 3.SL.1.b - 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).
  • 3.SL.3 - Porre e rispondere a domande sulle informazioni da un oratore, offrendo elaborazione e dettagli appropriati.
  • 3.SL.6 - Produrre frasi complete quando appropriato per compito e situazione al fine di fornire i dettagli o i chiarimenti richiesti.

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.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-2 - Generare e confrontare più possibili soluzioni a un problema in base alla probabilità che ciascuna soddisfi i criteri e i vincoli del problema.