tags:

views:

273

answers:

5

Duplicate: http://stackoverflow.com/questions/366295/is-programming-for-the-elite-or-can-everybody-learn-to-program

I'm interested to know how you all look at the ability to learn programming. I'm a teacher and therefore struggling a lot with wherefore some just don't get it. Why is it so? Perhaps I'm not appreciating enough there thresholds for some of the concepts as variable, object and so on, or is it a problem with the school-context?

A: 

People have different talents and interests... I think of myself as fairly intelligent, but I still couldn't get the chemistry stuff in school. Or maybe it's because the teacher sucked? :)

Igor Brejc
A: 

A large number of students will probably just not care.

Are the students who cannot learn coming to you outside of class time to ask you questions? Do they seem to be engaged in learning the material?

It is always easier to learn something when you are interested in the subject. Some students may not have an interest. This will inhibit their ability to learn.

Is it also possible that some students are incapable of learning the concepts? Yes. Not everybody can understand everything, even with study. Some brains just do not hold the power to think like a programmer.

Kevin Crowell
A: 

Some people just aren't wired to think in ways that programming requires. Though I think it can always be overcome if they're interested enough.

As a teacher, the best thing you can do is think of several ways to explain a concept. The perfect explanation for one person might make zero sense to someone else.

Spencer Ruport
+2  A: 

I think that programming, like a lot of other things, requires interest, ability, and instinct.

Programming requires intelligence, but with sufficient motivation, care, and repetition (and good teaching) the vast majority of people could get it, in the same way that the majority of people could get calculus, geometry, economics, or psychology. Practice and exercise will also help.

However, there will always be individuals with an aptitude and instinct who can just grasp things right away (whether it is the correct modularization or a visualization of a problem in 3D geometry), and there will be people whose brains simply don't wire for it and might never be able to do it. Just like reading poetry doesn't make you a good poet, and going to the museum can't make you a creative artist.

As a teacher, you are usually limited by economic factors, so you always have to make tradeoffs in which part of the classroom will be bored and part of the classroom will not be successful. Each group requires different techniques and focus, and in most settings you get very heterogeneous and diverse groups.

Uri
+1  A: 

All people can learn to program about as well as they can learn to paint or play music.

Most will probably never get above an amateur level without years of obsessing over it. A few will be good right off. Many will not be able to get the interest to really understand it and will just parrot what you put in front of them (Just like a beginning art class, I'm sure).

Bill K