Informatica

Programmazione, CoderDojo, configurazioni ecc

Elettronica

Arduino, Raspberry, stampanti 3D ecc

Fisica

Fisiclab, esperimenti, laboratori

Astronomia

Planetario, museo del cielo e della terra

Cucina

Ricette, esperimenti culinari, paciughi

Visualizzazione post con etichetta software libero. Mostra tutti i post
Visualizzazione post con etichetta software libero. Mostra tutti i post

Coding a Granarolo


Simone Bacciglieri lezione di programmazione con Scratch

Con un po' di ritardo inizio a scrivere questo post riassuntivo sulle ultime attività che io, Serena ed Emiliano abbiamo svolto all'interno della scuola primaria di Granarolo.
Come dicevo in questo post abbiamo preso un impegno notevole: fare almeno una lezione introduttiva di programmazione a tutti i bambini e ragazzi dell'istituto comprensivo di Granarolo, che hanno manifestato interesse in questa attività.
In tutto ne abbiamo visti 314.
In due mesi abbiamo fatto 14 lezioni più una riservata ai docenti dove ne abbiamo incontrati 26.
Non mi dilungherò molto sui numeri perchè è già tutto scritto sul sito dell'istituto comprensivo. Vorrei invece raccontare quello che io (ma anche Serena ed Emiliano) ho cercato di fare durante queste giornate: insegnare ai bambini il valore della condivisione e l'importanza di ragionare sui problemi.

Le mie lezioni anche se sono basate su Scratch non sono "lezioni di Scratch": sono introduzioni al software libero e lezioni di logica. Solitamente faccio una breve introduzione dove spiego cos'è un programma, cosa vuol dire dare istruzioni ad una macchina e cerco di far capire l'importanza di testare i programmi; spiego la differenza tra open source e closed source (ovviamente tutto tarato sulla loro età) e racconto perchè io preferisco l'open source.
Quando partiamo con l'attività vera e propria faccio vedere il programma che vorrei fare e insieme a loro, poi cerco di scomporlo in tante attività da svolgere per poterlo replicare e, per ognuna di queste, proviamo insieme ad identificare i problemi principali da risolvere. Queste lezioni sono sempre molto collaborative: io non do mai la risposta immediatamente ma cerco, tramite Scratch appunto, di farli arrivare alla soluzione ragionandoci. Il bello di Scratch è che permette di creare del codice agganciando i mattoncini delle istruzioni, degli operatori e delle variabili in modo discorsivo. Sfruttando questa caratteristica si riesce a creare un programma semplicemente parlandone e cercando di capire insieme cosa si vuole che faccia.

In questi due mesi come dicevo abbiamo visto più di trecento bambini e ragazzi e molti si sono distinti per le loro capacità logiche. Ho notato con piacere che la percentuale di ragazze era molto alta e che quasi sempre erano più propense al ragionamento. Si impegnavano molto, cercavano di capire e di proporre soluzioni. Speriamo che crescendo non cadano nel solito stereotipo dei mestieri da maschi e da femmine.

Ovviamente non diventeranno certo tutti dei programmatori ma l'importante per me è che abbiano capito come si affrontano e si scompongono i problemi e come si risolvono ragionandoci sopra.

Raspberry PI access point


Eccomi di nuovo a parlare del Raspberry PI e di come configurarlo per trasformarlo in un access point.
Ripartiamo dal punto in cui ci siamo fermati nell'ultimo articolo: l'intento è quello di trasformare un Raspberry PI in un access point e un server web e portarlo alle mie lezioni di programmazione. In questo modo posso far scaricare ai ragazzi il programma di installazione di Scratch attraverso un sito interno che tutti possono vedere tramite la rete wireless.

Premetto subito che non scriverò una guida ma mi limiterò a dare link a guide già fatte e aggiungere le mie considerazioni. Questo per due motivi: il primo è che non ho tempo di fare delle guide fatte bene. In questo periodo capita spesso di non avere neanche il tempo di dormire quindi rischierei di fare una guida fatta male e molto stringata; il secondo è che mi sembra inutile: cercando in rete se ne trovano tantissime quindi mi sembra ridondante produrre l'ennesima guida per fare questo progettino. Trovo utile invece riassumere tutto in queste pagine visto che vengono toccati molti temi e le persone potenzialmente interessate possono in questo modo avere tutto condensato in un unico sito.

Detto questo iniziamo.

