6 ms·
May I suggest that instead of Python, if the aim is for children, you consider a block based language such as Scratch or MakeCode? I have a nephew who is ~8 an
by emacsen 5y ago
May I suggest that instead of Python, if the aim is for children, you consider a block based language such as Scratch or MakeCode?
I have a nephew who is ~8 and is doing absolutely amazing with Scratch in his classroom. He's making little mini-games, understanding loops, variables, and he's learning the all-important skill of debugging.
When/if he transitions from a block based programming language to one that's purely textual, I feel like that transition will be smooth based on his existing understanding and skills.
So if the aim is puzzles for kids, having a setting that they are more familiar with, such as blocks, might make it easier.
Just a thought.
- freediver 5y agoBlock based programming languages are a bad idea for teaching kids programming and I would argue actually counter productive. There is no need to 'transition' as BASIC, and nowadays HTML or Python, are simple enough for anyone to grasp (like every programmer ever did, some starting with C "even"). If a kid can't grasp BASIC/HTML/Python, they won't be a programmer (with or without Scratch).
- cpill 5y agoDo you have any evidence to suggest this is the case? a case study or something or is it just your opinion?
- freediver 5y agoEvidence is that every single programmer that exists in the world, and that started coding as a kid, had to and grasped a concept of a real programming language or they wouldn't be a programmer. I personally started coding at 8 with BASIC, using a book in another language (that I didn't speak) as a guide. This is the kind of thing a future programmer would do. I tried teaching programming to my daughter when she was 8. We started with Python and it didn't go. I thought maybe we should try Scratch like everyone is telling us to do. It didn't go either because she was simply not interested in learning programming. So a case study on a sample of 2 - does it count?
- throwaway47292 5y ago> So a case study on a sample of 2 - does it count? no :) What would you have done if she was not interested in learning math or literacy? Also when you were 8, you didnt have about 1 million developers making 500k per year trying to extract(and sell) every single bit of your attention in any possible way. From roblox to netflix to tiktok to supercell. It took us like 300 years to learn how to teach math, and we are still improving, we are getting new tools every day, just look at https://www.youtube.com/3blue1brown https://www.youtube.com/3blue1brown can you imagine how many people he himself has reached and inspired? People that previously thought: "math is not for me". We dont know neither pedagogy nor andragogy for programming, what is known is that tutoring + help software works really well (https://www.public.asu.edu/~kvanlehn/Stringent/PDF/EffectivenessOfTutoring_Vanlehn.pdf https://www.public.asu.edu/~kvanlehn/Stringent/PDF/Effective...), but we are still trying to find ways to teach mastery.
- throwaway47292 5y agoI dont know about the 'if they cant grasp BASIC' thing, but Scratch is not as inclusive as people think. My daughter was almost repulsed by it, but actually when I made a "laptop" (https://github.com/jackdoe/programming-for-kids/blob/master/projects/tty/pitop.jpeg https://github.com/jackdoe/programming-for-kids/blob/master/...) of a pi zero and a small screen that boots into vim, and she started to make python do things, basic math things, she was much more engaged. We made few arduino nano led controller, she helped to solder the mic sensors and etc, and also to program the delay between the 'claps', it just feels so real. I also bought pi4 game hat (https://www.waveshare.com/game-hat.htm https://www.waveshare.com/game-hat.htm) that she assembled herself, and then I uploaded a 'hello world' snes game, showed her some assembly. She played a lot of 'human resource machine' and '7 billion humans', and I was paying her sometimes 1 euro per completed level, and turns out it was time well spent. She also helped me with some work on Ben Eater's kit (especially the clock and some registers). I think the best lesson we had that got her hooked was when I made like 5 line python script that controlled the keyboard that was climbing an infinite staircase in Roblox using pyautogui. What I am trying to say is that some kids will respond to scratch and some wont, and either way I dont think you should say 'oh programming is not for them'
- emacsen 5y agoI think this depends on the age of the child and on the child themselves. Scratch is what they teach him in school, so that's what he knows. Scratch is also a real programming language- it presents differently visually, but the concepts are all there, except some that I doubt many children use- such as closures, generators, threads, etc.
- throwaway47292 5y agoof course, that was my point scratch is great if kids like it, it is absolutely real programming language, i meant that just my kid didnt enjoy it
- laurieg 5y agoBlock based programming languages are a bad idea for teaching kids programming and I would argue actually counter productive. I disagree with this. Block based languages reduce the amount of text on the screen (less dependent on reading skill), reduce the amount of typing (dexterity and keyboarding skills) and reduce the number of confusing syntax errors (important if the learner has limited patience and emotional control skills). All of these skills are important and can be learnt given time, but they are not the same as learning programming. The ideas of abstraction, repetition and problem solving are still there in block languages. If a kid can't grasp BASIC/HTML/Python, they won't be a programmer (with or without Scratch). We teach mathematics to everyone but don't expect everyone to become a mathematician. There's no need to handle programming education in such an extreme way.
- throwaway47292 5y agoShe didn't like scratch at all, says it feels patronizing, so I didnt push much, but she is doing fine with python and c.
- senectus1 5y agoyeah my 14 yr old son says the same thing about scratch and the other similar targeted languages. not surprising really he's taught himself c# to make games in unity.
- detaro 5y agoYeah, Scratch is is IMHO more an option for half that age.
- emacsen 5y agoI think there's a huge difference between a 14 year old and an 8 year old. Also there's a bit of cultural assumption going on here. Based on the amount of comments, the poster's child is probably a native English speaker. My nephew is not, and has only begun learning English in school. If the goal is "Let's make something for my child" that's cool and needs no change. If the goal is "Let's make something to help children learn programming", a more difficult and noble goal, then removing barriers such as English fluency, is a way to do that.
- throwaway47292 5y ago> the poster's child is probably a native English speaker She is not, but started learning english when she was 5 or 6 by watching netflix peppa pig in english and with english subtitles, now she is almost 11 and watches anime in japanese with english subtitles. What pushed me to do that years ago was Stephetn Fry's turn on the subtitles video https://www.youtube.com/watch?v=I-zISnJ-oao https://www.youtube.com/watch?v=I-zISnJ-oao (I cant actually find the one I watched at the time, but was the same content)
- senectus1 5y ago