Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's easy to fall into that line of thinking if you always see "computer programming" as a single, integrated concept. It's not, although using computers is a great way to teach the actual concepts underlying the exercise.

Fundamentally (and one would hope that this part is made clear to students, teachers, administrators and parents), what is being taught and learned is a method for developing procedures. And I don't mean "procedures" in the context of computation, but procedures in general. I'm talking about the act of dividing a task into its component bits, determining what has to happen in what order, and deciding when things are "done" (whether that's in the sense of being absolutely complete or "close enough for government work").

Those are skills almost everyone needs in life. Programming computers or computer-controlled machines is a great way to learn those skills because of their (to anthropomorphise a bit) literal-mindedness. They aren't going to make assumptions about your desires or correct your meaning. They'll do what you tell them to do if it's at all possible, even if what you told them to do is wrong or stupid, or fail in a most ungraceful way (unless you also taught them to fail gracefully).

We may never reach a point where we need everyone to be able to write software, but we're beyond the point already where we need everybody to be able to give and take instructions.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: