Kids do program - Experiences from the course
What's all about?
For a few months now I have been offering sar3edu a programming course for children (Kids program). In this course, children and young people from around 8 years of age get to know the basic concepts of software development in a playful way. They sit in front of a computer for two hours on Wednesday afternoons and try to program a game or create an animation with Scratch. The pupils see this programming learning environment in part at school, as it is part of the learning content in many schools. The environment is also translated into German, among other things, so that you don't have to learn a new language - namely English - to understand the program code.
I would now like to give you a little insight into what I experienced after the first course. Where did we start, where did we come from? What have we changed and what will we change.
I am not a trained pedagogue or teacher. I am just a nerdy dad who wanted to bring his daughters closer to the computer world and technology ... and to show a little something different from what the mother does with the handicrafts and painting with them.
Structure of the course
The course is fairly loosely structured and contains no rigid structure. The children have the opportunity to get to know existing projects as end products and in the source code. They play through the programs, they see how the program is structured. And although it is sometimes very complicated, you will usually find the entry points and the distinctive points where you can change something to see an effect in the game.
I originally wanted the kids to tell me which of the programs and games they found that we should emulate. However, I found that what they had in mind is hardly feasible for a few hours a week during the course. Nevertheless, I pick the most striking points from the wishes and try to assemble a game that can be created in 2 hours if you program the game together step by step.
The first course is intended for getting to know the surroundings. You get to know the individual components and the different levels. Where can you adjust a figure? How to add new characters How do I change the background. The first concepts follow automatically. If I want to do something over and over again, then I have to use a loop. Where can I find them? Aha in the "Control" category. There I also find that I can repeat it in different ways. B. only get 10 times again, or continuously.
From the second course on, we first play a prepared game, then we build it, step by step. During this time there is room for individual adjustments. A beetle becomes a robot and the apples it is supposed to eat become screws. We linger a little longer in difficult places because the concepts are sometimes very difficult to understand. However, by substituting certain components, you can playfully see why something has to be used instead of something else that you might have originally thought. The result is always immediately executable and visible.
At the end of each course day there is always about 20 minutes to individualize the finished game ...
The instructor is amazed
... and exactly with this individualization I was flabbergasted a few times. The children come up with ideas that I would never have considered. Program parts are changed which change the function in the desired direction. It is simplified or made better and more precise. Learning by doing works wonderfully with the children.
Since all functions of the Scratch programming environment are available for use, the children also add them to the finished programs and games. Because these are easy to read and understand in German. So instead of a fixed number 25, a "random number from 10 to 30" can change the game significantly. For example, the speed of the moving parts. Instead of moving all equally, they now move differently. A whole new dynamic emerges.
The children participate actively, learn quickly and are extremely creative. I would not have imagined it that way. At the beginning I prepared the course with my daughters and I noticed these peculiarities. If you show them the tool, they can build something with it. However, they are not limited to what the original purpose of the tool represents, but expand the purpose at will. According to the motto "as long as it works ... everything is fine".
I would like to mention here that after about an hour of class we take a "mandatory break" of about 10 minutes, during which the children are allowed to drink, nibble and not sit at the computer. They chat and play non-virtual. I originally thought that there was no need for a mandatory break and gave a 10-minute break without restrictions. However, the children were so immersed in the screen that the compulsion had to be introduced. You could also concentrate much better after a forced break. A possible problem was solved more easily because the break had given you a certain distance to the problem. Everything as it is in real working life. Nothing new here.
At home, it continues - addictive potential
After a course, the student would like to go home and continue. The parents say that the children can hardly wait until the next course. At home, people continue to work, play and learn. Since I see the potential for addiction as a whole, I naturally generally recommend limiting the time on the computer. Not only for television, YouTube videos or gaming but also for programming.
I let my children sit in front of the computer or television alternatively for a maximum of two hours a day, and there are digital days off twice a week. They play, do handicrafts or play non-virtual.
The course "programming kids" showed me that the children can know more or learn better than I could ever imagine. Instead of memorizing, the most important programming concepts are successfully applied through playful learning. The children are happy and so far the parents too. The children partly understand the complicated concepts, not explicitly, but clearly through the handling of these when individually adapting the jointly created programs.
I would like to incorporate more freedom into the next courses, i.e. give the children more time to implement and test their individual wishes. We will probably introduce in between a course day with purely free programming. The overarching categories of software development will also be introduced, such as planning, feasibility analysis, etc. Furthermore, the next course will be an ongoing one with no beginning and end. The new children are quickly introduced to the system and should work on larger "projects" with the already experienced children as soon as possible.
Further informationen on sar3edu.
sar3 makes websites, develops and educates about tech stuff in Einsiedeln (Switzerland). We maintain nearshoring projects for diverse Swiss companies on the Balkan esp. in Serbia. We do YouTube for fun. Learn more about us here.