Occorrente per questo progetto:
  • Raspberry PI 3. Si può trovare online su molti siti che vendono materiale elettronico o anche su Amazon, basta fare una semplice ricerca. Il costo è circa 40 euro.
  • Scheda microSD da almeno 4Gb (consiglio di prenderne una veloce, Class 10 da 8Gb)
  • Alimentatore da almeno 1A a 5V. Il Raspberry ha un consumo variabile a seconda del carico di lavoro e anche di quali periferiche sono connesse (mouse, tastiera, hard disk esterni, chiavette). Il connettore è micro usb quindi un caricabatterie da cellulare o tablet va bene (a patto che abbia almeno le caratteristiche che ho appena scritto). Esiste in vendita anche l'alimentatore ufficiale per il Raspberry che eroga 2.5A.
  • Inizialmente una tastiera, un mouse, un cavo hdmi per connetterlo ad un monitor. Dico inizialmente perchè per quello che devo fare io potrà successivamente essere utilizzato connettendo semplicemente l'alimentatore e il cavo di rete, e a volte anche quest'ultimo sarà opzionale.
  • Non indispensabile: case per il Raspberry. Il Raspberry viene venduto "nudo", cioè la scheda è senza scatolina ma se avete già fatto la ricerca per comprarlo avrete già visto sicuramente che gli accessori non mancano. Io non ho comprato un case perchè me lo sono stampato con la stampante 3d, ma questo punto lo riprenderò nel prossimo articolo.
Il primo link che voglio mettere è la documentazione ufficiale del Raspberry. La trovo veramente ben fatta e molto semplice. Questo è il punto di partenza per chi si trova in mano per la prima volta questa schedina elettronica.

Al primo punto della mia check list ho scritto che voglio installare Raspbian. Il download si può fare da questa pagina e sempre da lì si può leggere la documentazione su come mettere il file scaricato sulla microSD.

Al secondo punto ho scritto che voglio configurarlo come access point.
In questa guida presa dal sito Adafruit possiamo capire come fare. Questo sito vale la pena girarlo un po' perchè oltre a vendere componenti elettronici ha anche una sezione enorme con guide fatte molto bene e una marea di progetti interessanti anche per scopi didattici.

Al terzo punto abbiamo il web server: io ho installato Apache. In questo articolo preso dal sito Raspbian trovate un mini howto e questo è il sito ufficiale dove trovare la documentazione completa.

Se siete arrivati fino qui e avete completato tutti i passi adesso avete in mano un mini computer che può funzionare sia da PC normale che da dispositivo di rete per dare connettività Wi-Fi ad altri dispositivi. Può essere utilizzato per imparare i vari linguaggi di programmazione per il web (avete un web server adesso, usatelo!); può essere usato per imparare le basi dell'elettronica e il linguaggio di programmazione Python utilizzando le librerie già fatte per la GPIO (serie di pin presenti sulla scheda ai quali si possono connettere componenti elettronici) e può essere usato anche come router Wi-Fi come sto facendo io. Volendo si potrebbe anche inserire una chiavetta internet usb e trasformarlo in un router mobile, così si può usare come router anche dove non c'è la connessione ADSL. Insomma, si può trasformare in quello che volete. L'importante è giocarci ed imparare un sacco di cose :)

Nel prossimo articolo vedremo altri aspetti: come creare un pulsante di spegnimento, la stampa 3D del case e i tool di monitoraggio dei servizi.


Raspberry PI multifunzione

Come dicevo in questo post nelle prossime settimane io, Serena ed Emiliano saremo abbastanza impegnati: dovremo fare 7 lezioni di programmazione con Scratch a più di 300 bambini e ragazzi a Granarolo.

Saremo all'interno della scuola primaria e faremo ad ogni incontro due sessioni parallele, una nell'aula computer e l'altra in un'aula normale, quindi i bambini che non saranno in aula computer dovranno portare il proprio pc.
Prima di iniziare la lezione dovremo assicurarci che tutti abbiano installato Scratch e nel caso installarlo. A questo punto però si apre un tema legato alla sicurezza: potremmo mettere a disposizione di tutti delle chiavette, ma così facendo corriamo il rischio di far circolare dei virus se anche solo uno dei pc è infetto.

La soluzione che ho trovato a mio parere è molto carina, assolutamente sovradimensionata rispetto al problema, ma poi mi servirà anche per altre cose quindi ho approfittato per implementarla: un Raspberry PI configurato per fare da access point e da server web.
Lo so, sarebbe bastato fare dei cd o delle chiavette in sola lettura ma se mi fossi accontentato non avrei potuto documentare il fatto che "si può fare" :) e soprattutto che si può fare con software open source.

