Come è andata la lettura del libro Ada e Zangemann a Dalmine

Licenza: CC-BY-SA
Ritaglio della foto di quando i due narratori leggono il libro di fronte ai bambini
Credits: Marta Andreoli, CC-BY-SA

La prima proposta dell’attività didattica-formativa “Sono giovani + hanno bisogno di codice” a DALMINE sì è conclusa con successo, seppure con alcune variazioni rispetto all’idea ufficiale della FSFE.

Bacheca degli eventi della biblioteca

Per chi non ha seguito con attenzione, l’evento sì è svolto venerdì 27 settembre 2024 alle 16:30 presso la biblioteca civica “R.L. Montalcini” di Dalmine.

Perché proprio Dalmine? Il motivo è che, dietro suggerimento del circolo dei narratori, abbiamo preso contatto con la biblioteca di Dalmine che collabora con il progetto Digeducati, da cui la presenza del loro logo nella locandina.

L’evento s’è svolto seguendo la seguente traccia:

  • lettura del libro Ada & Zangemann
  • caccia al tesoro attraverso le sale lettura della biblioteca
  • montaggio di componenti elettronici su una breadboard per vedere dei led lampeggiare

Si sono occupati della lettura Carlo e Gabriella Milanesi mentre hanno organizzato e gestito la seconda parte Andrea Laisa, Andrea Flori, Marta Andreoli e Omar Lazzari e sua figlia Sabrina.

L’evento sì è svolto esattamente come pianificato. Di seguito gli unici piccoli intoppi presentatisi:

  • Carmela, la seconda narratrice, non è potuta venire in quest’occasione (ma ti aspettiamo alla prossima!), ed è stata sostituita egregiamente da Gabriella, sorella di Carlo, anche lei attrice teatrale per diletto.
  • è stata spostata una posizione della caccia al tesoro
  • si sono mischiati i pulsanti gialli con quelli neri

Poca roba insomma :D

Lettura animata del libro

Foto in cui vengono mostrati Carlo e Gabriella durante la lettura della prima pagina del libro e gli spettatori attenti nel seguire la lettura
Credits: Marta Andreoli

La lettura animata del libro Ada & Zangemann è durata circa 50 minuti. È stata eseguita da Carlo Milanesi e Gabriella; mentre il l’uno leggeva, recitando in modo molto efficace, usando più voci e muovendosi davanti alle immagini proiettate, l’altra narrava le immagini e il contesto, riassumendolo, al termine di ogni tavola.

Alla lettura erano presenti 9 bambini e 4 bambine, sei mamme e chiaramente noi dello staff e le bibliotecarie. L’età media dei piccoli era intorno agli 8-9 anni.

La lettura si è svolta forse con troppo poca interazione con il pubblico e dopo circa 40 minuti cominciava a diffondersi un leggero senso di irrequietezza tra i giovani uditori, ma siamo giunti al termine con soddisfazione di tutti.

Caccia al tesoro

Foto di due bambine intente a prendere un componente elettronico da una busta e a leggere la domanda
Credits: Marta Andreoli

La caccia al tesoro è stata organizzata copiando in parte lo stile del gioco proposto alla Maker Faire di Trieste in questo modo:

  • le piante dei piani terra e interrato della biblioteca sono state mappate disegnandoci sopra una griglia a quadrati, dove ogni cella aveva le proprie coordinate
  • sparse per la biblioteca c’erano quindici fogli riportanti domande a scelta multipla con tre risposte possibili; ogni risposta portava a una successiva casella della griglia
  • alcune risposte giuste avevano componenti elettronici o pezzi di un puzzle da collezionare e usare in seguito
  • la caccia al tesoro è finita quando i bambini hanno preso i 4 componenti elettronici e i tre fogli rappresentanti la foto di una shield arduino per la prototipazione rapida
  • all’inizio della gara, ai gruppi di bambini è stato distribuito un foglietto che indicava la posizione della prima tappa tra quelle del primo livello; per evitare assembramenti e distribuire i partecipanti, ognuno è partito da un punto diverso dell’anello di risposte giuste mostrate nel grafo più sotto

