Teaching them in kindergarten. No kidding. We may stop at the basics, but every child of 12 should know how to make simple toy programs in a toy language, so they can feel that computers aren't magic.
I did Logo in 3rd grade, and I can say it was a good thing for me. You might be on to something there. I have always felt that the first thing any computer eduction should entail is drilling the following into peoples' heads: computers are machines that only do exactly what they are told to.
I'm three years into a CS degree, and have studied computers at every level from the logic gates to operating systems to high-level languages. I'm still not convinced that computers aren't magic.
Well, they are magic, in a sense: you scribble weird formulas on them, and that makes them do stuff. In every other way, it is not. Computer obey understandable rules. You don't need aracne knowledge to grasp the basics. It's not dangerous to know a little of the thing without dedicating your life to it.
I agree fully. I think what's magical is that even though I understand computers at all these different levels, I'll never be able to hold all the parts in my head at once, so at any given time I'm left believing that some part of the system involves magic.
In another sense, I think there's "magic" in the sense of "wonder". Even knowing how some piece of technology works, I find myself constantly in amazement and wonder that it does work.