Make it fun
If you want children to learn you need enthusiastic teachers and a curriculum. It also helps if the teachers know what they are doing.
When I did a college course years ago I used to sit at the back of the class and get on with my own stuff except when the teacher was stuck, then I'd show the teacher what they needed to do next, and then get back to work.
I've liked most of my kids primary school teachers, but it would be naive in the extreme to expect them to be able to teach programming. I'm sure a good number of the kids would manage to learn it if you gave them something fun to do. But lets face it they don't even teach trig in primary schools these days, how are they going to teach programming?
There is then the problem of keeping up to date. The subject moves so quickly.
Lastly there is the issue that most kids aren't going to end up in the IT industry. They probably all need to know about WP and Spreadsheets, like they all need to be able to read and add up. But that isn't computer science.
I had a discussion with an Indian support engineer recently. His take was that when he went through college IT was the hot prospect for good jobs. Now it isn't, even in Bangalore. He was intending to guide his kids away from it.