Coding e Gamification
Transcript
Coding e Gamification
Coding o Programmazione Stesura di un programma per computer. Sviluppo si competenze: di analisi di problem posing di problem solving 2 Gamification o Ludicizzazione Uso di elementi del gioco in contesti non ludici al fine di migliorare il coinvolgimenti dei soggetti interagenti: • obiettivo o missione • regole • feedback immediato • partecipazione volontaria • meccanismo premiale (punti - livelli - ricompense) • https://it.duolingo.com/ 3 Serious Game Giochi digitali che contengono elementi educativi. Sono strumenti formativi. Obiettivo: sviluppare abilità e competenze da applicare nel mondo reale attraverso l'esercizio in un ambiente simulato e protetto. Diversamente dalla Gamification, che contiene solo alcuni elementi mutuati dai giochi, il Serious Game è gioco a tutti gli effetti. http://gamfed.com/ 4 Perché sperimentare il coding a scuola? Nel mondo odierno i computer sono dovunque e costituiscono un potente strumento di aiuto per le persone. Per essere culturalmente preparato a qualunque lavoro uno studente di adesso vorrà fare da grande è indispensabile una comprensione dei concetti di base dell’informatica. Esattamente com’è accaduto in passato per la matematica, la fisica, la biologia e la chimica. 5 Pensiero computazionale Non esiste una definizione universalmente condivisa. Definizione formulata dalla dottoressa J.Wing, direttrice del Dipartimento di Informatica della Carnegie Mellon University: “è il processo mentale che sta alla base della formulazione dei problemi e delle loro soluzioni così che le soluzioni siano rappresentate in una forma che può essere implementata in maniera efficace da un elaboratore di informazioni sia esso umano o artificiale”. Ovvero è lo sforzo che un individuo deve mettere in atto per fornire a un altro individuo o macchina tutte e sole le “istruzioni” necessarie affinché questi eseguendole sia in grado di portare a termine il compito dato. 6 Concetti del pensiero computazionale Sequenza: un’attività può essere espressa attraverso una serie consecutiva di singoli step o istruzioni. Ciclo: è un meccanismo per eseguire più volte la medesima sequenza in maniera iterativa. Evento: il verificarsi di un’azione causa lo scatenarsi di un’altra azione. Parallelismo: significa eseguire sequenze di istruzioni differenti allo stesso tempo. Condizione: è la possibilità di prendere decisioni sulla base del verificarsi di determinate situazioni. Operatore: fornisce supporto per la manipolazione di numeri e stringhe di caratteri. Dati: sono valori che possono essere salvati, recuperati e modificati durante l’esecuzione di un programma. 7 Pratiche di pensiero computazionale (1) Essere incrementali e iterativi: la progettazione è un processo adattativo dove la pianificazione può cambiare man mano che ci si avvicina alla soluzione del problema. Testare e debuggare: individuare problemi ed errori e correggerli. Riusare (pattern recognition): riconoscere come alcune parti di soluzione possono essere riusate nella stessa o riapplicate a problemi simili. Remixare (copiare per migliorare): grazie alla rete e all’ampia disponibilità di lavori di altri autori, è possibile prendere spunto da idee e codice per costruire cose più complesse di quelle che si sarebbero potute realizzare per conto proprio, dando un’ulteriore spinta alla propria creatività. 8 Pratiche di pensiero computazionale (2) Astrarre: è il processo di riduzione della complessità, per far emergere l’idea principale mantenendo solo alcuni aspetti e tralasciandone altri. Modularizzare (scomporre): è il processo che consente di scomporre un problema complesso in problemi più semplici, per cui risolvendo i problemi più semplici si risolve anche il problema complesso. 9 Attitudini di pensiero computazionale Esprimere se stessi: una persona dotata di pensiero computazionale vede nella tecnologia uno strumento per esprimere se stessi, la propria creatività e dire qualcosa di sé agli altri. Essere connessi: saper comunicare e lavorare con gli altri per raggiungere un obiettivo o una soluzione condivisa. Porre domande: saper sviluppare una mente vigile grazie alla quale è sempre viva la domanda di come un oggetto incontrato nel mondo reale possa funzionare. 10 Coding + Gamification Il lato scientifico-culturale dell'informatica, cioè il pensiero computazionale, aiuta a sviluppare competenze logiche e capacità di risolvere problemi in modo creativo ed efficiente, qualità che sono importanti per tutti i futuri cittadini. Il modo più semplice e divertente di sviluppare il pensiero computazionale è attraverso la programmazione (coding ) in un contesto di gioco. 11 Blokly Programmazione a blocchi link 12 … verso scratch… I videogiochi sono dei prodotti software e, pertanto, sono realizzati scrivendo codice con uno o più linguaggi di programmazione. L’attività è complessa e richiede competenze in svariati ambiti. Ci vengono in aiuto alcuni strumenti progettati appositamente per programmare senza conoscere uno specifico linguaggio. Si utilizzano dei blocchi predefiniti che possono essere combinati tra loro incastrandoli come pezzi di un puzzle. Una combinazione di tali blocchi si chiama script. Ogni blocco ha una precisa funzione. Solitamente si organizzano i blocchi in base alle funzioni svolte e si distinguono mediante colori diversi. 13 Motivazioni • dare ai bambini la consapevolezza che e' possibile interagire con gli strumenti tecnico informatici che li circondano non solo in maniera passiva, ovvero semplicemente usandoli, ma anche in maniera attiva, cioe' programmandoli direttamente • l’attività è presentata come un gioco, da fare singolarmente e collettivamente, produrre un risultato tangibile in tempi brevi 14 M.I.T (Massachusetts Institute of Technology) E’ un progetto del Lifelong Kindergarten Group dei Media Lab del MIT. È reso disponibile in maniera completamente gratuita è progettato in maniera specifica per la fascia di età 8 - 16, ma è usato da persone di tutte le età. Milioni di persone stanno creando progetti con Scratch a casa, a scuola ma anche in musei, biblioteche e centri ricreativi Scratch è usato in più di 150 nazioni ed è disponibile in più di 40 lingue diverse. 15 Caratteristiche • • • • • • • il nome deriva dalla “scratching technique” usata dai disk jockey: mixare, comporre in maniera creativa si impara a programmare mentre si creano storie interattive giochi, progetti multimediali non serve saper programmare (starting from scratch → partire da zero) la programmazione e' completamente grafica: non occorre sapere nulla di programmazione formale è pensata come un gioco, ma richiede che il bambino pensi a cosa vuole fare e sia in grado di dividere azioni complesse in pezzi elementari è fortemente multimediale i progetti possono essere condivisi: sul sito web di Scratch, su YouTube, su Flickr, sui vari social network 16 I blocchi principali Variabili e liste: memorizzano valori singoli o multipli. Situazioni: eventi al verificarsi dei quali deve succedere qualcosa. Controllo: strutture per controllare il flusso di esecuzione. Operatori: tipicamente aritmetici, logici, di confronto. Sensori: controllano input, output, webcam, mouse, … Movimento: per spostare gli elementi sullo stage. Aspetto: modifica di sfondi e colori e delle caratteristiche o degli atteggiamenti dei personaggi (sprite) presenti sullo stage. Suono: gestiscono la riproduzione dell’audio. Penna: per tracciare linee quando lo sprite si muove. 17 Scratch Link al sito Video tutorial (Jessica Redeghieri) Video tutorial ufficiali 18 ESERCIZI • • • • • • Acquario Conversazione Quiz Figure geometriche Pacman Storytelling 19 ACQUARIO 1. Crea un nuovo programma 2. Selezionare uno degli sprite che rappresenta un pesciolino 3. Il pesciolino dovrà andare avanti e indietro sullo stage. Appena arriva al bordo dovrà girarsi. 4. Inserisci un saluto iniziale al tuo pesciolino 5. Disegna un nuovo pesciolino ed inseriscilo nell’acquario 20