Le domande sono state appese prima della lettura da Andrea Laisa e da Sabrina. Al termine della lettura Omar sì è occupato di spiegare come giocare alla caccia al tesoro, distribuire le posizioni iniziali e, nel tempo della ricerca, ha preparato le schede Arduino da usare al termine della ricerca. Come aveva fatto Ada, anche i piccoli spettatori avrebbero acceso il loro primo led con pezzi recuperati. I bambini più grandi hanno svolto l’attività in autonomia mentre i più piccoli hanno composto dei gruppi e, guidati da Andrea Laisa, Andrea Flori, Sabrina e Marta, si sono avventurati tra gli scaffali di libri.

Grafo e mappa

Grafo delle domande, dove al centro si possono vedere le domande giuste collegate circolarmente e, queste, collegate ad alcune risposte sbagliate, dalle quali è possibile ritornare sul tracciato circolare più interno
Credits: Amreo, CC0

Le domande sono state progettate sottoforma di un grafo che permettesse agli organizzatori di far partire i bambini da una domanda di primo livello casuale in modo da evitare che si ammassassero sulla stessa domanda iniziale.

Le domande sono strutturate nel seguente modo:

  • il primo livello, quello circolare di otto domande “giuste”, avevano buste con componenti elettronici o parte del puzzle fotografico (sette in tutto)
  • il secondo livello di domande “sbagliate”, ovvero puntate dalle risposte sbagliate contenute nella domande del primo livello, portavano a messaggi di errore che invitavano a tornare indietro
  • il terzo livello era composto da messaggi di tornare indietro due volte, sia nella versione della risposta sbagliata, sia nella versione della risposta giusta alla domanda di secondo livello
  • le domande di per sè erano semplici; tutte riguardavano il contenuto del libro, ma due di queste, quella in B2 e A7 richiedevano di ragionare un minimo
  • la posizione è stata decisa in maniera casuale con un piccolo script in python
  import random
  from itertools import product
  combo = list(product([x for x in "abcdefghimnp"], range(1,8)))
  random.shuffle(combo)
  print(combo)

Durante la caccia al tesoro, c’è stato un piccolo intoppo: la posizione di I4 durante la costruzione della mappa grigliata è cambiata, rendendo necessario spostare la posizione della domanda a I3 ed aggiustare i vari riferimenti.

Soluzione della caccia al tesoro

Si possono leggere le domande qui.

(B2) CHI POTREBBE RICORDARE ZANGEMANN?

La risposta corretta è la A7 (IL FONDATORE DI MICROSOFT). Il motivo è che anche Bill Gates ha creato una serie di invenzione, ma mantenendono il controllo attraverso il software proprietario. Non ci risulta che ci siano presidenti del governo che abbiano creato software e che controllino da remoto. Richard Stallman invece è stata la persona che ha dato via alla rivoluzione del software libero.

(A7) QUAL È LA MORALE DELLA STORIA?

La risposta corretta è la G7 (È MEGLIO CHE I SOFTWARE NON SIANO CONTROLLATI DA QUALCUN’ALTRO). È questa la risposta corretta perché il racconto è stato scritto in modo da far capire l’importanza del software libero, attraverso alcuni eventi principali come:

  • la modifica al software degli skateboard che impediva di salire sui marciapiedi e di riprodurre musica diversa da quella preferita da Zangemann e la modifica alle macchine del gelato che ne bloccava il funzionamento il pomeriggio
  • modifica dello skateboard di Ada e degli amici per evitare il blocco

(G7) COSA VOLEVA FARE ZANGEMANN CON I COMPUTER DA PICCOLO?

La risposta corretta è la I4 (METTERLI SUGLI SKATEBOARD) come scritto a pag. 6.

(I4) COSA FACEVA ADA CON GLI OGGETTI TROVATI IN DISCARICA?

La risposta corretta è la G5 (LI MONTAVA PER REALIZZARE OGGETTI) come scritto a pag. 9.

