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 coderdojo. Mostra tutti i post
Visualizzazione post con etichetta coderdojo. 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.

Lezioni di programmazione con scratch a Granarolo



E passato più di un anno da dalla mia ultima lezione di programmazione ma non sono stato con le mani in mano: ho fatto una macchinina programmabile con Arduino e mi sono finalmente buttato sulla stampa 3d, ma questo discorso merita uno (o più) post a parte.
Serena invece si è data da fare parecchio sia al Fisiclab che al Centec, ma anche questo sarà argomento di post successivi.

Ma torniamo al presente.
Qualche tempo fa sono stato contattato di nuovo da Giuliana Bertagnoni, assessore alla cultura di Granarolo dell'Emilia, e da Lucia Mastroiacovo.
Con loro ho fatto due lezioni di programmazione con Scratch nella biblioteca di Granarolo.

L'idea iniziale era di non fare una lezione sola in biblioteca ma di fare qualcosa di più strutturato in modo da dare la possibilità a più ragazzi possibile di partecipare.

Dopo esserci confrontati abbiamo deciso di tentare un progetto ambizioso: fare una lezione di programmazione a tutti i bambini e ragazzi delle scuole primarie (dalla terza in su) e secondarie di Granarolo. In più chiedere al Liceo Copernico e al liceo Sabin qualche studente per affiancarci.

Abbiamo mandato la comunicazione a tutti i genitori degli alunni dell'istituto comprensivo per capire quanti erano interessati a questo progetto e la risposta è stata impressionante: 307 iscrizioni tra primaria e secondaria.

Alcuni studenti del Sabin e del Copernico parteciperanno e le loro ore saranno inserite all'interno del progetto scuola lavoro.

Adesso comincia la parte operativa: da sabato prossimo 4 febbraio io, Serena ed Emiliano faremo sette incontri con due lezioni parallele ognuno.

Come sempre i lavori che faremo verranno inseriti nella sezione documenti di questo sito in modo da dare la possibilità di scaricarlo sia a chi non è riuscito a terminarlo sia a tutti quelli che capitano qui e vogliono vedere, provare e modificare il nostro lavoro.

Come si dice di solito: hai voluto la bicicletta...

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

Lezione di programmazione per bambini a Imola - Seconda giornata

Simone Bacciglieri lezione di programmazione scratch

Si è conclusa la seconda e ultima giornata di quelle programmate fin'ora con l'Istituto Comprensivo di Imola.
Questa giornata è stata tanto impegnativa quanto gratificante per me, Serena, Lucia, Luca e Riccardo: tre lezioni, una al mattino tenuta da me e due in parallelo al pomeriggio, una tenuta da me e una da Serena. In tutto hanno partecipato 60 bambini di terza, quarta e quinta elementare.

Lezione di programmazione con Scratch
Questa è stata anche la prima lezione completamente senza genitori (anche perchè eravamo già stretti così, tra noi, i bambini e le insegnanti).
Posso tranquillamente dire che i bambini lavorano molto bene da soli: spesso il genitore è un aiuto ma anche una distrazione, come dicevamo in questo articolo, e fare questa attività da soli li spinge ad impegnarsi di più.
Un altro elemento diverso dal solito è stato lavorare in un'aula di informatica, quindi con i computer già presenti. Questo ha avuto vantaggi e svantaggi: permette di partecipare anche ai bambini che non dispongono di un portatile e velocizza il setup iniziale perchè scratch era già stato installato. Per contro i bambini devono essere provvisti di chiavetta usb per poter portare a casa il programma scritto da loro e alla fine della lezione bisogna prevedere del tempo per aiutarli a salvare visto che molti non hanno dimestichezza.
Come sempre il programma che abbiamo creato è disponibile nella sezione Documenti di questo blog.

Lego Mindstorm cubo di Rubik
Terminata la lezione siamo andati a vedere la fine dell'attività svolta da Coderdojo Imola; abbiamo avuto il piacere di conoscere gli organizzatori e abbiamo sbavato davanti al Lego Mindstorm mentre risolveva il cubo di Rubik.

