|
|
|
|
|
by jongalloway2
5140 days ago
|
|
Good points. I agree that it's really hard to think about how to communicate things that are just obvious to programmers. But having spent some time teaching my daughter, I see some real value in starting with very (very!) basic programming. She was amazed that a one character typo made her program break. Nothing in everyday life - with the possible exception of government bureaucracy - is that unthinkingly inflexible. So she learned that computers follow directions explicitly, and what that means. She also learned the positive side of this - that she was in charge. The computer did exactly what she told it to. I think that's empowering and revolutionary. It wasn't magic, it was a simple series of instructions. From there, we've got a real basis on which to learn, ask intelligent questions, and figure things out. EDIT: I agree with the comments, a lot of things are unthinkingly flexible. and the one of the best things to learn about computers is that for the most part you can mess around without causing real physical harm. |
|
> Nothing in everyday life - with the possible exception of government bureaucracy - is that unthinkingly inflexible.
If you've never made anything else in your life, maybe. "I left one seemingly unimportant detail out and the whole thing exploded" is a statement you could make about a lot of things you might teach to kids-- fixing a car, baking a cake, shooting a gun, building a treehouse. Only difference is when it's code, the exploding is figurative, and if you just change that thing back it works again.
That's part of what makes programming so magical, especially for kids. You can break things completely with zero damage done. In fact, breaking things is one of the best ways to find out how they work.
On a tangent: when you work with computer-illiterate people, one of the things you notice is that they're a little afraid to physically touch the computer for fear of messing things up (which is presumably a common occurrence for computer-illiterate people). When you're teaching someone to code, the first thing you have to teach them is to stop being afraid to change things. Not because they won't break it -- they undoubtedly will -- but because breaking it is the point.
As with many activities, I suspect the main reason children display such an affinity for programming is not having to be trained out of such bad habits.