(G5) COSA PERMETTEVA A Z. DI CONTROLLARE LE SUE INVENZIONI?

La risposta corretta è la H6 (UN COMPUTER D’ORO) come scritto a pag. 11.

(H6) DIFFERENZE TRA HARDWARE E SOFTWARE?

La risposta corretta è la C2 (I SOFTWARE CONTROLLANO L’HARDWARE) come scritto a pag. 20 (ed è corretto).

(C2) IL PRIMO PROGRAMMA DI ADA?

La risposta corretta è la A3 (FA LAMPEGGIARE UNA LAMPADINA) come scritto a pag. 22.

(A3) QUANDO Z. INVIÒ NUOVI PROGRAMMI?

La risposta corretta è la B2 (ENTRAMBE LE COSE) come scritto a pag. 16 e 25.

(F1) QUALI DI QUESTI OGGETTI NON È STATO COSTRUITO DA ADA?

La risposta corretta è la E3 (MULINO AD ACQUA) come scritto a pag. 9.

(E1) DI CHI ERA LO SKATEBOARD CHE ADA MODIFICÒ PER ANDARE ANCHE SUI MARCIAPIEDI?

La risposta corretta è la D2 (TONI) come scritto a pag. 29. Questa domanda è stata progettata male, in quanto D2 punta a una risposta sbagliata invece che alla giusta.

(C1) QUALI DI QUESTE LIBERTÀ NON È PREVISTA DAL SOFTWARE LIBERO?

La risposta corretta è la A1 (LIBERTÀ DI AVERE IL SOFTWARE GRATIS) perché non è presente nella definizione ufficiale.

(A6) QUALI DI QUESTI OGGETTI PRESENTI SULLA SCRIVANIA DI ADA DURANTE L’ESPERIMENTO DELlA LAMPADINA È ORIENTATO NEL SENSO SBAGLIATO?

La risposta corretta è la E3 (IL SALDATORE). Il motivo è perché tipicamente sia l’impugnatura si tiene rivolta dalla parte opposta rispetto alla persona, per ridurre il rischio di scottatura accidentale, sia perché il display della temperatura si tiene in genere rivolto verso la propria faccia.

(P3) ANCHE MARIE HA PERSONALIZZATO IL SUO SKATEBOARD. IN CHE MODO?

La risposta corretta è la N1 (METTENDO DELLE LUCI LED CHE CAMBIA COLORE IN BASE ALLA VELOCITÀ) come scritto a pag. 30.

(I2) COSA AVEVA SEMPRE AFFASCINATO ZANGEMANN BAMBINO?

La risposta corretta è la A1 (I COMPUTER) come scritto a pag. 6.

Progettino arduino finale

Foto di due bambine che montano il progettino con l’aiuto di Omar
Credits: Marta Andreoli

Alla fine della caccia al tesoro i bambini sono ritornati al punto iniziale dove, insieme a Omar, hanno montato i componenti elettronici su una basetta sperimentale seguendo la foto della breadboard completa. Una volta messi tutti i componenti hanno collegato l’Arduino sottostante (la breadboard era sua una shield di prototipazione come questa), l’alimentazione ed eseguito il progettino.

Il funzionamento del progettino era banale: i LED lampeggiavamo in una combinazione diversa in base alla combinazione di pulsanti premuti (sinistro, destro o contemporaneamente).

Schema elettrico

Foto allo shield completo con tutti i componenti
credits: Omar Lazzari
Schema del circuito
credits: Andrea Laisa
(Abbiamo volutamente omesso di mettere in serie le resistenze ai LED, per rendere più semplice il montaggio ai bambini. I led bianchi e blu scelti non hanno sofferto troppo per la mancanza considerato anche il breve tempo di funzionamento.)

Codice

(Il codice è chiaramente scritto tramite la programmazione orientata al risultato, vale a dire male e in mezzora :)))