Ringrazio tutte le persone che hanno lavorato per portare queste attività all'interno della scuola; noi crediamo che insegnare la programmazione a quell'età aiuti a sviluppare la capacità di risolvere problemi e allo stesso tempo aumenti la creatività. In più siamo convinti che sia molto meglio per un bambino passare il tempo davanti al pc pensando a come creare un videogame piuttosto che giocare passivamente senza utilizzare il cervello.
Sarebbe bellissimo se i bambini già dalle elementari imparassero a programmare a scuola durante le ore di informatica. Ci sono già varie iniziative per mettere in pratica questa idea (formando le insegnanti) e io molto volentieri sono disposto a dare una mano.

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!

CoderDojo al Fisiclab



26 Ragazzi.
16 al mattino e 10 al pomeriggio.

26 ragazzi che sono tornati a casa e, a giudicare dai feedback che ci stanno mandando i genitori via mail, si sono messi immediatamente al pc per ricominciare, migliorando il programma che abbiamo fatto insieme oppure iniziando subito a farne di nuovi.

Rosetta space probe cartoon
Mentre Serena faceva vedere gli esperimenti del Fisiclab e intratteneva i più piccoli, noi
abbiamo fatto un CoderDojo a tema Rosetta. Serena ha spiegato un po' la storia della sonda spaziale Rosetta e del suo lander Philae, poi abbiamo proiettato il cartone animato dell' ESA sulla missione e infine abbiamo fatto un videogame dove Rosetta deve evitare gli asteroidi. Come al solito tutto è disponibile nell'area documenti di questo sito e invito tutti a scaricarlo, guardare il codice, giocarci, migliorarlo e rendere disponibile la versione modificata. Chi vuole può anche mandarla a me e io la inserirò insieme a quella originale.

Come dimostrazione finale ho fatto vedere a tutti che con Scratch (o meglio, con una versione modificata di Scratch) si possono anche comandare dei giochi veri!

Macchinina Lego Arduino
Macchinina Lego ArduinoUtilizzando un motorino elettrico, un servo-motore, una batteria, un Arduino, una breadboard, un po' di cavi e un sacchetto di Lego ho costruito una macchinina che posso comandare con la tastiera del pc.

Questo ha stupito parecchio tutti, ragazzi e genitori.


Alcuni genitori mi hanno chiesto dove si compra il kit per poterlo rifare a casa. Io a loro ho già risposto, ma voglio rispondere a tutti quelli che leggeranno questa pagina: non so se esiste un kit per farlo e non mi interessa neanche perchè non è questo lo spirito.
Io ho usato un po' di materiale di recupero e inventiva.

Il motorino e la cinghia possono essere recuperati da vecchie stampanti o scanner. La batteria e i Lego si trovano da tutte le parti. L'Arduino, i cavi, la breadboard e gli integrati in un qualunque negozio online di elettronica.

La creatività, la voglia di fare cose senza seguire schemi particolari o istruzioni di montaggio dovete metterla voi. E questo è proprio quello che vorrei trasmettere a tutti quelli che vengono alle nostre iniziative: usate l'inventiva e la voglia di creare, sia quando fate i videogames con Scratch sia quando giocate con giochi veri. Creare cose (virtuali o reali) è sempre molto più appagante che comprarne di già fatte!

Per concludere, il bilancio della giornata di ieri è stato decisamente positivo. Molti genitori mi hanno fatto i complimenti e hanno apprezzato moltissimo anche il lavoro che Serena sta facendo al Fisiclab. Alcuni sono anche stati propositivi: hanno chiesto quando facciamo una lezione di Scratch per adulti e anche quando facciamo una giornata solo con esperimenti. Voglio rispondere in questa sede a loro e a tutti gli altri: grazie a voi già questa mattina ci sono venute un sacco di idee, quindi state pronti, a breve arriveremo con altre iniziative. Questo non è un avvertimento bensì una minaccia :)

