Coding 12 settembre 2016 Referenti: Faroldi Maria Teresa – Zambrelli Barbara Introduzione al pensiero computazionale Quando affrontiamo un problema o abbiamo un’idea, spesso intuiamo la soluzione ma non siamo in grado di formularla in modo operativo per metterla in pratica. Il coding è il punto di partenza per lo sviluppo del pensiero computazionale, indispensabile per preparare i bambini ad analizzare e risolvere problemi complessi in maniera logica e creativa. Per fare solo alcuni esempi: preparare una torta è coding! Risolvere un problema è coding! Fare analisi logica è coding! E il coding infatti non è solo programmazione o qualcosa di legato alle materie tecnico-scientifiche: e’ significativo il dato che il 59% degli insegnanti iscritti a CodeMOOC insegna altre discipline! Il coding non ha differenze di genere o di età e gli addetti ai lavori hanno riscontrato con soddisfazione che anche le ragazze si avvicinano con interesse a questo tipo di linguaggio. • Per noi principianti è quindi soprattutto la capacità di smontare azioni complesse in azioni semplici tra loro concatenate, capacità utile soprattutto perché trasferibile in ambiti diversi. • Il coding può essere svolto da tutti: da chi sente parlare di coding per la prima volta e da chi è già esperto; da chi ha in classe attrezzature informatiche all’avanguardia e da chi non ne ha affatto. La nostra esperienza • Il corso: Coding in your classroom, now! – Università di Urbino Sfrutta la Piattaforma EMMA ed è tenuto dal Prof. Alessandro Bogliolo Link: platform.europeanmooc.org Ci si può iscrivere in ogni momento, si seguono le lezioni in streaming e si svolgono i compiti che vengono via via assegnati, sia come studenti che parallelamente come docenti dei propri studenti. Si consegue 1 CFU e un attestato finale. Permette inoltre di conseguire: - Certificato dell’ora del codice (Code.org) - Certificato del corso da 20 ore (Code.org) La prima parte del corso: riflessione sul linguaggio delle cose • Gli oggetti che usiamo abitualmente sono per gran parte programmabili • Ogni oggetto programmabile funziona solo se c'è qualcuno che lo programma • Programmare vuol dire far fare agli oggetti ciò che vogliamo • La programmazione è il modo più semplice ed immediato per realizzare le nostre idee sfruttando il potenziale degli oggetti che già abbiamo • COMPITO – LEZIONE 2 • Il compito che vi viene assegnato ha lo scopo di coinvolgere i vostri alunni nella riflessione sulle potenzialità del linguaggio deLle cose. Potete farlo come meglio credete, ma qui vi propongo una traccia piuttosto generale: • Lavoro di gruppo (gioco, sfida, gara a squadre) per fare una lista di oggetti programmabili • Riflessione su cosa si potrebbe fare con gli oggetti programmabili di diverso da ciò che già fanno • Riflessione su quali oggetti non programmabili potrebbero diventare programmabili o hanno già la loro versione programmabile • Risultati • Breve descrizione dell'attività condotta in classe (o del metodo adottato per la riflessione personale) e delle principali riflessioni emerse. • Compito • SCENARIO: scuola secondaria di 1° grado, classe 2^, 23 alunni + 1 alunna L. 104, 2 insegnanti (matematica e sostegno) iscritte al corso coding • Dopo un breve brainstorming per introdurre l’argomento e per saggiare le conoscenze dei ragazzi in merito al coding, è emerso che qualcuno nella classe ha già qualche idea riguardo al linguaggio dei computer e qualche tentativo di programmazione qualcuno l’aveva già sperimentato. • Per quanto riguarda il compito, che abbiamo proposto seguendo la scaletta suggerita, i ragazzi si sono da subito mostrati molto ben disposti e incuriositi. La visione del filmato ha consentito di effettuare alcune riflessioni sulla terminologia (oggetti smart, coding, algoritmo, pensiero computazionale…) e sull’obiettivo da perseguire. • I ragazzi sono poi stati suddivisi in gruppi di 4 per affrontare i punti 2-3-4 del nostro compito. • In generale non hanno avuto alcuna difficoltà ad individuare una lista di oggetti programmabili (orologio, GPS, condizionatore, forno, smartphone…). • E’ stato meno immediato trovare cosa far fare agli oggetti programmabili di diverso da ciò che già fanno, anche se sono emerse idee interessanti: il “fornorifero”, diviso in due parti, una che scalda e una che raffredda; il “lampi orario”, un lampione che oltre a far luce proietta sul terreno l’orario; la “piastra biuso”, che stira capelli e vestiti; il forno che potrebbe essere usato da termosifone; la TV che rileva che chi la guarda si è addormentato e si spegne da sola. • Si sono infine divertiti molto nel riflettere su quali oggetti non programmabili potrebbero diventare programmabili. Ne sono usciti: le doghe del letto da programmare in modo che fungano da sveglia (vibrando o sollevandosi); la lavagna che scrive automaticamente quanto viene detto e poi si cancella in automatico; la sedia che potrebbe riscaldarsi o raffreddarsi a seconda della temperatura dell’ambiente; lo zaino o la sedia che massaggia; i “tergi occhiali”, occhiali dotati di tergicristalli o resistenza per non far appannare gli occhiali; il “banco touch”, che consente un apprendimento digitale senza bisogno dei libri e dei quaderni. • Da questo primo approccio ci è sembrato che l’argomento incontri l’interesse dei ragazzi, sia per gli strumenti e le metodologie multimediali utilizzate (o da utilizzare), sia per i contenuti molto vicini al loro vissuto. La seconda parte del corso: - CODE.ORG E’ un’organizzazione americana con lo scopo di diffondere il coding in modo ludico e facilmente comprensibile per tutti. Code.org è un'organizzazione non-profit che promuove la diffusione del pensiero computazionale proponendo l'ora di codice (Hour of code) e offrendo strumenti didattici online ludici e intuitivi per giocare con la programmazione. - PROGRAMMA IL FUTURO In Italia il metodo di Code.org è adottato da Programma il futuro, l'iniziativa del Consorzio CINI e del MIUR. Concorso Codi-Amo > prodotto della classe 2^A Entrambi i siti servono per capire la programmazione e i suoi principi. Come iscriversi. N.B. La registrazione a Programma il futuro.it comporta la creazione di un account anche su code.org. Sperimentiamo il coding… L’ora del codice su code.org • Il Labirinto classico • Conseguimento dell’attestato • Iscrizione della classe > cruscotto insegnante Scratch • Sito web che permette di scrivere i programmi con linguaggio visuale a blocchi. • scratch.mit.edu • Scratch è un linguaggio di programmazione visuale sviluppato al MIT Media Lab e reso disponibile online attraverso una piattaforma che consente a chiunque di creare e condividere veri e propri programmi.