Lezione 7: Cicli annidati

Cicli annidati | Cicli

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

  • 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 rapido - Sito web

In questa lezione consigliamo vivamente 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 alleggerire il compito.

Inoltre, fai tenere a portata di mano carta e matite per consentire agli alunni di scrivere il programma su carta prima di programmare. 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.

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.