Lezione 8: Debugging con la collezionista
Debugging (correzione degli errori) | Bug (errore) | Collezionista | Laura
Panoramica
In questa attività online, gli alunni si eserciteranno con il debugging nell'ambiente della collezionista. Potranno esercitarsi leggendo e modificando il codice per risolvere gli esercizi con semplici algoritmi, 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.
Pianificazione
Introduzione (15 min)
Attività ponte - Debugging (15 min)
Attività principale (30 min)
Conclusione (15 min)
Visualizza in Code Studio
Obiettivi
Gli alunni saranno in grado di:
- leggere e comprendere il codice fornito
- individuare un bug ed i relativi problemi che causa in un programma
- descrivere e mettere in atto un piano per eseguire il debugging di un programma
Preparazione
- Esercitati con il Corso D - Esercizi online - Sito web per identificare i punti potenzialmente più critici per la tua classe.
- Ripassa i Suggerimenti per le principali attività dei corsi di Fondamenti di informatica - Suggerimenti.
- Assicurati che ogni alunno abbia un Diario di bordo - Le proprie riflessioni.
Collegamenti
Attenzione! Fai una copia di tutti i documenti che intendi condividere con gli alunni.
Per gli insegnanti
- Corso D - Esercizi online - Sito web
- Suggerimenti per le principali attività dei corsi di Fondamenti di informatica - Suggerimenti
Per gli alunni
- Programmazione a staffetta - Materiali dell'attività
- Blocchi Blockly tradizionali (Corsi C-F) - Scheda da ritagliare
- Diario di bordo - Le proprie riflessioni
Glossario
- 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.
Supporto
Segnala un errore
Guida didattica
Introduzione (15 min)
Presentazione
Una delle parti più importanti dell'apprendimento della programmazione è imparare ad eseguire il 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 - Debugging (15 min)
Questa attività aiuterà a portare i concetti del debugging imparati nell'attività tradizionale "Programmazione a staffetta" nel mondo tecnologico in cui si stanno spostando gli alunni. Scegli una delle seguenti attività da svolgere con la tua classe.
Attività tradizione 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 Programmazione a staffetta - 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 da Blocchi Blockly tradizionali (Corsi C-F) - Scheda 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.
Anteprima degli esercizi online con tutta la classe
Suddividi la classe in squadre di 3 alunni. Scegli un esercizio di questa lezione del Corso D - Esercizi online 2018 - Sito web. 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 min)
Corso D - Esercizi online 2018 - Sito web
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 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?
- Cos'è un bug? Come fai a sapere che c'è un bug nel tuo programma?
- Cosa significa eseguire il debugging del codice? Come si esegue il debugging di un programma?
Student Instructions
"These blocks are really bugging me!"
Fix the error(s) to collect all of the nectar.
Student Instructions
"Ooh, this one stings!"
Fix the error(s) to collect all of the nectar.
Student Instructions
"These blocks are really bugging me."
Fix the error(s) to collect all of the nectar and make all of the honey.
Student Instructions
"This could be sweet!"
Fix the error(s) to make all of the honey.
Student Instructions
Challenge: "This puzzle is making me loopy!"
All of the commands that you need are already here...now use your debugging skills to figure out how to solve this puzzle.
Student Instructions
Challenge: Fix the errors to collect all of the nectar and make all of the honey.
Student Instructions
"Such a sticky situation!"
Help the bee find his mistakes.
Student Instructions
"So many lovely flowers!"
Help the bee fix the code to get all the nectar.
Student Instructions
"It's nectar-topia!"
Help the bee fix the code to get all the nectar.
Student Instructions
Look closely at the code below. Why won't the bee collect all of the nectar when you click "Run"? Warning: This is a tricky question, make sure you read all of the options before answering!
The bee will turn the wrong way when making a square.
The loop does not run long enough for the bee to get to all flower bunches.
The bee turns the wrong way and the loop doesn't run long enough to get all of the flowers.
I don't know.
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.
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.
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.4 - Modellare con la matematica
- MP.6 - Punta alla precisione.
- MP.7 - Cerca e fa uso di strutture.
- MP.8 - Cerca ed esprime delle regolarità nel ragionamento ciclico.
OA - Operazioni e pensiero algebrico
- 3.OA.3 - Usare la moltiplicazione e la divisione entro 100 per risolvere problemi di parole in situazioni che coinvolgono gruppi uguali, matrici e quantità di misura, ad esempio utilizzando disegni ed equazioni con un simbolo per il numero sconosciuto per rappresentare il problema.1
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.