If it hapens in the whole profession, maybe no one has yet discovered a good way to teach it, because most of the people who understand the topic were autodidacts.
A lot of effort has gone into trying to invent ways of teaching programming to complete newbies. If really no-one has succeeded at all, then maybe it's time to seriously consider that some people can't be taught.
A claim that someone cannot be taught by any possible intervention would be a very strong claim indeed, and almost certainly false. But a claim that no-one knows how to teach this even though a lot of people have tried and failed for a long time now, makes predictions pretty similar to the theory that some people simply can't be taught.
As a model, imagine that a programming ability is a number. You come to school with some value between 0 and 10. A teacher can give you +20 bonus.
This model matches the known facts, but it doesn't tell us what we really want to know. What determines what value people start out with? Does everyone start out with 0 and some people increase their value in unknown, perhaps spontaneous ways? Or are some people just born with high values and they'll arrive at 5 or 10 no matter what they do, while others will stay at 0 no matter what?
I don't know if educators have tried teaching the concepts you suggest explicitly.
A lot of effort has gone into trying to invent ways of teaching programming to complete newbies. If really no-one has succeeded at all, then maybe it's time to seriously consider that some people can't be taught.
http://www.eis.mdx.ac.uk/research/PhDArea/saeed/
The researcher didn't distinguish the conjectured cause (bimodal differences in students' ability to form models of computation) from other possible causes (just to name one — some students are more confident, and computing classes reward confidence).
And the researcher's advisor later described his...
Another month has passed and here is a new rationality quotes thread. The usual rules are:
And one new rule: