At least three essays by Paul Graham ("pg," the founder of this site)

http://www.paulgraham.com/hs.html

http://www.paulgraham.com/love.html

http://paulgraham.com/determination.html

have referred to people making excuses for being lazy. I really like his expression of this idea in his essay "What You'll Wish You'd Known," the essay that drew me into reading his essays regularly, which eventually led me here to Hacker News:

"If they were just like us, then they had to work very hard to do what they did. And that's one reason we like to believe in genius. It gives us an excuse for being lazy. If these guys were able to do what they did only because of some magic Shakespeareness or Einsteinness, then it's not our fault if we can't do something as good.

"I'm not saying there's no such thing as genius. But if you're trying to choose between two theories and one gives you an excuse for being lazy, the other one is probably right."

It seems undeniably true that any teacher of any subject will encounter some students who, as the teacher finds them, seem to "get" the subject right away, and other students who struggle to understand even the most basic principles of the subject. But if the teacher gives up on the struggling students, the teacher is just being lazy. Israel M. Gelfand, a mathematician who was a great mathematics teacher, once wrote, "Students have no shortcomings, they have only peculiarities. The job of a teacher is to turn these peculiarities into advantages."

The submitted article on arstechnica includes near the end a promoted reader comment that is very good:

"They were supposed to be learning Java, but there were always at least three students who didn't 'get it.'

"My solution was simple; get them as far away from the computer as possible (since programing is not dependent of computers), and have them "program" a group of people by giving one instruction at a time to do things like pace a room, or throw a ball. I'd teach them loops and the like by doing this for about fifteen minutes. It was fun and simple.

"After that, they'd be ready to Pseudocode, which meant they were ready to use Python. I'd have them write a working version of their homework in Python, THEN I would have them translate it to Java. Java was just too much as a first step (I will never understand the reasoning of teachers who introduce students to programming on anything other than Python). The problem was always that the class needed to be broken into smaller pieces that could be conquered, which in turn encouraged the once failing students. Victory is addictive."

That's what an effective teacher does--change the context of instruction, and draw in students with connections to what they already know. Some students entering a programming class would be ready to move beyond the approach suggested in the comment, and those students should be allowed to plunge right in to actual programming in a high-level language, but so far no one has developed a rigorous demonstration based on careful experiment that students smart enough to be admitted to an undergraduate degree program have some kind of invariant lack of ability to learn programming if at first they don't "get" the basic beginning steps in a typical programming class. Try a new approach and see what happens. Don't accept an excuse for being lazy as a teacher.