> I'm now glad no one ever introduced me to coding when I was a kid.
I wouldn't throw out the "learn to code" baby with the "poor rote education" bathwater. Clearly that's a bad approach and is pervasive throughout schools around the world, and we need to stop it. There are many ways to learn how to code, and we're constantly developing better ways to educate millions of kids (I hope). But asking programmers today the best way is survivor bias -- many/most of us are self-motivated and had to learn large portions of what we know on our own.
I wouldn't give up on your niece, either. Different people are motivated differently, and timing matters, too. She needs to find the right itch, and she'll soon learn to scratch it.
> There are many ways to learn how to code, and we're constantly developing better ways to educate millions of kids
Making it a compulsory part of education does not seem to be a "better" way to do it. Let's not push things that will be useless to most kids until they develop some interest for it, or for solving problems in general. Then you can bring programming as one tool to help solve issues, in a better/faster/cheaper fashion. Programming for the sake of programming has no meaning, just like we are being taught Math for the sake of Math. Education needs to be way more tangible and down-to-earth, at least for younger children.
> Programming for the sake of programming has no meaning, just like we are being taught Math for the sake of Math. Education needs to be way more tangible and down-to-earth, at least for younger children.
I think we're agreeing. I don't think it's useful to teach computer science at early ages, but rather using programming as a practical application of critical thinking, logic, problem solving, and mathematics. Completely agree that it needs to be tangible, with instant, visible results that they can relate to. I think the MIT Scratch project is a great approach (code.org features this).
If @kamaal's niece is drowning in pointers, they're doing it wrong. But I don't think that programming should be universally excised from the curriculum as a result.
> If @kamaal's niece is drowning in pointers, they're doing it wrong. But I don't think that programming should be universally excised from the curriculum as a result.
Teachers cannot be expected to teach everything well. I was also part of the 80s experiment in my country to have mandatory computer training as soon as primary school, using BASIC and the crappiest hardware available at the time (Thomson's !). The assignments were stupid, the teachers incompetent, and the students bored by what they were asked to do. If you want to teach programming to young children, you will find most of them have geniuine interest in video games and would probably enjoy learning how to program one from scratch, but no, Education is a top-down thing in most countries and the programs are elaborated by people who have no understanding of computing, of education in general and no interest to serve the students but rather show off how "progressive" they are vs other countries or other governments. How could positive results come out of it ?
I am rather for the accessibility and the awareness of good materials to learn how to code online, made to demonstrate how to build actual projects with it that can be useful in some way. In the garage programming days of the 80s what was missing the most is the ability to meet other folks like you who loved programming and to learn from them. Now, with the internet, that boundary is more or less gone and the sharing of up-to-date, re-usable, practical information does more good that all the training you can implement in schools, training which will go obsolete in a matter of years.
Agree completely about Scratch. We have a love/hate relationship with it--it gets about 80% right but it isn't pretty and onboarding is a struggle. Scratch 2.0 will be coming soon with some improvements but still in Flash (!!)
The great thing about visual programming languages is that kids can focus more on the concepts and less on bugs due to syntax/typo errors. We're working on one for the iPad called Hopscotch - gethopscotch.com.
I wouldn't throw out the "learn to code" baby with the "poor rote education" bathwater. Clearly that's a bad approach and is pervasive throughout schools around the world, and we need to stop it. There are many ways to learn how to code, and we're constantly developing better ways to educate millions of kids (I hope). But asking programmers today the best way is survivor bias -- many/most of us are self-motivated and had to learn large portions of what we know on our own.
I wouldn't give up on your niece, either. Different people are motivated differently, and timing matters, too. She needs to find the right itch, and she'll soon learn to scratch it.