Ma procediamo con ordine.

Domanda 1: cos'è un Raspberry PI? è un computer molto piccolo e a basso costo, tutto condensato in un'unica schedina elettronica grande come un pacchetto di sfazzoletti, ma con prestazioni decenti. Ha un processore quad core da 1,2Ghz, 1Gb di RAM e un alloggiamento per metterci una microSD. Ha integrati Wi-Fi, Bluetooth e ethernet.

Raspberry PI 3 di Simone Bacciglieri
Non sto a dilungarmi troppo su dettagli tecnici, questo è il link al sito ufficiale per i curiosi.
Ci sono vari sistemi operativi che possono essere installati sul Raspberry, io ovviamente installo Raspbian, una derivata di Debian (una versione di Linux) fatta apposta per quella tipologia di computer.
Un'altra caratteristica molto importante è il fatto di poter aggiungere componenti elettronici (come led, sensori, motorini ecc) direttamente sulla scheda e programmarli a piacere. Cercando in giro per la rete si trovano un sacco di progetti didattici legati al Raspberry e molti negozi online vendono anche kit con dentro tutto il necessario per iniziare ad usarlo e fare esperimenti di elettronica. Consiglio vivamente di fare qualche ricerca, partendo proprio dal sito ufficiale.

Domanda 2: cos'è un access point? Un access point è un apparato che consente ad altri dispositivi di connettersi ad una rete tramite Wi-Fi.
Ormai tutti i router che vengono consegnati dai vari fornitori di connettività internet fanno anche da access point. In questo modo tutti i dispositivi di casa (telefoni, tablet, computer ecc..) possono connettersi ad internet tramite Wi-Fi.

Domanda 3: cos'è un web server? Contro domanda: avete mai visitato un sito web? Se state leggendo queste righe sicuramente sì. Un sito web è un insieme di pagine che non sono altro che files di testo salvati su un computer connesso in rete.
Un web server è un programma installato su questo computer che aspetta di essere contattato da altri dispositivi sulla rete. In quel momento fornisce loro le pagine del sito richieste. In pratica quando andate su un sito il browser del vostro pc chiede al server web che lo contiene di passargli la pagina che avete chiesto e poi ve la mostra.
In realtà il discorso è molto più complesso e articolato di così ma a me interessa spiegare a grandi linee a chi non è addetto ai lavori come funzionano queste cose, poi fornire link per approfondimenti ai più curiosi.

A questo punto il discorso si fa un po' più chiaro:

  • installo Raspbian sul mio Raspberry
  • lo configuro in modo da farlo diventare un access point
  • installo un server web
  • scarico dal sito di Scratch tutti i files necessari per installarlo sui pc
  • creo una paginetta con i link per fare in modo che tutti prendano i files dal Raspberry
Nel prossimo post vedremo come fare tutto questo.

Una macchina programmabile - la pulsantiera

Questo è il terzo post che dedico al mio progettino: costruire una macchina programmabile utilizzando Arduino e Lego.
Nel primo post ho spiegato a grandi linee cosa volevo fare, mentre nel secondo ho iniziato ad elencare i componenti e ho descritto come voglio realizzare il telaio.

Adesso è ora di parlare della pulsantiera, forse la parte più difficile di questo progetto.
Come dicevo deve avere 7 pulsanti e un led e deve utilizzare meno pin possibile.

Cercando un po' in rete ho visto che si puo' utilizzare un solo pin analogico  dell'Arduino in modalità pull-up, collegando pulsanti e resistenze in modo che diventi un partitore resistivo.

Per maggiore chiarezza ho fatto lo schema con Fritzing, un programma open source per creare schemi elettronici.
Schema pulsanti partitore resistivo progetto macchina programmabile di Simone Bacciglieri

Le resistenze sono collegate tra loro in serie e dopo ogni resitenza c'è il piedino di un pulsante: l'ultima resitenza è collegata a massa.
L'altro piedino di ogni pulsante è collegato al pin analog0 dell'Arduino configurato, come detto prima, in modalità pull-up. In questa configurazione il pin è connesso ai 5V dell'Arduino tramite una resistenza interna detta di pull-up.

Quando nessun pulsante è premuto il circuito è aperto e il pin analog0 segna i 5V a cui è attaccato; quando invece premiamo un pulsante il circuito si chiude ma prima di arrivare alla massa deve passare attraverso le resistenze successive al tasto premuto.
In questo modo abbiamo creato un partitore resistivo tra la resistenza di pull-up e tutte le altre in serie.