Simone e Serena
Rosetta spacecraft

Lezione di informatica con Scratch a Imola

Simone Bacciglieri lezione programmazione con Scratch


Sabato 22 novembre sono uscito dal circondario della bassa Bolognese: ho fatto la mia prima lezione di informatica presso la scuola secondaria di primo grado Andrea Costa di Imola, e anche la prima lezione a ragazzi di 13 anni.

Ero particolarmente teso, i ragazzi a quell'età sono un po' difficilini da trattare e spesso se vedono che qualcosa ha la minima caratteristica che lo possa identificare come "roba da bambini" lo snobbano immediatamente senza neanche guardarlo.

Questi no. Erano molto interessati e soprattutto molto svegli. Purtroppo erano pochi, ma fortunatamente erano buoni.
Hanno fatto un sacco di domande e uno di loro appena arrivato in classe la prima cosa che mi ha fatto è stata informarsi sulla strada da seguire per diventare un prgrammatore.

In 3 ore abbastanza tirate per dei tredicenni (mi dimentico sempre di fare la pausa) abbiamo creato un videogame molto carino (che è scaricabile nell'area Documenti di questo sito) e grazie alle loro richieste abbiamo anche aggiunto funzionalità rispetto a quello che mi ero preparato io a casa.


Altra nota positiva: visto che erano grandi e svegli ho iniziato subito spiegando chi sono, cos'è Erlug e cos'è il software libero. Ho spiegato cosa vuol dire la condivisione del codice sorgente e perchè è importante e alla fine ho regalato a tutti un dvd con una Ubuntu customizzata Erlug.

Visto che abbiamo finito con 10 minuti di anticipo si sono messi tutti su un pc e hanno provato subito la live. Sono riusciti a farla partire e hanno iniziato ad esplorare il nuovo sistema operativo senza nessun aiuto da parte nostra. Insomma: un successone :)

Anche se erano pochi io mi ritengo molto soddisfatto perchè piano piano sto riuscendo a creare un modello per fare quello che ho in mente ormai da un paio di anni: un CodER[lug]Dojo!

Linux Day 2014

E anche questo quattordicesimo Linux Day è passato.
Io di Linux Day ne ho visti dodici, ho aiutato ad organizzarne 10 e negli ultimi due ho fatto molto più che dare una mano.
In particolare l'organizzazione di quello appena passato è stata più faticosa del solito, ma alla fine secondo me siamo riusciti a ottenere un evento di ottima qualità. La sala da 85 posti è stata piena tutto il giorno e per tutta la mattinata ci sono state almeno 30 persone in piedi.

Conferenza Linux Day 2014
Sala gremita di gente al Linux Day
Come al solito i talk non li ho visti perchè ero troppo occupato, me li guarderò su youtube quando li pubblicheremo, ma ho visto tutto quello che è successo fuori e mi è piaciuto molto: ho visto informatici entrare in sala e stare dentro fino alla fine anche se si scoppiava dal caldo e bisognava stare in piedi; ne ho vistri altri rimanere fuori per parlare fra di loro scambiandosi informazioni, contatti di lavoro ecc; ho visto curiosi venire a fare un giro solo per parlare con "qualcuno che ne sa" e chiedere un cd per provare a casa; ho rivisto persone che sono venute a farsi installare il portatile, e questo mi ha stupito perchè noi il Linux installation party lo avevamo già dato per morto; ho visto famiglie intere venire con i bimbi per portarli a fare le attività di CoderDojo e del Fisiclab e ho visto tutte queste persone fermarsi a chiedere informazioni sulle stampanti 3D ai ragazzi di Raspibo.

