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/