How things went at the reading of Ada & Zangemann in Dalmine
The first proposal of the activity “They are young + they need the code” in Dalmine closed successfully, albeit with some variations compared to the official idea of the FSfe.
For those who have not followed carefully, the event is carried out on Friday 27 September 2024 at 16:30 at the public library “R.L. Montalcini” in Dalmine.
Why Dalmine? The reason is that, upon suggestion of the narrators’ club, we made contact with the library of Dalmine who collaborates with the Digeducati project, hence the presence of their logoin the poster.
The event was carried out following next steps:
- reading of the book Ada & Zangemann
- treasure hunt through the reading rooms of the library
- assembly of electronic components on a breadboard to see leds blinking
Carlo e Gabriella Milanesi dealt with the reading while the second part was organized and managed Andrea Laisa, Andrea Flori, Marta Andreoli and Omar Lazzari and his daughter Sabrina.
The event is carried out exactly as planned. Below are the only small hitches presented:
- Carmela, the second narrator, has not been able to come on this occasion (but we are waiting for you to the next!), and she was very well replaced by Gabriella, sister of Carlo, also her theatrical actress for delight.
- one position of the treasure hunt has been moved
- the yellow swtiches with black ones have mixed
In short, little stuff :D
Animated reading of the book
The animated reading of the book Ada & Zangemann lasted about 50 minutes. It was performed by Carlo Milanesi and Gabriella; while one read, acting very effectively, using more voices and moving in front of the projected images, the other narrated the images and the context, summarizing it, at the end of each slide.
Thirteen were present children (9 males and 4 female), six mothers and clearly we of the staff and the librarians. The average age of children was around 8-9 years old.
The reading took place maybe with too little interaction with the public and after about 40 minutes a slight sense of restlessness began to spread among the children present, but we came to the end with everyone’s satisfaction.
Treasure hunt
The treasure hunt was organized by partially copying the style of the game proposed to the Maker Faire of Trieste in this way:
- the plants of ground and basement floor of the library were mapped by drawing on it a square grid, where each cell had its own coordinates
- scattered throughout the library were fifteen sheets on which multiple choice questions with three answers were printed; each response led to a subsequent grid box
- some right answers had electronic components or pieces of a puzzle to collect and use later
- the treasure hunt ended when the children had taken the four electronic components and the three sheets representing the photo of an Arduino shield for quick prototyping
- at the beginning of the race, a leaflet was distributed to the groups of children indicating the position of the first stage among those of the first level; to distribute the participants, each one started from a different point of the ring of the right responses shown in graph below
The questions were put in place before the begin of the reading by Andrea Laisa and Sabrina. At the end of the reading, Omar explained how to play ot the treasure hunt, distributed the initial positions and, during the time of the research, he prepared the Arduino cards to be used. As Ada had done, even the small spectators would have turned on their first LED with recovered pieces. The older children carried out the activity independently while the little ones composed groups and, led by Andrea Laisa, Andrea Flori, Sabrina and Marta, they ventured through the book shelves.
Graph and map
The questions have been designed in the form of a graph that would allow the organizers to start children from a random first level demand in order to prevent children from starting on the same initial question.
The questions are structured as follows:
- the first level, the circular one with the “right” eight questions, had envelopes with electronic components or part of the photographic puzzle (sevent parts)
- the second level of “wrong” questions, connected to the wrong answers of the first level questions, led to error messages that invited to turn back
- the third level consisted of messages to go back twice, both in the wrong answer version and in the right answer version to the second level question
- the questions were simple; all concerned the contents of the book, but two of these, the one in B2 and A7 required a bit of thinking
- the location was randomly decided with a small python script
import random
from itertools import product
combo = list(product([x for x in "abcdefghimnp"], range(1,8)))
random.shuffle(combo)
print(combo)
During the treasure hunt, there was a small hitch: the I4 position during the construction of the grilled map has changed, making it necessary to move the position of the application to I3 and modify the various references.
Treasure hunt solution
You can read the questions here.
(B2) Who might remember Zangemann?
The right answer is A7 (The founder of Microsoft). The reason is that Bill Gates also created a series of invention, but maintain control through the owner software. We do not know that there are presidents who have created software and who control remotely. Richard Stallman, on the other hand, was the person who gave away the free software revolution.
(A7) What is the moral of history?
The right answer is the G7 (It is better that the software are not controlled by someone else). This is the correct answer because the story was written in order to make it clear the importance of free software, through some main events such as:
- the modification to the skateboard software that prevented us from climbing on the sidewalks and reproducing music different from the favorite one from Zangemann and the modification to the ice cream machines that blocked its operation in the afternoon.
- change of Ada skateboard and friends to avoid blocking.
(G7) What did Zangemann want to do with computers during childhood?
The right answer is the I4 (put them on the skateboard) as written on page.6.
(I4) What did Ad Ada do with the objects found in the landfill?
The right response is the G5 (she mounted them to make objects) as written on page.9.
(G5) What did allow Z. to control his inventions?
The right answer is the H6 (a golden computer) as written on p.11.
(H6) Differences between hardware and software?
The right answer is C2 (the software control the hardware) as written on page.20 (and is correct).
(C2) The first Ada program?
The right answer is the A3 (make a light bulb flash) as written on p.22.
(A3) When did Z. send new programs?
The right answer is B2 (both) as written on p.16 and 25.
(F1) Which of these objects was not built by Ada?
The right answer is the E3 (water mill) as written on p.9.
(E1) Whode skateboard did Ada modify to go on sidewalks as well?
The right answer is the D2 (Toni) as written on p.29. This question has been designed badly, as D2 aims for a wrong answer instead of the right.
(C1) Which of these freedoms are not foreseen by the free software?
The rifght answer is the A1 (freedom to have software without paying) because it is not present in the official definition.
(A6) Which of these objects on the Ada desk during the experiment of the light bulb is oriented in the wrong sense?
The right answer is the E3 (the solder). The reason is because it is typically both the handle is held addressed to the opposite side with respect to the person, to reduce the risk of accidental scald, and because the temperature display is generally held towards one’s face.
(P3) Marie customized her skateboard too. How?
The right answer is the N1 (putting LED lights that changes color according to speed) as written on p.30.
(I2) What had always fascinated Zangemann as a child?
The right answer is the A1 (computers) as written on p.6.
Final Arduino design
At the end of the treasure hunt the children returned to the initial point where, together with Omar, they mounted the electronic components on a breadboard using the photo of the complete breadboard. Once all the components have mounted they connected the underlying Arduino (the breadboard was a prototyping shield like this), the power and performed the plan.
The functioning of the plan was trivial: the LEDs flashed in a different combination based on which button was pressed (left, right or simultaneously).
Electrical scheme
(We deliberately omitted to put LED resistances in series, to make children’s assembly easier. The chosen white and blue LEDs did not suffer too much due to the lack also considered the short operating time.)
Code
(The code is clearly written through programming oriented towards the result, that is to say badly and in half an hour :)))
#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);
}
}
}
}
Feedback by the participants
I really appreciated how the BgLUG has reinterpreted the recreational activity “They are young + they need the code”, inventing a treasure hunt with the construction of the Arduino just like Ada did in his book. Last Friday’s event was an extraordinary example of how to use and decline the educational educational project that FSFE has made available to volunteers, but not only! It is an example of cooperation between a Linux Users Group and our association. It was also fascinating to observe children try their hand at free software while they learned what it means to control their technology!
Marta Andreoli, FSFE Coordinator Italy
I would like to congratulate with my sister Gabriella Milanesi who was perfect, despite having only had a day to prepare for reading, to replace another reader.
Carlo Milanesi, story reader
The reading of Carlo and his interpretations of characters, events and scenes is lively, engaging, fun. I hope to listen to him as soon as possible.
Omar Lazzari, BgLUG
Thanks
We would like to thank the public library of Dalmine, the manager Marco Azzerboni and Marianna and Lisa for being present at the event. The narrators’ club “Circle of chalk” for having moved first and helping us to find the place. Without them the event would not have been possible. Carlo, as well as for the active participation, for making us know the “Circle of chalk” and the narrators’ club.