I have to disagree. OP might be right, but before we establish that conclusion, we have to try these things first:
Teach coding from young age. Are you really surprised that 18 year old CS undergraduates fail their intro to programming when they have to learn in 11-22weeks what probably took me say 6 years to learn between the age of 11 and 17? I have a CS degree, but I'm also self taught.
We have to acknowledge the vast breadth of the field and split the teaching to different paths. There is a reason we have chemistry and biology and physics, although it's all just physics. And we start splitting super early on. The same is needed for coding.
And I agree with OP that the perception of the field is selecting (self-selecting), and again we have to change that before we assume that people are born to be programmers.
Also, they didn't add up the numbers, it's over a half with a CS degree (gotta count masters).
Well that's exactly the OP's point. Do you need to start learning to be a surgeon at the age of 11? Or architect? Or electrical engineer?
If you say that you need to start to learn programming at the age of 11 then you acknowledge that programming is like music or painting or mathematics, the earlier you start the better you will be but only if you have aptitude for it. If you don't you'll always be a mediocre musician or painter or mathematician or programmer
But sergeons have been learning biology, chemistry and physics from early on (and they have like 10 years of secondary schooling, no one expects them to know how to cut people after two trimesters), architects have been learning math and doing arts (arts take time as you say), ees physics, math again. Even lawyers have been taught how to read and critically assess text from young age.
I am not sure this is a good argument, to be good at something you always have to do it for a long time.
There are things like "how to swap the value in two variables", that are trivial, but we should "teach" them way earlier, it's the way of thinking (and both functional and imperative is needed to absorb). Plus it will have great impact on people not following this career, because they will more often realize that they're doing repetitive tasks which could be automated. We would have much more pressure on software companies not to produce shitty software if people were as lazy as us programmers.
I coded in high school as part of a class that was offered in school but didn't enjoy it then. Then our teachers said things like its like math - boys are better at it than girls. I totally stayed away from coding till a few years back when I needed to use statistics packages to analyse my data. I had to write for loops and functions to make my models work on larger datasets. I learnt to code and was driven by more than 'it's a good career choice'. I know a doctor who learnt to program in C because his programmer did not understand the model the doctor was trying to create.
5 comments
[ 3.2 ms ] story [ 20.3 ms ] threadTeach coding from young age. Are you really surprised that 18 year old CS undergraduates fail their intro to programming when they have to learn in 11-22weeks what probably took me say 6 years to learn between the age of 11 and 17? I have a CS degree, but I'm also self taught.
We have to acknowledge the vast breadth of the field and split the teaching to different paths. There is a reason we have chemistry and biology and physics, although it's all just physics. And we start splitting super early on. The same is needed for coding.
And I agree with OP that the perception of the field is selecting (self-selecting), and again we have to change that before we assume that people are born to be programmers.
Also, they didn't add up the numbers, it's over a half with a CS degree (gotta count masters).
If you say that you need to start to learn programming at the age of 11 then you acknowledge that programming is like music or painting or mathematics, the earlier you start the better you will be but only if you have aptitude for it. If you don't you'll always be a mediocre musician or painter or mathematician or programmer
I am not sure this is a good argument, to be good at something you always have to do it for a long time.
There are things like "how to swap the value in two variables", that are trivial, but we should "teach" them way earlier, it's the way of thinking (and both functional and imperative is needed to absorb). Plus it will have great impact on people not following this career, because they will more often realize that they're doing repetitive tasks which could be automated. We would have much more pressure on software companies not to produce shitty software if people were as lazy as us programmers.