#define PULSANTE1 8
#define PULSANTE2 9
#define LED1 5
#define LED2 6

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED1,  OUTPUT);
  pinMode(LED2,  OUTPUT);
  pinMode(PULSANTE1,  INPUT_PULLUP);
  pinMode(PULSANTE2,  INPUT_PULLUP);
}

void sequenza3() {
  for (int i=0; i<4; i++) {
    digitalWrite(LED1, HIGH);
    delay(250);
    digitalWrite(LED1, LOW);
    delay(250);
  }
  for (int i=0; i<4; i++) {
    digitalWrite(LED2, HIGH);
    delay(250);
    digitalWrite(LED2, LOW);
    delay(250);
  }

  for (int i=0; i<4; i++) {
    digitalWrite(LED1, HIGH);
    delay(250);
    digitalWrite(LED1, LOW);
    delay(250);
    digitalWrite(LED2, HIGH);
    delay(250);
    digitalWrite(LED2, LOW);
    delay(250);
  }
  for (int i=0; i<2; i++) {
    digitalWrite(LED1, HIGH);
    digitalWrite(LED2, HIGH);
    delay(800);
    digitalWrite(LED1, LOW);
    digitalWrite(LED2, LOW);
    delay(800);
  }
}

// the loop function runs over and over again forever
void loop() {
  if (digitalRead(PULSANTE1) == LOW) {
    delay(50);
    if (digitalRead(PULSANTE2) == LOW) {
      while (digitalRead(PULSANTE1) == LOW || digitalRead(PULSANTE2) == LOW) {
        delay(1);
      }
      sequenza3();
    } else {
      while (digitalRead(PULSANTE1) == LOW) {
        delay(1);
      }
      for (int i=0; i<4; i++) {
        digitalWrite(LED1, HIGH);
        delay(500);
        digitalWrite(LED1, LOW);
        delay(500);
      }
    }

  } else if (digitalRead(PULSANTE2) == LOW) {
    delay(50);
    if (digitalRead(PULSANTE1) == LOW) {
      while (digitalRead(PULSANTE1) == LOW || digitalRead(PULSANTE2) == LOW) {
        delay(1);
      }
      sequenza3();
    } else {
      while (digitalRead(PULSANTE2) == LOW) {
        delay(1);
      }
      for (int i=0; i<8; i++) {
        digitalWrite(LED2, HIGH);
        delay(100);
        digitalWrite(LED2, LOW);
        delay(100);
      }
    }
  } 
}

Commenti dei partecipanti

Ho apprezzato molto come il BgLug abbia reinterpretato l’attività ricreativa “sono giovani, + hanno bisogno di codice”, inventando una caccia al tesoro con costruzione dell’Arduino proprio come ha fatto Ada nel suo libro. L’evento di venerdì scorso è stato un esempio straordinario di come usare e declinare il progetto didattico formativo che FSFE ha messo a disposizione dei volontari, ma non solo! E’ un esempio di cooperazione tra un LUG e la nostra associazione. È stato anche affascinante osservare i bambini cimentarsi con il Software libero, mentre apprendevano cosa significhi controllare la propria tecnologia!

Marta Andreoli, Vice coordinatrice Italia

Vorrei fare i complimenti a mia sorella Gabriella Milanesi che è stata perfetta, pur avendo avuto solo un giorno di tempo per preparare la lettura, in sostituzione di un’altra lettrice.

Carlo Milanesi, Lettore del libro

La lettura di Carlo e la sua interpretazioni di personaggi, eventi e scene è vivace, coinvolgente, divertente. Spero di riascoltarlo al più presto.

Omar Lazzari, BgLug

Ringraziamenti

Vogliamo ringraziare la biblioteca di Dalmine, il responsabile Marco Azzerboni e Marianna e Lisa per essere state presenti all’evento. Il circolo dei narratori “Cerchio di Gesso” per essersi mossi per primi e averci aiutato a trovare il posto. Senza di loro l’evento non sarebbe stato possibile. Carlo, oltre che per l’attiva partecipazione, per averci fatto conoscere il Cerchio di Gesso e il circolo dei narratori.

Edit me on Gitea