Although, as an expert in information management, he is primarily involved in data warehousing and business intelligence, in recent years, he has also been fascinated by programming languages for children such as Scratch. Read the article by Petr Hájek that summarizes his experiences and impressions from teaching a programming course for children in collaboration with makeITtoday.
Many years ago, I got the idea to start teaching children about programming in an afterschool class at primary school. But I wasn’t able to find the courage to do it back then. This was partly because I hadn’t been very successful in inspiring my two daughters, who were in first grade at the time, to try programming. But about two years ago, at a Profinit garden party, I came across a stand for makeITtoday, which organizes programming courses for children. I’m not exactly a master of small talk at garden parties, so I clumsily began to tell my story of not teaching. As luck would have it, they were looking for recruits.
This year in January, I finished my third semester of teaching the simple programming language Scratch. In Scratch, children have basic code blocks, so they don’t have to type the entire script on the keyboard but can conveniently drag and drop most of the code. Scratch allows complete beginners to get into programming—some of the children in my new course that started in February are only in second grade. Yet, in Scratch, they can do quite complex projects, including connecting a program to artificial intelligence (that runs on the cloud on the server https://machinelearningforkids.co.uk), and more advanced children can spend one or two lessons trying to teach a neural network to recognize images or numbers. (They take pictures using the camera in the computer running their Scratch code, which will tell them if it sees an apple or a pear).
My initial motivation was to show children, for example, that computer games wouldn’t only have to be for passive consumption. They could also learn to actively create them. But now, I’ve worked up the ambition to show them that learning isn’t synonymous with school, boredom, poison, duty, and discipline. And in those less than 20 lessons a semester, you can easily learn quite a lot. Right now, the conditions aren’t as good because the classes take place online, but actually, the young course participants can perhaps cope with that better than the adult instructors. From the beginning, I’ve had the feeling that I will always be learning something new myself. I’ll learn by teaching. Right from the start, I realized that the goal isn’t to have everyone complete a perfect project by the end of the lesson, but rather for each student to make individual progress compared to what he or she already knew initially. And that the best feedback from children is a spontaneous “aha!”
I’ll also dare to boldly challenge Comenius’ principle that curricula should move from simpler to more complex. It turns out that the human brain absorbs information organized in ways other than from starter to dessert. So, when teaching, we do not wait for everyone to be able to say the exact definition of a variable; instead, we immediately run a more complex program that works with variables. Children often absorb it much faster. I imagine how apprentices (usually still children) used to learn a craft—they watched how the master did it and soon figured it out. And they also saw what they were doing better, what exactly was better to do according to the master, and on the other hand, when they should do things their own way and do what they enjoy more. No one invented simplified artificial examples for them, but rather, they were assigned simpler tasks on ordinary large contracts. I certainly don’t think that they started with theoretical preparation by learning about the history of carpentry or that they wouldn’t be allowed to use a planer until they could name all its parts.
Another advantage is the broader age range of the children in the class. The youngest is eight, and the oldest in my class is 20. It is actually a bit unfair for the older ones because the younger ones make relative progress much faster and learn a lot more than just programming before other children. (Even the second-graders have to work with negative numbers, angular degrees, and English expressions.) In addition to teaching programming, I now, coincidentally, have the opportunity to observe first-hand how children learn through unschooling, and it has confirmed for me the same finding. At preschool age, in a number of skills (such as mathematics), children playfully reach a level considered to be third-grade competence. They multiply numbers well. They just don’t know that others call it multiplication.
In conclusion, the project that involved rendering an infinitely evolving, miraculous Mandelbrot set was probably the most popular in my class. It’s an effective trick to inspire children with a graphic object that even some rational mathematicians call sacred geometry. Of course, the children have no idea about the magic of complex numbers, and they received a large piece of code (albeit not extensive) from me. However, in addition to the endless zooming of strange spirals, they tried to render a small change to literally one line of the program instead of a fractal set with a simple (though also beautiful) circle and another change to the same line of code displayed a disordered swell of coloured dots that those of us who are older know from television once broadcasting ended for the night. What’s rewarding for me is the idea that I may have shown them, beyond just programming, how little difference there is between chaos and infinite order. Should they wait until university for this?
And so, one of the students spontaneously asked, “And why don’t we learn about it in school when it’s so interesting?” I slyly suggested he ask his math teacher.
Author: Petr Hájek
Information Management Advisor