< Corso D (2021)

Lezione 5 - Debugging con la collezionista

75 minuti

Panoramica

Questa lezione è una "palestra delle competenze": gli alunni si esercitano con il debugging nell'ambiente della collezionista. Gli alunni possono esercitarsi a leggere e correggere il codice per risolvere gli esercizi con semplici algoritmi contenenti cicli e cicli annidati.

Traguardo di apprendimento

Il traguardo di apprendimento di questa lezione è di insegnare agli alunni che, mentre si acquisisce una nuova abilità, il fallimento è normale. Agli alunni verranno forniti programmi già scritti che NON funzionano. Gli verrà quindi chiesto di correggere questi programmi. L'apprendimento di questo processo, chiamato "debugging", porta con sé le competenze basilari del problem solving e del pensiero critico. Queste competenze si trasferiscono man mano che gli alunni procedono verso progetti di programmazione sempre più difficili.

Mappatura delle competenze

Mappatura completa del corso
CSTA K-12 Computer Science Standards (2017)
    • 1B-AP-11 - Scompone (suddivide) i problemi in sotto-problemi più piccoli e gestibili per facilitare il processo di sviluppo del programma.

Pianificazione

Obiettivi

Gli alunni saranno in grado di:
  • descrivere e mettere in atto un piano per eseguire il debugging di un programma
  • individuare un bug ed i relativi problemi che causa in un programma
  • leggere e comprendere il codice fornito

Preparazione

  • Naviga attraverso gli esercizi per identificare i punti potenzialmente più critici per la tua classe.
  • Assicurati che ogni alunno abbia un diario per le proprie riflessioni

Collegamenti

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

Per gli studenti

Glossario

  • Bug (errore) - Parte di un programma che non funziona correttamente.
  • Correzione errori (debugging) - Individuazione e risoluzione di problemi in un algoritmo o in un programma.

Guida didattica

Preparazione (15 minuti)

Introduzione

Una delle parti più importanti dell'apprendimento della programmazione è imparare ad eseguire la correzione degli errori (debugging). Chiedi agli alunni se hanno già dovuto affrontare il fallimento mentre stavano imparando una nuova abilità.

Ad esempio:

  • cadere mentre imparavano ad andare in bicicletta,
  • bruciare del cibo mentre imparavano a cucinare,
  • perdere una partita quando stavano imparando uno nuovo sport.

È normale dover affrontare il fallimento quando si imparano cose nuove. Invita gli alunni a raccontare come hanno gestito i loro fallimenti passati.

Capita spesso agli informatici di imbattersi in "bug" nel loro codice.

  • Bug - Parte di un programma che non funziona correttamente.

Un bug può compromettere il funzionamento di un programma, è quindi importante imparare ad eseguire il "debugging" del codice.

  • Debugging - Individuazione e risoluzione di problemi in un algoritmo o in un programma.

Approfondisci la conversazione se pensi che la classe ne abbia bisogno, ma lascia del tempo per una delle attività ponte.

Attività ponte: scegline una (15 minuti)

Questa attività aiuterà a portare i concetti tradizionali introdotti in Debugging: programmazione a staffetta - Attività tradizionale" nel mondo online in cui gli alunni stanno iniziando a muoversi. Scegli una delle seguenti attività da svolgere con la tua classe:

Attività tradizionale con l'uso di blocchi di carta

Suddividi la classe in squadre di 3-5 alunni in uno spazio sufficientemente ampio, come una palestra o un luogo all'aperto. Metti le squadre in fila come in "Programmazione a staffetta". Scegli uno schema di difficoltà intermedia da *Materiali dell'attività. Posiziona il disegno a lunga distanza di fronte ad ogni squadra. Insieme al disegno, fornisci ad ogni squadra parecchi blocchi di carta tratti dalle *Schede da ritagliare. Ogni squadra avrà bisogno di parecchi blocchi riempi 1 e vai ___. I blocchi vai ___ possono essere compilati in anticipo o durante l'esecuzione dell'attività. In ogni caso, controlla che questi blocchi siano compilati correttamente al termine dell'attività.

Una volta che tutte le squadre sono allineate, mostra o leggi le seguenti regole.

  • Il primo alunno di ogni fila deve correre all'immagine, esaminarla ed inserire il primo blocco di codice necessario per riprodurre quell'immagine.
  • Questo alunno quindi corre indietro, tocca l'alunno successivo della fila e poi si posiziona in fondo alla fila.
  • Il compagno toccato corre all'immagine, la osserva, analizza il programma che è già stato scritto, esegue il debugging del programma eliminando un blocco di codice errato o aggiungendone uno nuovo. Quindi si precipita indietro per toccare la persona successiva e il processo continua finché un gruppo non ha terminato il programma.

Controlla che gli alunni utilizzino solo i blocchi riempi 1 o vai ___, e ne piazzino solo uno per turno. Vince la prima squadra che scrive correttamente tutto il codice che realizza l'immagine.

-Oppure-

Anteprima degli esercizi online con tutta la classe

Suddividi la classe in squadre di 3 alunni. Scegli un esercizio di questa lezione del [csf-course-d][2]. Ti consigliamo l'esercizio 3. Chiedi agli alunni di ogni squadra di sedersi a un computer e visualizzare l'esercizio. Ogni squadra riceve un solo computer e solo un alunno può guardare lo schermo. Mostra o leggi le seguenti regole.

  • Un solo un alunno di ogni squadra può guardare lo schermo.
  • Questo alunno può eliminare o aggiungere solo un blocco. Una volta che ha aggiunto o rimosso un blocco, tocca la spalla dell'alunno successivo.
  • Quest'ultimo procede con il suo turno.
  • Non si può ripetere o saltare alcun turno, tutti devono giocare lo stesso numero di volte.

Vince la prima squadra che termina correttamente l'esercizio!

Attività principale (30 minuti)

Debugging con la collezionista

Potrebbe essere utile che gli alunni si dispongano con le stesse squadre delle attività ponte. Anche se ogni alunno dovrebbe lavorare su questi esercizi individualmente o in coppia, avere un gruppo affiatato per porre e rispondere alle domande può aiutarli a sviluppare sicurezza e comprensione dell'argomento.

Conclusione (15 minuti)

Riflessione

Far scrivere agli studenti quello che hanno imparato, il perché sia utile e quale sia il loro riscontro in proposito, può aiutare a consolidare le conoscenze acquisite oggi e costruire un foglio di appunti utile da guardare in futuro.

Suggerimenti:

  • Di che parlava la lezione di oggi?
  • Che ne pensi della lezione di oggi?
  • Che cos'è un errore (bug)? Come fai a sapere che c'è un errore nel tuo programma?
  • Cosa significa eseguire il debug del codice? Come si esegue il debug di un programma?
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.