It is widely known that programming education fosters “logical thinking.
When you first start programming, even if you have an idea in your head for a game you want to make, you cannot program that idea the way you want it. After a while, you will be able to think of your idea in subdivisions, and you will soon be able to program stand-alone functions, such as “control the player with the mouse” or “enemy characters chase after you,” for example.
However, programming that integrates subdivided functions to form a game is a little more difficult. This is because it requires a logical and correct sequence. For example, if a player’s life is reduced by 1 when he/she hits an enemy character, and if the sequence (processing order) of the programs for the player and enemy characters when they hit each other is incorrect, bugs will occur, such as the player’s life continuously decreasing or the enemy character’s life not decreasing.
In the process of repeating trial and error to eliminate such bugs and to complete the game as desired, “problem-solving” and “logical thinking” skills are acquired.
However, I wonder if the “logical thinking” skills cultivated through programming will be utilized in social life as well. Looking back on myself, I can say that it has helped me when I create digital content, but unfortunately I cannot say for sure that I have learned to think logically.
I believe that there are other benefits to be gained from programming education besides the “ability to think logically. That is the experience of creating software (intangibles) such as games. If an idea for digital content or software is born in the future, it is unlikely that anyone will try to give form to that idea if they have no experience in creating software. Although the analogy may be large, the founders of companies that have created new digital content, such as Google, Amazon, and Facebook, have been passionate about programming from an early age. The experience and confidence that they have gained from programming their own games and other ideas will give them a boost when they try to develop digital content and systems in the future. It is now a matter of course to be proficient in using software, and the time has come when the ability to create is required.
However, I am not so concerned about the effects of programming education. I just focus on giving children who want to create games, animations, etc. the knowledge and skills to do so. I believe it is important to satisfy children’s inquisitive minds.