When picturing a ‘computer programmer’ we tend to imagine a smart, nerdy type spending his days and nights in the university library, studying books that are almost unreadable for the rest of us mortals. But is it possible to teach children how to programme in C++ or Java the same way they learn English at school?
Children have a strong capacity for acquiring new knowledge. Have you ever seen a child learning a language or to play an instrument? Compared to adults, their learning pace is incredibly fast.
So, why don’t we take advantage of this and start teaching them to programme in early childhood. That is what Laufey Dís Ragnarsdóttir and Rakel Sölvadóttir—computer scientists and psychologists at the Reykjavík University—thought and gave rise to ‘Children In The Land of Computer Games,’ a project that recently won the “Seed of the year 2011” entrepreneurial award from Reykjavík University.
Now in the process of setting up a research project to measure the effects of programming education on children, Laufey took time to answer some questions about this fascinating project.
What got you started?
We are two software engineers who decided to change directions and study psychology at Reykjavík University in the fall of 2009. Last year we were assigned to make an experiment in developmental psychology, and we decided to try to teach our children programming. We concluded that children as young as six years old are ready to learn how to programme. This also opened our eyes to the fact that nowadays we have great programming envi-ronments out there. This further enhances children’s interest and motivation to learn about programming.
The assumed problem with previous attempts to teach children programming was firstly that programming languages were too complicated, sec-ondly the assignments where uninteresting (e.g. drawing lines or computing two numbers) and thirdly that children didn’t get enough support and knowl-edge. With today’s technology, the first two obstacles are no longer a problem.
PROGRAMMING AS SECOND LANGUAGE
Isn’t it a very specific thing to teach programming to young children… it sounds more like a subject of a bachelor in computing?
The power of programming is not just for software engineers. If you are going to be a doctor, journalist or psychologist for example you need to know what technology can do for you and how you can use it. You need to understand technology to be able to use it for your own benefit whatever line of work your heart leads you.
Do you believe that programming should be like learning a second language at school, like English or Spanish?
Of course. All children should be able to write as well as to read. Programming is just like English, Spanish or Icelandic—you need to be able to read and write. Children today are getting to be specialists in reading computers, but to be able to understand technology you need to be able to write it as well.
What do you believe will be the consequences/benefits for the education system? And for children?
Studies have shown that teaching children how to programme enhances their logical thinking and their ability to solve problems. There will also be a benefit in the long run for our community. Hopefully more girls will choose the technology field as their career and for others that don’t choose the tech-nology field it can widen their opportunity in whatever career they choose.
Programming seems to be a complex subject for young children: What programming language do they learn under your plan?
Learning a new language comes native to children. A programming language is just a new language, specifically for communication between a man and a computer. This skill that children have in learning a new language starts to diminish after twelve years of age. Our research showed that children at the age six and nine are well capable of learning how to programme and show great interest. We should use this talent and have all children learn how to programme.
Nowadays there are several programming environments that simplify the first step of programming. This summer we are going to host a program-ming course for children aged seven to eleven. Children that attend the course learn to programme using the Alice 2.2 environment. Alice is an innova-tive 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a free environment and especially designed to be a children’s first exposure to programming, and it has an interactive interface. Children can drag and drop graphic tiles to create a programme. Alice allows children to immediately see how their animation programs run, enabling them to easily understand the relationship between the programming statements and the behaviour of objects in their animation. And for the computer pro-grammers reading this article, this includes object oriented thinking: statements, events, problem anticipation, all without daunting syntax errors.
Could you explain your method of teaching programming to children?
We will use a couple of methods to teach the children how to programme. For example, we will teach the children to use mind maps and flowcharts, this is to help the children to plan their programme. We will not just sit in front of the computer all the time, but also go outdoors and play games like orien-teering. We think that outdoor play and all other playing is also important while you learn how to programme.