General Question

GeorgeGee's avatar

Should everyone learn to program computers?

Asked by GeorgeGee (4935points) November 17th, 2010

A generation ago, there was an effort to have everyone learn to program computers to “prepare for the future” and develop an “essential thinking skill.” Does anyone still think that’s necessary? Today it seems that many people feel the ability to use Google and send an email makes one “computer literate.”

Observing members: 0 Composing members: 0

24 Answers

gorillapaws's avatar

Computer programming teaches one logic, analysis, reasoning, and problem-solving skills. I think a brief introduction to the basic concepts of programming (loops and conditionals) probably isn’t beyond the reach of most, but there are more fundamentally necessary pieces of knowledge to have in my opinion. For example, there are millions of people in the USA who haven’t the slightest clue what science really is or how it works.

MyNewtBoobs's avatar

No, mostly because it’s hard to teach languages that are constantly changing and quickly becoming extinct for newer ones. People should have a basic understanding of how computers work, but I think broader science knowledge should be emphasized over just computers. There’s so much knowledge and so little time (and money), we have to be more picky with what everyone should learn than if we had unlimited resources.

meiosis's avatar

No. Just as everyone doesn’t need to know how to plumb in a shower, how to conduct double-blind scientific trials, how to get maximum yielding corn from a field etc.

Zyx's avatar

Humanity would greatly benifit from a programming language created just to learn programming languages. This would be no more difficult to learn than a board game and would represent the logical difficulties most often faced when programming or general thinking like a smart person.

EDIT: Humanity greatly benifits from educational programming languages ;)

MyNewtBoobs's avatar

As ubiquitous as computers seem to be, placing demands on them greatly disadvantages those who can’t afford what they already have to buy – ie, the lower class. There are just so many cheaper ways to teach logic, reason, analysis, problem-solving, etc.

gorillapaws's avatar

@papayalily for the basics of computer programming, one dosen’t even need a machine. You can write a program on a sheet of notebook paper. It’s a lot like doing an algebra homework assignment or something.

Zyx's avatar

@papayalily Also has a good point, though not having a computer doesn’t prevent one from learning a programming language…. Nevermind

@gorillapaws We seem to agree on a lot here…

CyanoticWasp's avatar

I like your thinking, @gorillapaws. You’re absolutely right.

And @meiosis, I think that people should know about and have the basic skills of plumbing, carpentry, nursing, farming, auto mechanics (diesel would be nice, too), sewing, cooking… you name it. Specialization is great for capitalism, and it works very well for us… now, and for the most part.

But if you know a lot about a lot, it makes it a lot easier to decide what to specialize in, makes you fit in better when you do, and makes you more valuable when you need to interact with “the plumber”, “the auto mechanic”, etc. instead of just blindly trusting that person’s skill and honesty. And learning logic and process design helps anyone do anything, from making a meal to writing a sentence.

However… I still think that basic language and math skills come first, and we’re not even there yet. Maybe “learning programming” would be an entry path into the more fundamental skills, in the same way that some teachers teach reading and math skills by having boys who are sports-crazy read accounts of games and analyze box scores in the newspaper sports pages.

marinelife's avatar

Should everyone learn to work on cars? It is the same thing. A computer is just a tool.

BarnacleBill's avatar

I think we have enough out-of-work programmers in the US. The trend is towards outsourcing that work to India.—

mattbrowne's avatar

Like @marinelife said. Of course not. Not everyone has to learn how to design or build a car. But everyone should learn how to drive a car. And some might want to change the oil on their own.

Zyx's avatar

@marinelife & @mattbrowne

It’s really not the same thing because computers are never going to go away and the one thing that will certainly stay similar over time is programming. Programming teaches you to express your logic purely, without the baggage of natural language.

With it you’re a robot but without it your an analphabetic beet farmer. Called Dwight Schrute.

Zyx's avatar

@marinelife I don’t know what your “Huh?” is about because you don’t know how to program. And when no one is left to tell you how the machines work because they’ve all been replaced with machines how are you going to survive? Programming is talking to machines and it’s been a priority since the industrial revolution.

You can call me Sheldon Cooper.

john65pennington's avatar

Today, computer skills are mandatory, if a person is to survive in the communication and information age.

Computers have two downsides: 1. humans depended too heavily on computers for just about everything in their social, financial, and security life. 2. the use of computers has made us a group of lazy and obese people.

roundsquare's avatar

@mattbrowne I agree with you if the question is about computers. But if its about learning logic, problem solving, etc… (as @gorillapaws) said, it could be useful.

Then again, I don’t think we’re ready for it yet. Computer programming is still seen as something you either “get” or “don’t get.” I think we still need to figure out how to teach the subject better…

mattbrowne's avatar

@roundsquare – Math is fine for logic, problem solving and so forth. And it might make sense that many people learn to create simple Word or Excel macros. Or perhaps a little Javascript to enhance their website. But good computer programming requires computer science. It should be offered as optional courses in high school, taught by teachers who know something about computer science. Unfortunately, many courses are labeled computer science, when it’s actually about advanced computer usage. Which is needed as well and a lot of students should pick this.

My advice usually is: if you enjoy math, become a computer scientist. We don’t have enough of them in America and Europe. When I try to hire one I know I’m competing against 5 other companies. Same for engineers. Same for many scientists. And the pay is good.

roundsquare's avatar

@mattbrowne – I agree with most of what you said. However, I think the problem solving is different between the problem solving you learn in math and programming. In any event, I think what I really mean is teach some algorithms in math classes. I.e. teach people who to do conditionals and loops and have them write an algorithm to do various things (print even numbers, print prime numbers, etc…). Maybe even teach them something about running time complexity (though that would be more advanced).

phaedryx's avatar

When I was in high school, geometry was a required class. It was mostly “proofs” which was how we were supposed to learn logic, analysis, reasoning, etc.

I’m a programmer, but I don’t thing everyone needs to learn programming.

gorillapaws's avatar

@phaedryx I do agree that it’s not an absolutely necessary basic skill, but the art of taking a complex problem and carving it up into several smaller, more easily solved, problems and working through the process is useful in so many different parts of life and career paths. Geometry doesn’t really get into this dimension of reasoning nearly as much as programming does.

MyNewtBoobs's avatar

@Zyx @gorillapaws Sure, you can do it on a piece of paper, but most teachers aren’t going to catch that you accidentally misspelled href as herf or something like that, but a computer will. You only really learn if you’re catching your mistakes. Plus, while you don’t have to do it on a computer, not being able to see the results sucks the fun out of it, and all of this is only good if kids will actually do it instead of spending class talking with friends or doodling or counting the dots on the ceiling, so I don’t see anyone but those who already want to learn programming doing it on paper.

Zyx's avatar

@papayalily None of what you just said applies to programming any more than to any other subject in school. Nothing is really applied and the teacher’s ability to control his students, and properly review their work, is already assumed with all other subjects.

The fact is math is taught is school and all that is is theoretical problem-solving. Programming is just an extension of this and no less important. In fact I’ve been thinking for a while now these subjects should just be taught together. It would then be a lot easier and more productive to divide people into different levels based on interest and aptitude. First day of school: logic 101.

And then after a few years we can have a vote to rename the planet “Vulcan”.

mattbrowne's avatar

@roundsquare – Good point, and yes, this would be a good idea.

Answer this question

Login

or

Join

to answer.

This question is in the General Section. Responses must be helpful and on-topic.

Your answer will be saved while you login or join.

Have a question? Ask Fluther!

What do you know more about?
or
Knowledge Networking @ Fluther