scratch 2.0 modulo didattico
DESCRIPTION
Modulo didattico del corso Scatch 2.0. Per insegnare ai bambini delle elementari e delle medie a programmare videogiochi con il computer.TRANSCRIPT
www.campuslacamilla.it
Scratch 2.0
Modulo didattico
www.campuslacamilla.it
Sommario Premessa ........................................................................................................................................................... 3
Perché insegnare la programmazione del computer ai Bambini? .................................................................... 4
Scratch ............................................................................................................................................................... 5
Destinatari ......................................................................................................................................................... 6
Materiali ............................................................................................................................................................ 6
Risorse online .................................................................................................................................................... 6
Modulo didattico ............................................................................................................................................... 7
Foto dei corsi ................................................................................................................................................... 14
Risorse online .................................................................................................................................................. 16
www.campuslacamilla.it
Premessa
La nostra società tende ad integrare sempre più l’aspetto tecnologico con gli strumenti di uso quotidiano,
dando loro sempre più ampie capacità di calcolo. Già oggi, e ancor più nel prossimo futuro, tale
integrazione “incarna” il computer negli oggetti, anche quelli più impensati, tanto da far perdere di vista il
concetto di macchina universale (general purpose), e da fargli assumere un corpo (o meglio una serie di
corpi. a seconda del caso), che avvalendosi di sensori e di attuatori gli consentono di entrare in diretta
relazione con l’ambiente esterno.
Questo continuo divenire rende il robot-macchina simile ad un organismo naturale .
Il computer, infatti, entra nell’ambiente che ci circonda, sia domestico, sia lavorativo; si evolve lasciando
la sua attuale visione di macchina che produce un output riconducibile al programma che lo ha generato
per una nuova realtà il cui comportamento non è il semplice risultato diretto del sistema, ma è la risultante
di una continua interazione tra il sistema e l’ambiente. La macchina quindi si trasforma in un sistema
dinamico complesso i cui risultati non sono completamente prevedibili né riconducibili completamente agli
elementi che li hanno generati.
Il cardine intorno a cui ruota questa continua evoluzione resta chiaramente l’apporto umano, che
determina i parametri entro i quali tale tecnologia possa evolversi.
Questo genera problematiche e opportunità legate al processo educativo, che dovrà essere tale da
formare persone in grado di far fronte alla tecnologia in evoluzione, non solo in maniera passiva (il
semplice utilizzo), ma anche in maniera attiva, dando loro anche gli strumenti necessari per poter
contribuire allo sviluppo tecnologico.
Porsi in quest’ottica non è semplice: viviamo nell’epoca dei “digital natives”, come nel 2001 Prensky definì i
ragazzi delle nuove generazioni, predisposte ad un apprendimento informale e poco mediato, abituate ad
imparare da soli, abbandonando la conoscenza di ciò che è sotto la superficie a vantaggio dell’azione finale.
Si può e si deve superare il potere dell’educazione informale, che agisce ovunque sia nei luoghi di
incontro extra-istituzionali che nei luoghi istituzionalmente educativi, andando oltre una formazione che
rimane solo legata al saper usare le cose, che vive passivamente il risultato dell’opera delle macchine.
Si deve dar modo di comprendere cosa c’è dietro le cose, come funzionano, come possiamo farle
funzionare: abbandonare il “fare”, che ci rende solo esecutori più che attori e adottare l’ “agire”, che ci fa
conoscere la realtà che ci circonda, riconoscendone e individuandone l’ordine, orientando di conseguenza
le nostre azioni.
Un’educazione indirizzata in tal senso permette quindi agli studenti non solo l’acquisizione di competenze
tecniche legate alle macchine (programmazione, meccanica, elettronica, elettrica, comunicazione, gestione
di reti…), di competenze legate alle scienze biologiche, biomeccaniche, fisiologiche, fisiche, matematiche,
ma anche la promozione di attitudini creative, la capacità di comunicare e di cooperare lavorando in
gruppo.
www.campuslacamilla.it
Perché insegnare la programmazione del computer ai Bambini?
I motivi sono molteplici:
Comunicare con le macchine
Essere in grado di far eseguire ad un computer calcoli complessi è una delle possibilità più vicine al concetto
di “super poteri”. Fornisce al ragazzo nuove competenze per scaricare a terra progetti e idee
potenzialmente visibili da milioni di persone.
Approccio non passivo ma attivo
Pensare “tanto lui è un nativo digitale e non avrà problemi” è la cosa più sbagliata che si possa fare. Un
bambino deve rendersi subito conto che il computer è un oggetto stupido che risponde a comandi
intelligenti (ovvero quelli che LUI decide).
Videogiochi che passione
Ogni genitore ha visto il proprio figlio passare ore davanti ad un videogame. Scratch costituisce la possibilità
di sostituire il gioco di altri e stimola il bambino a realizzare in autonomia il proprio gioco. L’apprendimento
avviene pertanto realizzando videogame e animazioni.
E’ semplice come imparare un linguaggio
L’approccio con la tecnologia attraverso la “programmazione visuale” mettono un bambino nelle condizioni
di attivare logica matematica e di problem solving prima ancora di imparare a scrivere
Familiarità con la tecnologia
Il bambino entra in contatto con la tecnologia sotto forma di gioco. Apprezzerà da subito le potenzialità di
un computer concepito come un calcolatore a sua disposizione. Si avvicinerà con curiosità al mondo
dell’informatica, probabilmente unica certezza del suo futuro sviluppo professionale.
Abbiamo bisogno di programmatori!
Le previsioni indicano una crescita costante di ricerca di programmatori negli anni a venire. Senza contare
che le professioni richieste dal mercato attuale non esistevano 10 anni fa. E’ indispensabile pertanto
predisporsi rispetto ai trend futuri e attrezzarsi di conseguenza.
Startup
Saper programmare significa poter realizzare Facebook o Google del futuro. Senza necessità di
intermediari.
www.campuslacamilla.it
Scratch
Scratch e' un nuovo linguaggio di programmazione che rende semplice creare storie interattive, giochi e
animazioni, e condividere le tue creazioni con gli altri del web.
Scratch e' sviluppato dal Lifelong Kindergarten research group dei Media Lab dell'MIT (http://
scratch.mit.edu). Il gruppo sviluppa nuove tecnologie che, seguendo lo spirito della costruzione e della
pittura con le dita usate alla scuola materna, espandono le possibilita' di disegnare, creare e imparare.
Il software di Scratch e' completamente gratuito e il codice sorgente e' disponibile con licenza Scratch
License. I loghi di Scratch sono di proprieta' del MIT.
Di seguito due screenshot della piattaforma:
GUARDA DENTRO
Accedendo al sito di Scratch non è soltanto possibile giocare a uno dei 4 milioni di giochi (al Dicembre 2013)
salvati sulla piattaforma, ma cliccando sul bottone “Guarda dentro” è possibile vedere con che codice sono
stati realizzati.
REMIX
Una volta osservato con che codice sono stati realizzati è possibile, cliccando sul bottone “remix” iniziare la
propria versione partento dal gioco di qualche altro bambino.
www.campuslacamilla.it
Destinatari
Bambini della scuola primaria da 6 a 14 anni, possibilmente divisi su due fasce di età 6-10 anni (elementari)
e 11-14 anni (medie). Per ogni gruppo viene adottato un modulo educativo differente.
Per una migliore realizzazione del laboratorio i gruppi di bambini non dovrebbero superare le 7 unità per
educatore.
Materiali
Per partecipare al corso è necessario disporre di un PC portatile abilitato a navigare in wi fi. Non è
necessaria particolare potenza di calcolo e può essere usato un sistema operativo Mac, Windows o Linux.
Gradita la webcam per gli esercizi che prevedono interazione tramite questo device.
Risorse online
Su internet sono disponibili risorse di ogni tipo su Scratch. Il sito ufficiale prevede la una sezione per
educatori e una per genitori. Quasi la totalità dei contenuti è però disponibile in lingua inglese.
Sito ufficiale: scratch.mit.edu
www.campuslacamilla.it
Modulo didattico
Il corso è stato organizzato in 3 sessioni da 3 ore l’una. Ogni lezione è caratterizzata dalla seguente scaletta:
Vengono di seguito riportate le attività previste.
Primo giorno
Teoria:
Breve presentazione dei docenti e delle finalità del corso
Introduzione ai concetti di “Programmazione “ e “Linguaggio”
Breve storia del personal computer e dei fondamentali (Sistema operativo e programmi)
Presentazione del sito di Scratch relativamente alla fase di registrazione e di creazione di un nuovo
gioco
Presentazione dei concetti fondamentali dell’ambiente di programmazione: lo stage, i comandi,
l’area di sviluppo del codice
www.campuslacamilla.it
Durante la prima lezione, un computer desktop verrà aperto al fine di mostrare i componenti principali che
costituiscono un computer dal punto di vista hardware.
L’obiettivo è spiegare loro che un computer contiene “sempre le stesse cose”.
Pratica:
Primo gioco
Realizzazione di un gioco costituito da uno squalo che mangia il pesciolino che, in maniera randomica,
nuota all’interno del gioco. Lo squalo deve essere mosso dal giocatore attraverso le frecce della tastiera.
Quando il pesciolino viene mangiato deve emettere un suono e visualizzare un testo sullo schermo.
www.campuslacamilla.it
Concetti affrontati:
Creazione di nuovi Sprite o utilizzo degli sprite della libreria (in Scratch ogni oggetto a cui assegnare
istruzioni si chiama sprite)
Movimento degli sprite attraverso tasti prestabiliti (interazione) o attraverso istruzioni precise
Principi di interazione con l’utente (tasti, mouse, videocamera)
Introduzione all’utilizzo dei suoni
Secondo gioco
Realizzazione di un gioco che prevede una gara di macchine che vanno ad una velocità differente decisa dal
computer. La macchina che vince deve dichiarare di aver vinto.
Concetti affrontati:
Creazione di costumi
Utilizzo di sfondi differenti
Assi cartesiani
Introduzione del concetto di ciclo
Introduzione al concetto di valore generato dal computer
Esercizi a casa:
Migliorare il primo gioco aggiungendo altri pesciolini
Migliorare il secondo gioco inserendo la possibilità di scommettere prima di cominciare
www.campuslacamilla.it
Secondo giorno
Teoria:
Il computer e le periferiche
Concetto di open source
Introduzione a 360 gradi della piattaforma Scratch.
Illustrazione delle librerie dei progetti degli altri. Concetto di remix, preferiti e salvataggio dei
progetti
Pratica:
Primo gioco
Programmare un frigorifero che contiene diversi sprite. Alla pressione di un numero da 1 a 9 deve
succedere qualcosa agli alimenti del frigo. Saranno i bambini a decidere le azioni.
Concetti affrontati:
Utilizzo della libreria di Scratch e disegno di nuovi sprite
Gestione delle dimensioni
Gestione dell’interazione con l’utente
Utilizzo dei suoni
Comunicazioni di espressioni di testo da parte degli sprite
www.campuslacamilla.it
Secondo gioco
Realizzare un programma che scelga in autonomia un numero da 1 a 100. Il programma deve continuare a
chiedere al giocatori di indovinare il numero e segnalare soltanto se il numero scelto dal computer è più
alto o più basso. Una volta indovinato deve comparire il messaggio a tutto schermo che segnala la vittoria.
Concetti affrontati:
Gestione di sfondi differenti
Introduzione alle variabili
Gestione di cicli
Utilizzo di operatori numerici
Concetti base di algebra
Esercizi a casa:
Migliorare il primo gioco a piacimento
Migliorare il secondo gioco inserendo un contatore che registra il numero di tentativi. Se il numero
non viene indovinato in 7 tentativi il gioco deve indicare “GAME OVER”
www.campuslacamilla.it
Terzo giorno
Teoria:
Introduzione del concetto di sistema operativo, kernel e periferiche
Navigazione tra i migliori progetti realizzati da altri ragazzi
Spiegazione dell’albero dei remix
Programmazione avanzata. Come vengono realizzati i siti web e i giochi
Illustrazione di piattaforme per imparare a programmare in autonomia
Pratica:
Primo gioco
Realizzazione di un gioco che prevede che un cavallo debba muoversi all’interno del gioco e recuperare le
monetine senza che un mostriciattolo lo prenda.
Questo gioco deve essere realizzato in coppia con un alto bambino.
Concetti affrontati:
Progettazione su carta del videogioco
Gestione di x e y
Interazione tra sprite e passaggio di variabili
Interazione con l’utente tramite tasti multipli
www.campuslacamilla.it
Secondo gioco
Realizzazione di pong. Una barra colorata, mossa con il mouse o con i tasti, deve intercettare degli sprite
che cadono dal basso. Se presi devono tornare verso l’alto. Un contatore deve registrare il numero di
oggetti caduti e segnalare la fine del gioco quando il contatore arriva a dieci.
Concetti affrontati:
Utilizzo delle variabili
Introduzione al concetto di clonazione dello sprite
Introduzione al concetto di funzione
Introduzione al concetto di cicli continui
Utilizzo della webcam
Sensori di movimento
Sensori di rumore
Operatori numerici (addizioni, sottrazioni, maggiore, minore, ecc)
Esercizi a casa:
Realizzare un biglietto di auguri per il compleanno della mamma o del papà
Realizzare un proprio gioco da zero che preveda la possibilità di giocare in due giocatori
www.campuslacamilla.it
Foto dei corsi
www.campuslacamilla.it
www.campuslacamilla.it
Risorse online
www.campuslacamilla.it Il sito del Campus La Camilla
scratch.mit.edu Il sito ufficiale di Scratch
llk.media.mit.edu Il sito ufficiale dei creatori di Scratch
Per informazioni o suggerimenti:
339-1432355