Stampante 3D al lavoro
Stampante 3D al lavoro
Soprattutto ho visto un sacco di bimbi e bimbe uscire dalla sala orgogliosi per aver "imparato a programmare".
Qualcuno ieri mi ha chiesto: "Ma tu perchè fai lezioni di programmazione ai bambini senza guadagnarci niente?"
Il motivo è proprio questo: io adoro vedere i loro occhi quando escono e tirano i genitori per andare a casa a continuare. Ogni volta che li vedo spero che lì in mezzo ci sia qualcuno che continui veramente e che esca dalla massa di bimbi e ragazzi che stanno ore a giocare ai videogames con il cervello spento, e spero che uno di loro un giorno venga al Linux day a fare un talk. :)

Bimbi a parte questo è il mio concetto di Linux Day, quello che fino a qualche anno fa a Bologna non si faceva: un evento per tutti, non solo per gli informatici. Il Linux day deve essere una giornata dove si fa conoscere Linux e il software libero alla gente, non una serie di talk per informatici che sanno già tutto del Software Libero, e secondo me Erlug sta facendo grandi passi in questa direzione.

Unica pecca di quest'anno: non ci sono state donne tra i relatori. Ovviamente non è stata una pecca di Erlug, abbiamo ricevuto candidature solo da uomini, ma speriamo che l'anno prossimo si facciano avanti.

Adesso come ad ogni tesoriere mi tocca la parte schifosa: fatture, conti, bonifici ecc.
Va beh, anche questo fa parte del gioco.

Grazie a tutti quelli che sono venuti a trovarci ma soprattutto ai genitori che vogliono offrire ai propri figli stimoli diversi dal solito.

End of the weekend

Per noi questo weekend appena trascorso è stato all'insegna della divulgazione scientifica:
sabato mattina alla Biblioteca di Funo Simone ha tenuto il secondo "Coderdojo della Bassa", mentre io e alcuni amici dell'associazione Ideas factory facevamo da aiutanti; domenica pomeriggio invece ci siamo scambiati di ruolo e mentre io al planetario di San Giovanni in Persiceto ho fatto esperimenti con l'elettricità, lui mi ha aiutato.

Abbiamo notato che ai coderdojo nella bassa solitamente partecipano bambini dai 7 agli 11 anni, benché sia accessibile fino ai ragazzini di 14 anni. Molto probabilmente i più grandi si vergognerebbero a lavorare fianco a fianco con i piccoli, perciò stiamo pensando di suddividere le lezioni in due fasce di età.

Schermata di Scratch
Un gioco creato con Scratch
Abbiamo anche creato una nuova area dove si possono scaricare tutti i files cheabbiamo creato e quelli che creeremo in futuro durante le lezioni. Questo per invogliare i ragazzi ad imparare e prendere spunto dai programmi scritti da altri e, perchè no, migliorarli.

Questo è uno degli aspetti fondamentali della filosofia del Software Libero, e noi speriamo che i ragazzi che ci seguono imparino a condividere la conoscenza.

P.S.: Ci ha fatto molto piacere rivedere al planetario un bimbo che ha partecipato al primo CoderDojo della Bassa.

Informatica per bambini

Il primo post della sezione informatica è dedicato ai bambini. Da un po' di tempo sto seguendo i ragazzi di Coder dojo, volontari che a titolo gratuito organizzano mini corsi di programmazione a bambini e ragazzi dai 7 ai 14 anni, utilizzando un programma molto carino che si chiama scratch.
Questa attività sta avendo molto successo, hanno sempre un sacco di richieste e i bambini quando escono vogliono correre a casa per ricominciare a programmare!
Organizzano almeno un incontro al mese e sono itineranti, ma si aggirano sempre dalle parti del centro di Bologna.

Siccome non ho ancora le giornate abbastanza piene :) ho pensato di far partire un gruppo nuovo e organizzare un Coder dojo nella bassa Bolognese, per offrire questa opportunità anche a chi non ha voglia o tempo di arrivare fino in centro.

La sede per la prima lezione è già stata trovata: la biblioteca di Funo di Argelato, la data invece è ancora da stabilire per cui se siete interessati tenete d'occhio queste pagine.