Lezione 4: Cicli annidati

Cicli annidati | Cicli | Ape | Labirinto

Panoramica

In questa attività online, gli alunni avranno modo di portare la comprensione dei cicli ad un livello superiore. Esercitandosi con l'Ape e giocando nell'ambiente di "Piante contro Zombie", gli alunni impareranno a programmare un ciclo posizionato all'interno di un altro ciclo. Saranno anche incoraggiati a capire come dei piccoli cambiamenti in entrambi i cicli influenzano il funzionamento del programma.

Traguardo di apprendimento

In questa introduzione ai cicli annidati, gli alunni dovranno uscire dalla loro zona di comfort per creare soluzioni più efficienti.

Negli precedenti esercizi, gli alunni dovevano riconoscere delle ripetizioni da sostituire con dei cicli. Qui dovranno imparare a riconoscere degli schemi di ripetizione posizionati all'interno di altri schemi ripetuti, al fine di sviluppare questi cicli annidati. Questa lezione inizia incoraggiando gli alunni a risolvere un esercizio in cui è irritante e complesso scrivere il codice per esteso. Dopo che un video introduce i cicli annidati, agli alunni viene mostrato un esempio e viene chiesto di prevedere cosa accadrà quando un ciclo viene inserito all'interno di un altro ciclo. Dopo questo inizio graduale, gli alunni possono fare molta pratica per consolidare e sviluppare la loro comprensione dei cicli nella programmazione.

Pianificazione

Introduzione (10 min)

Attività principale (30 min)

Conclusione (15 min)

Visualizza in Code Studio

Obiettivi

Gli alunni saranno in grado di:

  • suddividere attività complesse in sezioni ripetibili più piccole
  • riconoscere schemi ripetuti costituiti a loro volta da altri schemi ripetuti
  • identificare i vantaggi dell'utilizzo di una struttura ciclica invece della ripetizione manuale

Preparazione

Collegamenti

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

Per gli insegnanti

Per gli alunni

Glossario

  • Istruzione - Un comando comprensibile per il computer. Molte istruzioni messe insieme formano un programma per computer.
  • Ciclo - L'azione di ripetere qualcosa più e più volte.
  • Ripeti - Fai di nuovo qualcosa

Guida didattica

Introduzione (10 min)

Presentazione

Ripassa velocemente con la classe cosa sono i cicli e perché li usiamo.

  • Cosa fanno i cicli?
    • I cicli ripetono una serie di istruzioni. (Vedi la voce "istruzione" nel glossario se gli alunni non ricordano bene la definizione.)
  • Come usiamo i cicli?
    • Usiamo i cicli per creare uno schema costituito da azioni ripetute.

Di' alla classe che ora faranno qualcosa di fantastico: useranno i cicli all'interno di altri cicli. Chiedi alla classe di prevedere in quali circostanze potrebbe essere utile un ciclo all'interno di un altro ciclo.

"Se un ciclo ripete uno schema, il ciclo di un ciclo ripete uno schema di schemi!"

Non è necessario che gli alunni capiscano da subito, quindi sentiti libero di passare agli esercizi online anche se gli alunni sembrano ancora un po' confusi.

Attività principale (30 min)

Corso D - Esercizi online 2018 - Sito web

In questa lezione consigliamo fortemente la Programmazione in coppia - Video per gli alunni. Questo argomento potrebbe non essere facile per la maggior parte dei tuoi alunni. Lavorare con un compagno e discutere delle potenziali soluzioni potrebbe alleviare il compito.

Inoltre, fai tenere a portata di mano carta e matite per consentire agli alunni di scrivere il programma su carta prima di andare online. In alcuni esercizi l'uso di alcuni blocchi è limitato, quindi se gli alunni preferiscono scrivere il programma per esteso prima di cercare gli schemi ripetuti, la carta può essere un ottimo mezzo.

Conclusione (15 min)

Spunti per il diario di bordo

  • Di cosa trattava la lezione di oggi?
  • Come ti sei sentito durante la lezione di oggi?
  • Cos'è un ciclo annidato?
  • Riesci a progettare un esercizio che utilizzi un ciclo annidato? Prova a programmare la soluzione per il tuo esercizio.
Visualizza in Code Studio

Student Instructions

"This is going to BEE great!"*

Help the bee collect all of the nectar.

Visualizza in Code Studio

Student Instructions

Look closely at the nested loops below. What will happen when you click "Run"?

The bee will move forward and get nectar only one time.

The bee will get only 2 units of nectar.

The bee will get all of the nectar.

I don't know.

Visualizza in Code Studio

Student Instructions

This time, help the bee collect all of the nectar using as few blocks as possible.

Visualizza in Code Studio

Student Instructions

"Zombie hungry!"

Get the zombie to the sunflower using the fewest number of blocks possible.

Visualizza in Code Studio

Student Instructions

Get the zombie to the sunflower using the fewest blocks possible!

Visualizza in Code Studio

Student Instructions

Visualizza in Code Studio

Student Instructions

"Must eat sunflower!"

Get the zombie to the sunflower using only the blocks available.

Visualizza in Code Studio

Student Instructions

Challenge: Figure out how to get all of the nectar using only the blocks available.

Visualizza in Code Studio

Student Instructions

Collect all of the nectar from each flower and make honey at the honeycomb.

Visualizza in Code Studio

Student Instructions

Make all of the honey.

Visualizza in Code Studio

Student Instructions

Look closely at the code below. How much honey will the bee make when you click "Run"?

4

8

12

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.
  • 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.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.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.
OA - Operazioni e pensiero algebrico
  • 3.OA.4 - Determinare il numero intero sconosciuto in un'equazione di moltiplicazione o divisione relativa a tre numeri interi. Ad esempio, determinare il numero sconosciuto che rende vera l'equazione in ciascuna delle equazioni 8 × ? = 48, 5 = � ÷ 3, 6 × 6 = ?.

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.