Introducing children to the joy of programming
When I heard there was going to be a code school session for children at Futurice, it was clear I wanted to participate with my daughter Tilda, who is 4 years and 7 months old. The code school is an event where 4–9-year-old children come to learn elementary programming with their parents. Futurice organized it’s own internal event for employees in mid-February. The event started with a short introduction by our head instructor Tiina, also known as FutuDino, and after that we went straight into coding.
The environment used was Turtle Roy, where you use simple programming commands to create simple drawings. You can compose the basic commands into sequences and repeated patterns to create more complex shapes like circles and spirals. With some imagination the shapes can look like flowers or wheels. It is also possible to play musical notes, and compose them into songs.
At home we haven't been doing any programming yet, and overall we have spent very little time with computers, as Tilda very much enjoys traditional children's play with her little brother. She will probably spend quite enough time with different devices when she gets older, so I've been cautious about introducing her to computers so far. Tilda knows letters and numbers, but is not a fluent reader yet.
Teaching programming close to heart
I had my first contact with programming as a 7-year-old. I attended a computer club where an instructor taught us elementary programming with Logo and BASIC languages. The language used in Turtle Roy is very similar to the Logo language used at that time in the early 80's. The computer club operated for a couple of years, and I remember learning some basic algorithms at that time, for example the so-called bubble sort algorithm.
I got my first computer when I was 8 years old. During my youth I spent quite some time doing hobby programming. After high school I first went to study Cognitive Science at the department of Psychology. For a few years I considered myself a behavioral scientist and didn't do much programming. When I needed a minor subject, I somehow found myself completing courses at Computer Science. I also ended up as a teaching assistant at the Computer Science department in University of Helsinki, and at some point I was teaching the exact same bubble sort algorithm to students. I also did my Master’s thesis on a topic related to teaching programming.
After having been in the code school with Tilda I asked her opinion about it. “I only wanted to draw with the computer”, she replied. At some point we will try some programming again. In a few years she will look at programming quite differently than now. And whenever she or her little brother want, they will have a teacher available at home.
Create a positive first encounter
Computers have become an integral part of our lives. Even a very modest understanding of programming will help people better understand what computers are and how they operate.
Logo-based languages and environments are a suitable first encounter to programming because of the close mapping between the Logo commands and physical movements. However, these types of languages are not well suited for building interactive programs, which children love.
The ability to read and write will open the door for the child to traditional programming languages that consist of written text. A modern implementation of BASIC, like Small Basic, sounds intriguing as a first contact to these. However, some environments exist that enable users to create programs in a more graphical way, for example Scratch and Construct.
I am hoping that such a fun social event can trigger a deeper curiosity in how computers work. All interested children should have a chance to try their skills and imagination with programming. The next code school session at Futurice will be in March – I will be there sharing the joy of programming.
For parents participating in these sessions I have some tips:
- Bring a curious and active mind, but leave most of the ambition at home.
- Work together with the child. Let the child take the lead most of the time. Assist if needed.
- If the curiosity sparks, be prepared to look for more resources.
Enjoy and have fun!