UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA
PERCORSO ABILITANTE SPECIALE
Classe di concorso A033
Anno accademico 2014-2015
ELETTROTECNICA, ELETTRONICA
E SICUREZZA INFORMATICA
Docente: S. Calderara
Annalisa Garbati
Matricola: 209393
Impara a pensare
Impara ad ordinare i tuoi pensieri
Impara a risolvere i problemi
Impara a programmare
“Vedere che tanti ragazzi avevano usato Scratch per realizzare biglietti di auguri alle loro mamme,
mi ha fatto rendere conto che questi ragazzi sono davvero fluenti con le nuove tecnologie.
Ma cosa intendo per fluenti? Voglio dire che questi ragazzi sono riusciti ad esprimere loro stessi e
a iniziare ad esprimere anche le loro idee. I ragazzi di oggi hanno molta familiarità ad interagire
con le nuove tecnologie, ma non a creare con le nuove tecnologie.
E’ come se riuscissero a leggere, ma non a scrivere con le nuove tecnologie.”
“E’ utile fare un’analogia con la lettura e la scrittura: quando si impara a leggere e scrivere, si
aprono nuove opportunità per imparare molte altre cose. Quando si impara a leggere, allora si
potrà anche leggere per imparare. Se si impara a programmare, allora si potrà anche
programmare per imparare: a sperimentare nuove idee, a progettare, a prendere idee complesse
e spezzettarle in parti più semplici, a collaborare con altre persone per i propri progetti, a trovare e
correggere gli errori, a essere tenaci e perseverare.
Queste sono qualità importanti per qualsiasi attività.”
Mitch Resnick – TedX
creatore insieme al MIT di Scratch: linguaggio di programmazione educativo
Abstract
A partire da un’attività realizzata con il linguaggio di programmazione di Scratch, ho riportato
alcune considerazioni su come è stata realizzata l’attività, ponendo l’accento sui punti più
importanti da poter sviluppare con i ragazzi. Seguono ulteriori riflessioni sulla formazione degli
insegnanti affinché la programmazione possa essere attuabile unitamente alla dotazione
tecnologica delle scuole.
Contenuto
La scheda è stata scaricata da un manuale redatto da un professore della scuola elementare
Collodi nell'anno 2013/2014, come resoconto delle lezioni su Scratch. Fra le schede presentate, la
seguente potrebbe essere un buon esercizio per studenti di prima della Scuola Secondaria di
primo grado.
Pioggia
13.1 Descrizione del progetto
Questo progetto introduce il ragazzo al concetto di cloning ovvero la possibilità di replicare oggetti esistenti
durante l'esecuzione del progetto. La tecnica di cloning permette di simulare fenomeni rappresentabili da
piccole entità identiche le une alle altre come per esempio sciami di insetti, nebulizzazioni, pioggia, neve
etc.
13.2Obiettivi del progetto
Il progetto aiuta il ragazzo ad approfondire i seguenti concetti:
➔ Cloning: ogni goccia di pioggia verrà creata come clone di una goccia predefinita.
➔ Numeri casuali: le gocce di pioggia appena create verranno posizionate casualmente in cima all'area del
progetto. Il ragazzo posizionerà le gocce utilizzando numeri casuali.
➔ Sviluppo di videogiochi: il progetto introduce un algoritmo riusabile in progetti ludici (si pensi alle
particelle che simulano un'esplosione).
13.3 Istruzioni
Il progetto può essere completato seguendo i seguenti passi:
(1)
Si
apra
l'editor
Scratch
connettendo
il
browser
all'indirizzo
http://scratch.mit.edu/projects/editor/
(2) Si elimini il gatto (si clicchi col tasto destro del mouse sopra il gatto e si scelga il comando
“cancella”)
(3) Si aggiungano gli sprite “Girl2” e “Umbrella” in modo che la ragazza tenga in mano
l'ombrello e si disegni una piccola goccia d'acqua (associata al suono “bubble”):
(4) Per la goccia d'acqua si scrivano i seguenti script:
Il primo script crea continuamente un clone della goccia di pioggia. Il secondo posiziona la goccia in alto, la
fa cadere verso il basso e la elimina quando raggiunge il bordo inferiore oppure tocca l'ombrello. Questa
strategia è tipica dei progetti di cloning.
(5) Si aggiunga come sfondo lo sfondo “Castle3”:
(6) Si esegua il progetto:
Riflessioni
Leggendo il progetto ho pensato che manca l’ABC del programma. Così mi sono chiesta: “Da dove
partirei se dovessi spiegare ai miei studenti l’uso di uno strumento di programmazione?”
Sicuramente partirei dal condividere e dal costruire con loro un glossario attraverso immagini di
riferimento, per poi provare ad usare un aspetto della programmazione molto importante:
l’algoritmo. Nella vita di tutti i giorni, nell’affrontare problemi di vario genere, mettiamo in campo
le risorse che abbiamo a disposizione. Quindi l’algoritmo è la sequenza finita e ordinata delle
azioni da compiere per risolvere un problema, anche di vita quotidiana.
Cosa occorre per provare a fare un esercizio algoritmico?
Inizialmente insieme ai ragazzi guarderei alcuni video tutorial al fine di conoscere le regole per
costruire un algoritmo e mettere le basi alla programmazione anche per sviluppare nelle classi
successive argomenti più complessi.
Per creare un algoritmo è necessario definire il problema con tutti i dati e far pratica nello scrivere
le istruzioni dettagliate per risolvere la richiesta operativa del problema: è una semplice attività
con risultati potenzialmente efficaci per evolvere nella conoscenza della programmazione, ma non
solo. Quindi prima di sviluppare l’unità con Scratch (da Internet se ne trovano tantissime … da cui
poter partire … come questa che ho pubblicato) chiederei ai miei studenti di esercitarsi nel
pensare e trascrivere un set di passaggi, per esempio, per fare un panino. Per poi introdurre
Scratch con un esempio pratico e in relazione ad esso riflettere insieme su un set di istruzioni per
calcolare, per esempio, il conto da pagare in un negozio di ombrelli vicino al castello, sommando il
prezzo di ciascun ombrello ( in riferimento all’esercizio riportato sopra).
Ogni ombrello ha un prezzo unitario differente che deve essere moltiplicato per il numero delle
persone che hanno deciso di comprare l’ombrello per non bagnarsi. Il prezzo unitario moltiplicato per
il numero delle persone, deve essere sommato al totale generale. Alla fine va comunicato il totale da
pagare.
Descrivendo l’algoritmo in linguaggio naturale:
1.
2.
3.
4.
5.
6.
azzero il totale per il nuovo conto
considero i prezzi degli ombrelli
considero il numero degli ombrelli da pagare
moltiplico il numero per il prezzo
aggiungo il risultato della moltiplicazione al totale
comunico il totale da pagare
Successivamente andrà trascritto al pc con i blocchi. La chiave di questa attività è quella di
focalizzare i passaggi in modo dettagliato; un computer non sa che l’utente ha bisogno di un certo
numeri di ombrelli per proteggersi dalla pioggia, può solo eseguire le istruzioni complete che gli
arrivano. E così di seguito si potrebbero sviluppare ulteriori algoritmi. Il pc è un ottimo
aiutante/esecutore, pertanto aspetta di eseguire le nostre istruzioni per agire.
Inoltre penso che nella proposta agli studenti sia importante definire un macroambito di azioni da
svolgere per arrivare a conoscere meglio l’applicazione, ipotizzando di aver già condiviso le
componenti hardware del pc:
1. cos’ è Scratch (progetto del Lifelong Kindergarten Group dei Media Lab del MIT), cosa vuol dire
e quale mente umana l’ha realizzato
2. Scratch su Internet: passaggi per scaricare il programma
3. descrizione degli strumenti disponibili per la produzione di storie definendo il piano cartesiano,
gli assi cartesiani e le coordinate (il canvas, spazio dove programmo)
4. come inserire gli sprites (gli oggetti della storia), come modificarli e come gestire i costumi per
realizzare delle animazioni. Lo sprite associato agli script: un ambiente dove inserisco le possibili
funzioni/attività di quello sprite)
5. l’inserimento del suono
6. come inserire e modificare lo sfondo
7. come far muovere i personaggi (passi, scivola, ruota,....)
8. come scrivere i fumetti (far dire, far pensare,...)
9. come inserire i concetti specifici della programmazione:
- la sequenza (per ordinare i singoli passaggi
sistematicamente)
- l’iterazione o ciclo cioè “ripeti fino a quando…” o
“per sempre” (per ripetere una serie di istruzioni con
inizio e fine un certo numero di volte)
- le istruzioni condizionali cioè “se…” (per controllare il
verificarsi di una situazione. Sempre associate a
istruzione booleana)
- i blocchi o funzioni (paragonabili a contenitori che si
interfacciano con elementi di input e output)
- le variabili (per creare delle variabili e usarle nei
programmi. La variabile è un nome per un valore che può cambiare. Possono memorizzare
numeri o stringhe)
- gestione di eventi cioè “quando vengo clonato” o “quando si clicca su…” (per rispondere ad
eventi attivati dall'utente o da un'altra sezione del programma)
- numeri casuali cioè “numero a caso…” (per selezionare numeri interi a caso compresi in un
intervallo)
- strumento clonazione cioè “crea clone di…” (per duplicare un
oggetto. In questo caso si richiede anche l’eliminazione del
clone per riprodurre l’effetto della pioggia)
- lo strumento bandiera (per attivare l’azione costruita nei
blocchi)
La durata dell’attività potrebbe essere variabile in relazione al focus da raggiungere: condurre i
ragazzi ad esser in grado di progettare una semplice storia in autonomia.
A mio avviso è utile l’approccio procedurale per una programmazione iniziale a scuola, perché più
intuitivo, veloce e più semplice nell’apprendimento. Come si nota nelle immagini, si tratta di
stendere una serie di blocchi interconnessi, dove ogni istruzione viene eseguita a cascata: quindi
verrà eseguita la prima riga di istruzione, poi la seconda e così via fino alla fine del programma. E’
un po’ come seguire l’esempio dell’acquisto dell’ombrello: non si possono saltare dei pezzi,
perché la mancanza di un passaggio comporta la perdita di un messaggio dall’utente al pc.
Riflessioni
Dal mio punto di vista penso che possa essere utile iniziare Scratch a partire dalla scuola primaria.
Nel caso non avvenisse, la proposta è quella di iniziarlo nelle classi prime della Scuola Secondaria
di primo grado perché la programmazione in generale:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
consente al ragazzo di sentirsi un’utente attivo davanti al computer
fa lavorare i ragazzi in modo collaborativo
i ragazzi possono divertirsi creando e facendo
stimola interesse e curiosità verso i calcoli matematici e gli aspetti scientifici
avvicina alla logica degli algoritmi
sviluppa il pensiero creativo e il processo di apprendimento
consente il ripasso e l’applicazione della lingua inglese
promuove nei bambini/ragazzi la capacità di comprendere e usare diversi sistemi
favorisce l’adozione di nuovi stili cognitivi nello studio, nell'indagine, nella comunicazione
permette di sperimentare più funzionalità del computer (grafica, scrittura …) e della rete
consente di condividere le proprie creazioni con altre persone in tutto il mondo
sostiene il cooperative learning e il peer-tutoring
agevola il pensiero sequenziale nell’organizzazione, nella suddivisione dei dati e soprattutto
nella comunicazione dei dati stessi agli altri
sviluppa il pensiero computazionale che si fonda sulla capacità di astrazione
Un aspetto critico può essere il ruolo del’insegnante che insegna solo come usare il pc, senza
insegnare ad allenare il pensiero degli studenti nel problem solving e quindi insegnarli pensiero e
cultura insieme. La tecnologia informatica ci offre delle enormi potenzialità e bisogna saperle
sfruttare e collegare con attenzione agli aspetti culturali, altrimenti diventiamo solo consumatori
di tecnologia. La scuola non è solo quattro o cinque ore al giorno, ma è tutta la vita….come diceva
Popper…“tutta la vita è un problem solving” ...E bisogna continuare ad imparare sempre perché la
vita cambia sempre.
In Italia la formazione dei docenti nell’uso del digitale nella didattica è affidata ad enti come
il MIUR o l’INDIRE che prevedono delle attività di formazione specifica sulla didattica digitale.
L’INDIRE ha proposto più volte il DIDATEC (Digital Data Technology), mentre il MIUR ha introdotto
il piano LIM e il piano nazionale scuola digitale con “Programma il futuro”, progetto realizzato in
collaborazione con il Cini (Consorzio interuniversitario nazionale per l’informatica) per
implementare l’informatica a scuola.
A livello di Unione Europea, attraverso la struttura dell’European School Net Academy con sede a
Bruxelles, sono erogati dei corsi specifici di altissima qualità sull’uso del digitale a scuola. Oppure si
può pensare di entrare a far parte del Consorzio Europeo EPICT (European Pedagogical licence)
che è una sorta di patente nell’uso pedagogico delle tecnologie dell’informazione.
Nonostante tutte queste possibilità di formazione, gli insegnanti non sono considerati “senior
digitali”, all’opposto dei ragazzi che invece sono definiti “nativi digitali”. Non mi trovo in accordo
con questo termine perché mi riporta ad un’idea di persona che nasce già con delle competenze
che in realtà non ha. Siccome la rete è un ambiente, i ragazzi devono imparare a conoscerla, a
relazionarsi con essa e con chi la usa. Importante chiedersi che dialogo riusciamo a sostenere tra i
diversi linguaggi/ambienti… quale interazione e integrazione? Quanto ascoltiamo i ragazzi nella
loro dimensione di interazione con queste tecnologie? Quanto riusciamo a tenere il dialogo, la
dimensione on e quella off? Perché è proprio in questa interazione che i nostri ragazzi stanno
costruendo la loro identità e le loro relazioni. Non dimenticando che è fondamentale una
sensibilizzazione sull’educazione digitale; il digitale stesso è un’ottima possibilità per migliorare
l’apprendimento, può esser usato in maniera creativa ed efficace a scuola. Per fare ciò è
necessaria anche una buona preparazione dell’insegnante che introduca il digitale in maniera
mirata e non dispersiva.
Per esempio nel periodo di avvio del progetto “Programma il futuro” hanno svolto attività di
formazione culturale all’informatica 1.911 scuole, 14.948 classi e 290.516 studenti. Ed emergono
numeri positivi dal monitoraggio a livello di partecipazione delle scuole, in quanto ha raccolto
adesioni da quasi 2 mila scuole italiane, coinvolgendo 290 mila studenti. In primo luogo le scuole
primarie con il 55% delle adesioni, seguite dalle medie (28%) e dalle superiori (15%). Le regioni
con più partecipanti sono state la Lombardia, la Puglia e l’Emilia Romagna, tuttavia, essendo
queste regioni molto popolose, è utile guardare agli indici che indicano il rapporto tra la
percentuale di partecipazione e la percentuale di popolazione per capire quali sono le regioni che
hanno aderito più attivamente. Ebbene, in queste statistiche è il centro a risultare più attento ad
organizzare le ore di informatica, con l’Umbria in prima fila, seguita dalla Basilicata e dal Molise.
A proposito di formazione cito l’intervento on-line sul FattoQuotidiano del Professore di
informatica Enrico Nardelli:
“Le tecnologie digitali nel corso del Novecento hanno invaso la società come conseguenza della
rivoluzione informatica, che si aggiunge a quella della stampa avvenuta nel Quattrocento e a
quella industriale nel Settecento. Tra l’altro la conoscenza scientifica, rivoluzionata dal metodo
galileiano, proprio grazie alla stampa si diffuse in tutta l’Europa e costituì uno dei fattori principali
della rivoluzione industriale. Nell’attuale rivoluzione informatica, senza la cultura informatica, non
bastano le tecnologie. Senza una vera comprensione della disciplina informatica, che è alla base
delle tecnologie digitali, rischiamo di essere consumatori passivi di tali servizi e tecnologie, invece
che soggetti consapevoli di tutti gli aspetti in gioco.”
“L’informatica è una disciplina fondamentale dell’insegnamento, come la matematica e l’italiano,
perché nel momento in cui devi insegnare qualcosa ad un calcolatore allora lo comprendi davvero.”
Informatico statunitense Donald Knuth
Sitografia:
- http://scratch.mit.edu
- http://scratched.gse.harvard.edu/sites/default/files/scratch-collodi.pdf
- https://www.youtube.com/watch?v=WPl_gPKRvWk
- https://www.youtube.com/watch?v=D8zy2glUcOs
- www.programmailfuturo.it/
- www.raiscuola.it
- http://www.ilfattoquotidiano.it/2014/02/01/senza-la-cultura-informatica-non-bastano-letecnologie/865876/