Yesterday was the future?
When we come to think of it, it is sort of funny: when I was in school, my current job did not exist. People who worked in computer science were often seen as “strange” individuals who did not often go out in the sun and mainly ate (cold) pizza. We did not talk much about programmers, let alone Scrum or Agility.
In this context, the computer courses were given in classrooms. That’s where we would learn how to use computers.
And that’s where I learned to create files and directories, to copy items from a floppy disk to the computer, and vice versa. We were taught the MS-DOS commands.
“Dear students, pay attention, this indeed will be useful in your professional life!”
A few years later, with the evolution of human-machine interfaces, the command line was no longer the unique way to control a computer. I then understood that the knowledge I had gained during the course I had taken was useful for the computers of that time. It was preparing me for the world as it was back then, but not to the world it would become! Computer science was considered complex and only accessible to a handful of people who understood how computers worked. At the same time, we had a Latin course to open our minds.
The future can be discovered?
Finally, it is by experimenting at home, configuring available memory to make a game work, installing pilots to have a sound card produce sounds, and managing conflicts between ports that my friends and I have learned a lot more. We had real problems to solve, and we exercised our ingenuity to find solutions.
Why am I telling you all this? Because these anecdotes contribute to demonstrating that we are at a turning point. We understand that the world, the society is continuously evolving. Yet what we are teaching to the new generation is how to operate in today’s world.
What if computer science was taught so as to open the minds of the new generations? In Think like a programmer, V. Anton Spraul indicates that if we draw our inspiration from logic problems, we can find simple solutions to complex problems. In my opinion, instead of teaching it as a science (an exact one), computer science should be classified in the category of courses that, like dead languages, open the mind and transform the way we are thinking. In school, that’s where we are generally taught not to make mistakes, while in computer science we learn more by making mistakes and experimenting. Then, we could blame the system, but that wouldn’t help much.
I can build the future?
The day I became aware of it, I realized that my mission, as a parent, was to show that it is possible to learn from experimentation. I found initiatives that make computer science accessible to children, such as Hour of Code, Devoxx4Kids, Coding Goûter and Girls Who Code.
I’ve watched girls and boys of all ages having fun building and programming LEGO® MINDSTORMS® robots, creating their video games using Arduino or Raspberry Pi, and above all taking pleasure in working together. That’s when I asked myself if I could share my experience as a coach and trainer with children. I had just taken the Training from the back of the room course. So, I decided to us that model to prepare a workshop that I was going to conduct in my daughter’s class, i.e., to about 20 children aged 11 and 12. In fact, I didn’t really know what I was getting into. I’m used to giving training courses in businesses and managing groups of adults, but I was not prepared for this incredible flow of energy! This half-day was a complete success. I used Sharon Bowman’s 4C model to prepare the lesson. If you want to give it a try, here is the lesson plan:
- Connections: The kids explored what they already knew about computer science. For 10 minutes, small groups reflected on different topics: what is a computer; the difference between a computer and a utensil; and what it is possible to achieve with a computer.
- Concepts: We then went into the details of computer science. Computers are powered by electricity, and the only thing that can be seen is whether or not the electrical current passes. Therefore, there are two possible states (figures): 0 and 1. Computers now understand numbers that are much higher than 0 and 1. Therefore, how will we represent them? Using an analogy with the decimal system (we only know 10 different figures), I introduced the binary system, the representation of numbers up to 16. Finally, we ended the activity with a coding/decoding exercise: based on a binary representation of the alphabet, they could send a message to the person next to them and decode the message they had received.
- Concrete practice: Here, we did our first exercise on paper in order to discover programming. Based on the Graph Paper Programming exercises found on code.org, the students had to write instructions so their neighbour could reproduce a black and white pixelated image using these five instructions: ⇨, ⇦, ⇧, ⇩, and (darken). We then reflected on how to optimize the code (how many instructions did you use for a specific drawing?) and bugs (who obtained an image that is different from what was expected?). Then, we were ready for the crowning piece: programming with Snap! After thinking about how to draw a square using simple instructions (move forward, turn right 90 degrees), they had the opportunity to use their imagination trying any instruction block available.
- Conclusion: We debriefed on everything they learned during the workshop. Everyone (the kids and the teacher) were surprised by the fun they had. They all wanted to do it again. That’s when I regretted not having prepared a document with useful links so they could keep on experimenting at home.
Some other day, the teacher told me that he had never seen his students as attentive and motivated for such a long period of time as they were that day talking about advanced topics. By experimenting and learning by themselves, the kids had the opportunity to familiarize with this environment and to develop nice skills during the practical exercise with Snap! It also encouraged me to repeat the experience. Besides, this year, two classes asked for the workshop! The future is very near, and that is our duty to pave the way for our children!