I pin analogici in realtà non sono analogici, ma restituiscono un valore tra 0 e 1024 a seconda della tensione in ingresso.

Quando abbiamo controllato i valori con Arduino ci siamo resi conto che non erano stabili quindi per ogni tasto abbiamo dovuto identificare un range di ingresso.
Questo è il codice utilizzato:

  int buttonsPanel = analogRead(A0);
  Serial.println(buttonsPanel);

  switch (buttonsPanel) {
    case 15 ... 30:
      Serial.println("Bottone AVANTI premuto");
      delay(500);

      break;

    case 122 ... 142:
      Serial.println("Bottone INDIETRO premuto");
      delay(500);
      break;

    case 166 ... 175:
      Serial.println("Bottone SX premuto");
      delay(500);
      break;

    case 72 ... 82:
      Serial.println("Bottone DX premuto");
      delay(500);
      break;

    case 277 ... 284:
      Serial.println("Bottone STOP premuto");
      delay(500);
      break;

    case 243 ... 251:
      Serial.println("Bottone SET premuto");
      delay(500);

      break;

    case 207 ... 214:
      Serial.println("Bottone GO premuto");
      delay(500);

      break;


Questo è il lavoro finito:

Pulsantiera partitore resistivo di Simone Bacciglieri

Il led al centro condivide solo la massa con il resto del circuito. L'altro piedino va direttamente ad un altro pin dell' Arduino e viene usato come di consueto.

Il telaio ha subito una modifica: non ha più due ruote davanti ma una sola girevole.

Macchina programmabile di Simone Bacciglieri


Per oggi è tutto, vediamo se riuscirò a farla funzionare :)

Weekend da registi

Stop motion backstge

In casa siamo tutti amanti dei film in stopmotion, adoriamo Shaun the sheep, Timmy e amici. Dico adoriamo perchè anche gli "adulti" di Casa Bacciglieri sono in prima fila quando c'è a guardare quel genere di film.

Tempo fa feci un mini video con un paio di Lego utilizzando questa tecnica per far ridere i miei ragazzi ma dopo l'entusiasmo iniziale non hanno più fatto domande.
Ieri pomeriggio invece Matteo (7 anni) mi ha detto che gli sarebbe piaciuto fare un video con i Lego. Ho subito specificato che non è una cosa che si fa in 10 minuti, ma lui è rimasto della stessa idea: facciamo un film tutti insieme.
Non me lo sono fatto ripetere due volte. Ho preso il mio pc e una vecchia videocamera che ormai funziona solo se attaccata al computer (rovina tutti i nastri che le vengono inseriti e non ha più batteria); Matteo e Martina hanno creato la scenografia mettendo sul tavolo un tappeto con le strade disegnate e riempiendolo di Lego. Abbiamo aggiunto un po' di luci e ci siamo messi subito all'opera.
Siccome in casa Bacciglieri si usa quasi solo software libero nel mio pc è installato Linux come sistema operativo e per catturare le foto abbiamo usato stopmotion.

Abbiamo diviso il film in 3 parti: la prima parte dove io facevo il "tecnico" e loro pensavano a muovere i personaggi; la seconda ambientata nel castello dove Matteo ha fatto tutto da solo e la terza curata esclusivamente da Martina con le sue Lego Friends.
Alla fine dopo circa 3 ore di lavoro è venuto fuori un filmatino muto di un minuto e 30 secondi. Entrambi sono rimasti sbalorditi di quanto tempo ci voglia per creare un film del genere e, per capire meglio, abbiamo guardato un po' di backstage del film di Shawn the Sheep.

Il lavoro non è finito, adesso devono capire cosa vuol dire fare il montaggio, aggiungere l'audio e i titoli, ma sembrano motivati ad andare fino in fondo.
Per il montaggio useremo kdenlive, visto che Martina lo ha già utilizzato per un lavoro che ha dovuto fare per la scuola, mentre per l'audio registreremo le nostre voci con audacity (non oso pensare cosa ne uscirà :) ).

Qualsiasi cosa verrà fuori da questo esperimento per me è già stato un successone: i ragazzi hanno capito bene quanto lavoro si debba fare per far muovere i loro personaggi preferiti e, nondimeno, nel farlo si sono divertiti un sacco! Sono certo che da oggi apprezzeranno ancor di più i cartoni animati e di certo li guarderanno con occhi diversi.

Fisiclab e programmazione

Lezione di informatica Simone Bacciglieri


