Little background info here: my kid, will be 9 in few days, started computers were early. Mainly he was playing. Minecraft. Then seeing how he is interested, I bought him couple of online training subscribtions on math, logic and etc. He seems to be doing ok, so far I can judge. About three months ago we started Python together. Very basic online Python course was done easily. Currently he is doing Codecombat. And here I see a problem. When he is doing Codecombat, I think he is stragling on tasks where an ability to solve a problem is more important than just writing a Python code. I think he is interested in programming, and he is enjoying it. However, his problem solving skills still needs to be improved. What I know is that, it is not the programming language makes you good developer, but the ability to solve problems. So I thought, how can I help him with improving his problem solving skills. The challenge here is that he is only about nine years old, and just buying him couple of books, or online courses will not help. He mights get dicouraged.
So the questions for the community is: how one should help kids improve their problem solving skills? Is there any gentle method of introducing them to the field? Books, games, online courses? What was your experience, if any?
Thanks a lot in advance.
Play the “robot game” with the kid.
You are the robot. Give the kid a task to write (in other words tell) a program that you, as the robot execute – step by step.
Let them do simple challenges from puzzle books (yes, normal logic puzzles, like in the newspapers).
Problem solving, like anything else, is an acquired skill that needs training.
Maybe get them something like Lego Mindstorms, or some toy robots to program, or Roblox. Anything where they can see something visual.
Get him away from programming and programming languages.
Seriously. Get him playing games and puzzles. Get him to try a Sodoku puzzle, play with a Rubik’s Cube, hell even play Clue (Cludeo) with him.
My point is, get him solving problems that aren’t specifically in code or on a computer. Problem solving is a skill within itself that applies to many areas of life, not just when coding. Solving puzzles and playing games will help develop his analytical and problem solving skills. Additionally, by using games/puzzles, you’ll make it fun for him.
If you take something like Sodoku, once he learns there’s essentially an algorithm to figuring the puzzle out, you can even encourage him to try and implement it in code.
There’s a book I’d recommend – “Think Like a Programmer” by V. Anton Spraul. He’s probably too young for it, but it’s worth you reading it as it’ll hopefully give you some ideas how you can develop his analytical skills.