Informazioni sulle lezioni
Classi: 8–12 (per partecipare a questo corso, gli studenti devono aver compiuto 13 anni)
Durata del piano di lezioni: Un'ora
Strumento utilizzato: modalità Creativa di Fortnite
Ambiente di lezione/apprendimento: un dispositivo compatibile con Fortnite e un rapporto dispositivo-studente 1:1 con connessione a Internet. Un laboratorio informatico o un leggio mobile per laptop dovrebbero fornire l'ambiente ideale.
Contatti degli autori
Autori: Steven Isaacs e Brian Dickman
Email: [email protected] | [email protected]
Twitter: @mr_isaacs | @cleverlike
LinkedIn: https://www.linkedin.com/in/steve-isaacs/ | https://www.linkedin.com/in/cleverlike
DESCRIZIONE DELL'AMBIENTE DI LEZIONE/APPRENDIMENTO
Questa lezione è stata progettata per Hour of Code durante la Computer Science Education Week.
Questo piano si può utilizzare come lezione singola o nell'ambito di altre attività in un progetto più ampio.
L'autore Steve Isaacs insegna design e sviluppo dei videogiochi attraverso ambienti con scelte e obiettivi che consentono ai giocatori di raggiungere i traguardi educativi seguendo i percorsi più allineati ai loro interessi, sia come contenuti, sia come opzioni del progetto.
L'autore Brian Dickman ha studiato informatica e dirige uno studio di sviluppo che produce contenuti divertenti ed educativi all'interno di videogiochi popolari.
Panoramica delle lezioni
Riuscirai a uscire dalla torre dei quiz? O meglio, riuscirai a creare un gioco in cui bisogna uscire dalla torre dei quiz?
Questa attività illustra l'uso delle funzioni in Fortnite Creativo, dal momento che avrai il compito di creare un gioco in cui bisogna rispondere a una serie di domande per uscire dalla torre. Ogni risposta corretta attiverà la funzione che consente al giocatore di avanzare nella torre, con un effetto grafico e una melodia appaganti. Le risposte errate attiveranno un effetto grafico e un suono meno piacevoli, chiedendo al giocatore di riprovare.
Completando questa attività, gli studenti comprenderanno le basi delle funzioni nell'ambito della programmazione tramite l'uso di sequencer e di una serie di dispositivi.
Risultati desiderati
Quali risultati di apprendimento raggiungeranno gli studenti?
DOMANDE ESSENZIALI/IDEE CHIAVE
Gli studenti possono imparare concetti d'informatica all'interno di un'attività significativa anziché imparare sintassi in astratto?
Imparare concetti informatici come le funzioni attraverso le attività in Fortnite Creativo consente di comprendere il concetto generale per i normali ambienti di programmazione?
Gli studenti possono apprendere i concetti di informatica attraverso meccaniche di gioco?
Gli studenti sono più motivati a imparare l'informatica quando i suoi concetti sono presentati in un ambiente di gioco?
Attività d'apprendimento
Introduzione alle funzioni
Una funzione è un'unità di codice spesso definita dal proprio ruolo all'interno di una struttura di codici più ampia. Nel dettaglio, una funzione contiene un'unità di codice che viene attivata da diversi input, spesso variabili, producendo risultati concreti che comprendono modifiche ai valori delle variabili o operazioni effettive in base agli input.
– da Techopedia.com
In altre parole:
Una funzione è una parte di codice che può essere richiamata continuamente.
– da code.org
Ad esempio, nell'attività di questa lezione gli studenti configureranno una serie di funzioni per eseguire un gioco a quiz in Fortnite Creativo. In sostanza, ciascuna funzione (rappresentata dal sequencer) eseguirà una serie di comandi (tramite i dispositivi) nel gioco.
Lo pseudocodice è l'atto di simulare la scrittura di un codice per illustrare l'idea alla base. Lo pseudo-codice mostra la struttura generale, ma non segue necessariamente la sintassi corretta. In queste lezioni, utilizzeremo periodicamente lo pseudo-codice per illustrare i concetti.
In termini di pseudo-codice, il gioco avrebbe questo aspetto:
Funzione 1 (askQuestion): iniziare il turno/fare una domanda al giocatore Funzione 2 (startTimer): il timer del conto alla rovescia
miaFunzione(faiDomanda) Procedi come segue Ripristina pulsanti di risposta Riproduci audio Scegli numero casuale per domanda del quiz Poni domanda miaFunzione(avviaTimer) Avvia conto alla rovescia Se il conto alla rovescia raggiunge lo 0 allora Tempo scaduto Riproduci audio Mostra messaggio ("Spiacente, non hai risposto in tempo") Attiva domanda successiva Termina funzione Termina funzione
Funzione 3: (correctAnswer) miaFunzione(rispostaCorretta) Procedi come segue Riproduci suono allegro Mostra messaggio ("Esatto! Complimenti!") Aggiungi punto Attiva domanda successiva TerminaFunzione TerminaFunzione
Funzione 4: (wrongAnswer) miaFunzione(rispostaErrata) Procedi come segue Riproduci audio spiacevole Mostra messaggio ("Peccato. Riprova!") Attiva domanda successiva TerminaFunzione
Nell'esempio precedente, quando la funzione (faiDomanda) viene eseguita, si attiva una serie di eventi:
Ripristino dei pulsanti di risposta.
Riproduzione di un suono che anticipa la domanda.
Scelta di un numero casuale per determinare la domanda del quiz da porre.
Presentazione della domanda al giocatore.
Poi introduciamo un'altra funzione (avviaTimer), che esegue:
Avvio del conto alla rovescia.
Riproduzione di un suono se il timer raggiunge lo 0 per far scadere la possibilità di rispondere alla domanda.
Aggiungiamo altre due funzioni (rispostaCorretta) e (rispostaErrata). Le funzioni eseguiranno queste operazioni:
Riproduzione di un suono.
Modifica del punteggio, se necessaria.
Visualizzazione di un messaggio.
Attivazione della domanda successiva.
Ecco un video che spiega le funzioni:
Principi CS: definizione e chiamata di funzioni
Le funzioni si possono utilizzare in qualsiasi linguaggio di programmazione e anche in ambienti come Fortnite Creativo.
In Fortnite, useremo il Sequencer e posizioneremo eventi/azioni al suo interno. In questo modo, quando il Sequencer sarà attivato, verranno eseguite le azioni al suo interno.
Attività
Consulta la Guida dello studente e le Note dell'insegnante per una guida passo dopo passo all'attività.
Gli studenti dovrebbero accedere e operare attraverso la Guida dello studente.
Usa il compendio scaricabile per valutare il lavoro degli studenti.
RISORSE ESTERNE
Principi CS: introduzione alle variabili - Parte 1 Principi CS: introduzione alle variabili - Parte 2 Definizione di variabili
Mappatura degli standard
1A-AP-09 Modellare il modo in cui i programmi conservano e manipolano i dati utilizzando numeri o altri simboli per rappresentare informazioni.
1B-AP-10 Creare programmi che includono sequenze, eventi, loop e operazioni condizionali.
1B-AP-12 Modificare, riconfigurare o integrare porzioni di un programma esistente nel proprio lavoro per sviluppare qualcosa di nuovo o aggiungere funzionalità avanzate.
1B-AP-15 Testare ed effettuare il debug (identificazione e correzione di errori) di un programma o un algoritmo per garantire l'esecuzione desiderata.
2-AP-10 Usare diagrammi di flusso e/o pseudo-codice per affrontare problemi complessi come algoritmi.
2-AP-13 Suddividere problemi e sotto-problemi in parti per facilitare progettazione, implementazione e revisione dei programmi.
2-AP-14 Creare procedure con parametri per organizzare il codice e semplificare il suo riutilizzo.
2-AP-17 Testare sistematicamente i programmi e migliorarli con una serie di casi di test.
3A-AP-13 Creare prototipi che usano algoritmi per risolvere problemi informatici sulla base di conoscenze scolastiche e interessi personali.
3A-AP-16 Progettare e affinare creazioni informatiche per scopi pratici, espressione personale o rispondere a problemi nella società utilizzando eventi che portano all'esecuzione di istruzioni.
3A-AP-17 Suddividere i problemi in componenti più piccole attraverso analisi sistematiche, utilizzando costrutti come procedure, moduli e/o oggetti.
3A-AP-18 Produrre creazioni utilizzando procedure all'interno di un programma, combinazioni di dati e procedure, oppure programmi indipendenti ma in correlazione.
3A-AP-22 Progettare e sviluppare creazioni informatiche lavorando in ruoli di squadra utilizzando strumenti.
COLLEGAMENTI INTERDISCIPLINARI E CON IL 21° SECOLO
Questa lezione copre aree relative alla programmazione e all'informatica.
Collegamenti con il 21° secolo:
Ragionamento critico
Creatività
Collaborazione
Comunicazione
Competenze tecnologiche
Flessibilità
Comando
Iniziativa
Abilità sociali
MODIFICHE E ACCORGIMENTI
Apporta le modifiche e gli accorgimenti adeguati in base alle esigenze degli studenti, ai programmi individuali, di sostegno, ecc.
Gli studenti possono lavorare in squadra per integrare un approccio di programmazione combinato.
Puoi fornire agli studenti un modello di mappa da decostruire/modificare.
Fornisci un controller adattivo o da gaming, se necessario.