Come preannunciato in questo post sabato 13 giugno abbiamo fatto l'ultima lezione della stagione al Fisiclab.
Eravamo in pochi ovviamente, come ho già detto in uno dei post precedenti ormai è arrivata l'estate e i ragazzi è giusto che stiano a giocare nei parchi o al mare. Abbiamo avuto però un ospite speciale: una delle speaker della redazione di San Giovanni di Radio Immaginaria, che qualche tempo fa, insieme ai suoi colleghi ci ha ospitati per un' intervista. Da quello che ho capito le è piaciuto molto, così come è piaciuto anche agli altri.
Alcuni erano "vecchie" conoscenze, altri nuovi. Un bimbo addirittura è stato avvistato anche il giorno dopo dai ragazzi di CoderDojo Bologna, quindi ha fatto un weekend intero di programmazione!
Ora è tempo di riposarsi anche se sicuramente io non lo farò: ho in mente un sacco di progetti e in questi 3 mesi sicuramente mi preparerò per ricominciare a settembre con moltissime novità.

Buone vacanze ragazzi!

Ultima lezione di programmazione prima dell'estate

Ecco la locandina che pubblicizza l'ultima lezione che faremo io e Serena prima della pausa estiva.
Come sempre parleremo di programmazione, software libero e anche un po' di Fisica.
L'appuntamento è sabato 13 giugno 2015 presso il Fisiclab, in via Guardia Nazionale 15 a San Giovanni in Persiceto.
Vi aspettiamo!

Lezione di programmazione del 9 maggio: ritorno a Granarolo + info sul gran finale



Siamo in maggio, si avvicina l'estate, la scuola sta per finire e le giornate sono soleggiate e calde.
Queste premesse servono per dire che anche noi siamo giunti quasi al termine delle lezioni di programmazione, prima della pausa estiva.

Ovviamente questi sono anche i momenti in cui si tirano le fila e si snocciolano un po' di numeri.

Sabato 9 maggio siamo tornati a Granarolo per la seconda volta e per la seconda volta alcuni ragazzi del Liceo Copernico mi hanno aiutato. Questa per noi è stata la decima lezione e allo stesso tempo la prima dove ho insegnato Scratch 2.0. In questo anno abbiamo visto più di duecento bambini e ragazzi, siamo stati ospitati da sette strutture diverse e devo ammettere che è andato quasi tutto alla perfezione, sia con i ragazzi che con le varie organizzazioni. Abbiamo conosciuto un sacco di persone nuove e allacciato contatti duraturi quasi con tutte.

Siamo anche finiti sul giornale di Granarolo!

Giornale Granarolo articolo Simone Bacciglieri lezione di programmazione


Questa volta però ci sono state parecchie defezioni dell'ultimo minuto, probabilmente il clima che ho descritto poco fa non ha aiutato: sicuramente è più divertente andare al mare o al parco piuttosto che chiudersi in un'aula per 3 ore a pistolare con il pc. C'erano comunque 14 ragazzi, alcuni nuovi e alcuni già visti la volta scorsa. Tutti sicuramente motivati.

La lezione non è stata facile, quelli che hanno seguito la lezione scorsa con scratch 1.4 hanno notato un bel cambio di interfaccia, in più ho aggiunto parecchie nozioni rispetto alla volta scorsa come le funzioni e le classi (che scratch definisce blocchi personalizzati e cloni).
Ho modificato leggermente l'introduzione sul software libero in modo da far capire meglio i concetti base e per mantenere l'attenzione di quelli che l'avevano già sentita la volta scorsa.
Un'ora e mezzo dopo l'inizio come sempre mi stavo dimenticando di fare la pausa, ma Serena me l'ha ricordato. Peccato che nessuno si sia staccato dal pc (come al solito) quindi dopo neanche 5 minuti ho ripreso. La seconda parte è volata e siamo quasi riusciti a finire il programma che avevo preparato. Io non pensavo di arrivare a finirlo, effettivamente era un po' complesso per essere spiegato in 3 ore.
Come al solito il programma è disponibile nella sezione Documenti di questo sito.

Secondo me è andata molto bene, spero che tutti abbiamo capito bene i nuovi concetti. A fine lezione una ragazza mi ha detto "Sabato prossimo cosa facciamo?" ed effettivamente mi è dispiaciuto molto doverle dire che per questo mese io non avrei fatto più niente.

Per questo mese.

All'inizio di questo post ho scritto che siamo giunti QUASI al termine. Manca ancora una lezione e ovviamente l'ultima non potevamo non farla a casa nostra: al Fisiclab! Ancora non sappiamo esattamente cosa faremo, ma sappiamo solo che si terrà sabato 13 giugno quindi segnatevi questa data.

