Hacker News new | ask | show | jobs
by codingdave 3799 days ago
Most people are not going to be novelists, but all students learn to write. Most people are not going to be mathematicians, but they all learn basic math. Sure, if you are bad at it, it will frustrate you. Go talk to any 10 year old and you will find this is already true for existing subject. Pick any subject - learning it in school doesn't mean you are going to do it for a career, but it is part of education so that you understand enough to get by in a world where those subjects are important. It is also an opportunity for kids who do excel at it to learn that at a younger age and have more time to develop their abilities. but we are talking about basic education, not bootcamps to turn every kid into a coder.

Also, the existing programs are finding that you don't need, or even want, computer science teachers to be teaching kids. You want professional educators, who understand children and their development, to teach kids. Again, we're talking a basic level of curriculum, so having a professional elementary educator learn a new curriculum is working quite well already.

As far as actually developing that curriculum, code.org is a really good basis for it, which many local programs are using. most supplement it with additional material, and I know of at least one program that is funding grants to districts to develop their own local programs, while at the same time formalizing curriculum in a way that they can be shared nationwide with districts that have not yet had the resources to create their own.

This is not a new idea coming from the government that needs to be tried - it is an existing idea already succeeding in some districts that may receive funding to expand.

2 comments

In an average person's day to day life they will read and write things. They will also have the opportunity to perform basic math. Sales, left over change, how much time is left. They may even use a computer. But the average person will never even come close to programming at all. Let alone on a regular basis. I think it is important to have it available. It might be worth introducing it as a small subject. But programming is not easy, and not useful enough to teach as a basic subject
It wasn't that long ago that you could have said the same thing about the avarage person never even coming close to reading/writing. The avarage person doesn't come close to programming largely because they don't know how. Improving our education & tooling will go a long way to solving this.
I'm of the opinion the average person doesn't do any program because they have no idea how it can help because they have no experience doing any. Its hard to use a tool to do something if you have no idea what the tool is even capable of.
Think about all the little things that you do with your computers that non-technical people wouldn't do. If you couldn't do math you would have to trust that your change was correct or derive some counting based mechanism. If you couldn't write or read you would need to rely on memorizing things or ask people who could.

While it might not be "real" programming I would suggest that basic exposure to programming in school would make the following activities (not limited to them obviously) more accessible to the population and it would be a Good Thing (tm)

* Figuring out why their computer/gadget isn't working

* Writing small scripts and/or using scripty features like functions in Excel

* Be a more informed customer of technology products

* Find software to address solved problems (just knowing to look is half the battle here)

* Better understand URLs (improve computer security, know that it's a stupid listicle and don't bother clicking, etc)

I'm sure there's more good things and would love to hear others. I tried to keep them on the same order as being able to read the fine print or balance a checkbook style benefits since we've decided that education shouldn't imply to children that they could grow up to be authors or mathematicians (kidding!).

It's not an easy subject at all but even just understanding the basics are hugely helpful in terms of un-abstracting the machines we use every day. I think it's hard to overestimate how much easier life is when you can address more of your own problems.

Let's say there's a program that takes a list of things and prints envelopes or something. If you or I submit the list and it keeps dying on me, but another list worked fine, I'll probably check the list that doesn't work. Hm. Oh look, there's an umlaut in this guy's name, maybe it doesn't accept unicode [s/ΓΌ/u, try again].... awesome, it works.

You only need to have been exposed to loops and character encoding and bad input to have that be your response instead of "GAH! THE MEAN PROGRAM HATES ME!".

It's a contrived and simplistic example but just watching my family around technology is kind of fascinating and sad because there is definitely a kind of mental tax or anxiety about what they perceive to be the pernicious beyond-control nature of their devices. Maybe that's actually the best reason to expose kids to programming: in order to avoid a sense of helplessness and that these machines are controlled by magic wielded by others. Given the overwhelming influence that programs are playing in people's lives it almost seems unfair not to expose people to the basic mechanics of how they work.

I agree with you. Just some people can't handle math/physics/literature/or whatever doesn't mean we shouldn't teach. The key is going to be how well they deliver the material. If done well it could encourage people on the fence. If done badly it could scare away potentially good programmers.