Direct instruction is hot! Whereas in the 1990s we heard a lot about discovering learning, we are now slowly seeing a renewed interest in the ‘direct instruction model’ in the Netherlands. Both in language and in mathematics there is a new interest in rote practice of knowledge (“stampen“). As that is not a surprise, since research keeps showing that direct instruction—explanation followed by a lot of focused practice—works well. It not only works well, it also equalizes: it does not matter what knowledge children already have (received at home), everyone has equal chances to acquire the basic knowledge. That is why research also shows that direct instruction works especially well for weaker pupils.
When I started giving programming lessons to children about six years ago, I knew nothing about direct instruction. I just wanted to help children with learning to program! Like many extracurricular programming teachers, I was primarily a programmer. I opened up Scratch accounts for the kids and said: go, make something fun! There was not much explanation. Unconsciously, I think I wanted to give those children the same experience that I had when I learned how to program: alone in the home office of my father, frantically copying hundreds of lines of of computer codes until I finally had a game.
The 80’s
That is what makes programming lessons so different from any other form of education. When I think of when I learned playing the piano, or cycling or reading as a child, there was always an adult involved who helped me with lessons and practice. But because there were very few people in the 1980s who could program, most people of my age have learned to program themselves. So as a group we do not have a collective memory of what a lesson looks like, and we thus fall back on our own experience of learning programming: discovering yourself and a lot of freedom (and lots of patience).
It is no coincidence that programming education has a very strong tendency to self-discovery learning by the way, it is not only because the thirties and forties of today have taught themselves the subject. The pioneer of programming education, Seymour Papert, who taught children’s programs in the 1960s and developed the first programming language for children, was a student of Jean Piaget. Of course we know Piaget from the four phases of development of children, but also as the father of constructivism: the idea that everyone who learns himself constructs his own version of reality. Piaget said about Papert: “Nobody understands my work better than he does.” You can also see Papert’s vision in a programming language like Scratch today. Everything is possible, and there is little guidance if you are stuck. Not surprisingly that research shows that many children drop out and then many children remain on a plateau in terms of programming level.
Help
This research underlines the idea that children need help with learning to program because they will get stuck otherwise, drop out and decide programming ‘is not for them’. I think that especially girls are even more likely to drop out, since they are prone to have lower self-efficacy about programming. My own research showed that high school children find it difficult to read code aloud, let alone that they can understand it independently. So, although we can of course only respect the vision and commitment of Papert that all children must be digitally skilled, it is also time for programming to embrace direct instruction. Just as we practice and practice the tables and grammar we also have to rote memorize the ifs and loops, if we want all children to learn well.