Abbiamo parecchie idee in testa quindi tenete d'occhio questo sito o quello del Fisiclab oppure scrivetemi così vi aggiungo nella nostra mailing list!


Software libero e programmazione a Granarolo



Eccomi qui a scrivere le mie impressioni sulla lezione che ho fatto ieri a Granarolo.
Lo scopo era di fare una lezione esclusivamente per ragazzi delle medie, per spiegare le nozioni fondamentali del software libero e fare un videogame utilizzando Scratch, aiutato da 6 ragazzi del Liceo Copernico.

La biblioteca ha una sala enorme e in fase di sopralluogo ho pensato "dai, possiamo prendere anche 30 ragazzi, tanto stiamo comodi qui dentro".
Sinceramente non avevo molte speranze di riempire i 30 posti, le precedenti esperienze mi avevano fatto pensare che i ragazzi delle medie non fossero troppo interessati a fare una lezione extra scolastica di sabato pomeriggio.
Invece sono stato smentito, i 30 posti si sono riempiti e la lista delle riserve era lunghissima!
Alle 14:00 c'era la fila davanti alla porta di entrata per registrarsi, poi tutti hanno iniziato a prendere posto. I ragazzi sono partiti dalle ultime file mentre le ragazze dalle prime :)
Questo è stato un fatto che mi ha colpito parecchio: le ragazze erano motivatissime! Sono state quelle che hanno interagito di più. Io durante la lezione spiegavo cosa volevo fare e chiedevo spesso come avremmo potuto tradurlo in codice e loro ci provavano sempre. Mani alzate e si buttavano tutte le volte, spesso a segno.
La lezione è andata avanti spedita, non ho avuto bisogno di soffermarmi troppo su cose come gli assi cartesiani o i cicli, avevo davanti ragazzi già grandi e molto svegli.
Dopo un'ora e mezzo ho proposto la pausa ma quasi nessuno l'ha fatta. Tutti al posto a provare il gioco o a modificare gli sprite o lo sfondo.
Altra cosa che fino adesso non avevo considerato: prima di iniziare la lezione è bene spegnere i cellulari. Fin'ora ho fatto lezione quasi esclusivamente a bimbi delle elementari quindi questo problema non mi ha neanche sfiorato, dovrò ricordarmelo la prossima volta.
Una delle ragazze in prima fila quando ho proposto la pausa ha detto: "La facciamo solo se si può riaccendere il telefono" :)

Ripresa la lezione siamo arrivati dritti alla fine del programma senza problemi.
Le 3 ore sono passate in un lampo e alla fine gli adulti presenti si sono meravigliati di quanto siano stati zitti e attenti i ragazzi dall'inizio alla fine.
Effettivamente c'è da meravigliarsi ma io non lo faccio più, è sempre così.
Questa è stata la mia ottava lezione e tutte, nessuna esclusa, hanno coinvolto i ragazzi talmente tanto che le 3 ore sono volate senza il minimo problema.

Alla fine ne sono uscito stanco, senza voce (ho dovuto urlare tutto il tempo per farmi sentire anche dalle retrovie) ma veramente divertito e appagato per il lavoro svolto.

L'ultima considerazione è per i ragazzi del Copernico: molto molto bravi. Io non ho dovuto fare altro che spiegare. Hanno installato Scratch a 30 persone in un lampo e durante la lezione non mi sono fermato quasi mai visto che loro intervenivano immediatamente ed efficacemente per aiutare quelli in difficoltà.
Spero vivamente che la collaborazione fra di noi continui e sarebbe molto bello se loro iniziassero anche a fare queste attività in autonomia perchè secondo me sono perfettamente in grado di farlo.

Come al solito il programma creato è nella sezione documenti di questo sito.

P.S.: Nota per la prossima volta: quando sei in una sala grande e ti propongono il microfono ACCETTALO! :)

Pensieri in libertà di un Presidente di Consiglio d'Istituto



Ho ricevuto questa mail da Gian Paolo Papini scritta subito dopo il CoderDojo tenuto presso la scuola elementare Rubri di Imola (come scritto in questo post) e non posso non condividerla con il mondo. :)

Grazie a te Gian Paolo e a tutti quelli che ci hanno aiutato. Queste parole e i ringraziamenti di genitori e bambini ci ripagano di tutto lo "sbattimento" iniziale che anche tu hai dovuto sopportare ;)


Pensieri in libertà di un Presidente di Consiglio d'Istituto

28 febbraio, sabato sera.

Il Coder Dojo è appena finito... i piedi mi friggono e ho la testa che sembra un melone.

Finalmente l'abbiamo fatto ed è riuscito benissimo. Ripenso a quando mia moglie mi segnalò le attività extralavorative del system manager dell'ente in cui lavora. Fu così che entrai in contatto col signor Simone Bacciglieri e la sua associazione alcuni mesi fa: contattammo subito la dirigente, la quale si dichiarò molto entusiasta della nostra proposta di laboratori di informatica all'interno della scuola in orari extrascolastici.

Gli scopi formativi di Erlug - Emilia Romagna Linux User Group


discendono direttamente dalle istanze di libera trasmissione della conoscenza informatica che fin dagli anni 70 son state portate avanti da figure come Richard Stallman o Linus Torvalds... Date un'occhiata su Wikipedia alle loro biografie:



(meglio ancora se lo fate nelle version inglesi, molto più particolareggiate).

Il loro spirito era in perfetta consonanza con le linee guida del Piano dell'Offerta Formativa dell'Istituto Cappuccini, specialmente laddove queste promuovevano con forza lo sviluppo di "attività extracurriculari di eccellenza".

Ho subito coinvolto Fiorella... la conoscete... è stato come scatenare un tornado... ha propagato il progetto alle altre scuole dell'istituto.

Tante parole... Un'organizzazione dell'evento che sembrava un parto. Tante parole...

Oggi le avevo dimenticate tutte... Un Coder Dojo delle dimensioni del nostro non era mai stato fatto prima. Dieci, dodici studenti al massimo era ldimensione di una classe per l'esercitazione. Ma quando Libera-mente Insieme ha distribuito i volantini durante gli incontri dei genitori a scuola, vedevo gente che già mandava freneticamente l'adesione direttamente dallo smartphone... dopo due ore, il 70% di quelli che avevano chiamato erano già fuori graduatoria.
Non si può dire che non vi interessasse... :)
Simone subito dichiarò che non c'era problema... avrebbero raddoppiato le esercitazioni...

Guardavo stamattina con preoccupazione l'aula extra che dovevamo cablare... Contavo e ricontavo i cavi e le ciabatte, calcolavo le prese, come stenderle perché i bambini non si intralciassero, non si fulminassero... come incerottare i cavi col nastro americano di modo da non lasciare l'aula in uno stato di massacro alla fine della lezione.

I ragazzi del Coder Dojo, una volta finita l'esercitazione con i bambini della Rubri, sono venuti subito a darmi una mano ed in dieci minuti era tutto fatto.
A mezziogiorno e mezza sono mandati a mangiare ed io sono rimasto a presidiare i locali della Rubri di cui avevo la responsabilità.

Arrivano i genitori e i bambini, puntualissimi... Fiorella mi mette sotto il naso la lista dei presenti da smistare nell'aula cablata... Font corpo 10 e non ho manco gli occhiali adatti... Devono scrivere su una targhetta il loro nome ed appiccicarlo al computer, così che non si incasinino. Le password... sto cercando di trattenere un attimo i genitori perché gli digitino le password....
"Signore... guarda che le conosciamo le nostre password per entrare..." (sottinteso ma chiarissimo: "Cosa credi che siamo nati ieri?")
"Signore... Signore... sei sicuro di avere attaccato il mio computer alla corrente?
qui mi dice... guarda... non è in carica..."
"Hai ragione... la presa non era attaccata bene..."

Ma di che sto a preoccuparmi? Questi sono avanti alle mie preoccupazioni di molti neuroni.

Assisto al corso molto più rilassato, girando ora in un'aula, ora nell'altra.
Tramite un ambiente di sviluppo rapido puramente visuale e iconico imparano le strutture basi della programmazione. Anche se non glieli presentano così riconosco i cicli FOR, gli IF condizionali, i diagrammi di flusso del mio mestiere di programmatore.
Per muovere gli sprite sullo schermo, Simone e Serena gli spiegano in quattro e quattr'otto gli assi cartesiani e i numeri negativi... roba non da elementari, ma nessuno dei bambini, neanche i più piccoli, ha problemi... e il gioco dello squash con le palle buone e le palle cattive prende forma...
Un bambino di quinta mi chiama: "Guarda cosa ho fatto... ti piace? Ho cambiato lo sprite del pad che deve prendere le palle..."
Un granchione è pronto a fare il portiere...
"Sai ... è Crab... mi sembrava molto adatto in questa situazione..."

Le ore passano e io li guardo allibito... Hanno fatto tre ore di lezione la mattina... alla fine ne faranno altre tre il pomeriggio...
Nessuno alza il sedere dalla sedia se non nei 10 minuti di pausa a metà, poi tornano in aula e giù ancora...

Vociferano... ma non è caos... è produzione: chi chiede agli assistenti una mano, chi domanda opzioni supplementari agli istruttori.
I più grandi si aiutano patentemente tra di loro o si scambiano opinioni sulla customizzazione del gioco.
Poi salvano in chiavetta i loro sforzi.

Li vedo uscire, soddisfatti in volto. Vedo le vostre facce quando Simone Bacciglieri vi parla. Non ci credete vero? Per tutto questo non si paga nulla.
Fiorella mi dice poi che c'è stato comunque chi ha voluto lasciare un'offerta all'associazione genitori: in questa epoca di contabilità spinta facciamo fatica a percepire che ci sono cose che non devono costare soldi. L'educazione dei nostri figli prima di tutto.

Vedo le vostre facce, le vedo tuttora che sto scrivendo a ore di distanza. Oggi sono contento di essere il Presidente del Consiglio di Istituto della nostra scuola. Di una scuola in cui sono arrivato per caso, di una scuola che in molte cose è di molto superiore alla media, di una scuola che cerca ancora di crescere e non si ferma.
Aiutiamola la nostra scuola, aiuteremo noi stessi e i nostri bambini.
Nel mio piccolo cercherò di continuare a collaborare allo sviluppo dell'Istituto e ad organizzare altre attività come quella che avete visto oggi.
Solo... aiutatemi... senza di voi io non sono nulla.


Gian Paolo Papini

CodER[lug] Dojo e Software libero

Serena Bedeschi Lezione programmazione

Il 31 gennaio io, Serena e Luca abbiamo avuto il piacere di fare una lezione di programmazione presso la biblioteca Casa di Khaoula di Bologna.
Come al solito le prenotazioni sono arrivate a finire i posti disponibili in meno di 24 ore, anzi, abbiamo chiesto alla biblioteca se potevamo aumentarne il numero per dare la possibilità a tutti di partecipare.
C'erano una ventina di bambini, quasi tutti con un genitore a seguito, in una saletta carina e accogliente che però faticava un po' a tenere 20 bambini, 10 genitori, tavoli e tutto il resto. Siamo stati tutti "vicini vicini", l'atmosfera era rilassata, il posto gradevole quindi alla fine era anche piacevole.

Abbiamo deciso di lasciare che i genitori stessero vicino ai bimbi, cosa che non tutti fanno, per due motivi: primo perchè a noi fa molto piacere che i bimbi e i ragazzi condividano con i genitori i loro primi passi nel mondo della programmazione; secondo perchè in 3 si fatica parecchio a seguire 20 bambini. Questo però talvolta genera non poca confusione, perchè ogni genitore cerca ovviamente di aiutare il proprio figlio, ma questo a volte contribuisce a creare rumore e distrazione. Stiamo cercando di valutare (in assenza di aiuti) quale sia la soluzione migliore per conciliare questi due aspetti.

Programma creato con scratch Coderdojo
Questa lezione però è stata diversa dalle altre: innanzitutto è stata la prima dove abbiamo inserito una spiegazione strutturata sul software libero, e dove abbiamo fatto capire con esempi concreti a bambini e genitori l'importanza di condividere il codice sorgente dei programmi.
Secondo, ma non meno importante, è stata la prima lezione di programmazione tenuta da Serena.
A mio parere è andata molto bene, ma non avevo dubbi, lei è abbastanza abituata ad insegnare ai bambini, visto il numero di attività che ha svolto negli ultimi anni al planetario e al Fisiclab :).

Simone Bacciglieri lezione di programmazione

Io mi ritengo molto soddisfatto perchè vedo che stiamo andando dritti verso l'obiettivo che ci eravamo prefissati all'inizio: creare un coderdojo leggermente diverso dagli altri: un CodER[lug] Dojo dove si insegna la programmazione e il software libero dando pari importanza alle due cose.
Lezione di programmazione

Il programma che abbiamo fatto è disponibile qui insieme a tutti gli altri e ovviamente tutti sono invitati a scaricarli, guardare come sono fatti, modificarli e migliorarli. Se poi qualcuno ha voglia di condividere il proprio lavoro può mandarmelo e io sarò felice di pubblicarlo insieme agli altri. :)


Buon lavoro a tutti!