I’m very skeptical of results that claim that some large fraction of the population is incapable of some mental feat like programming. 500 years ago the same was thought of reading, writing, and arithmetic.
(also posted to the blog comments)
I’m very skeptical of results that claim that some large fraction of the population is incapable of some mental feat like programming. 500 years ago the same was thought of reading, writing, and arithmetic.
(also posted to the blog comments)
Exactly. At birth we are basically no different from someone born 100, 500, 1000 years ago. People in the past we not stupid. In fact, the giants who's shoulders we stand on now are from the past.
This isn't to say the camel doesn't have two humps. I tried pretty hard in college to learn German, but by then it was too late. Kids can learn languages without even trying because they're wired to learn languages. Waiting till college to learn German effectively doomed me to failure.
A similar thing might be happening with programming. Some people don't start thinking about programming until pretty late, sometimes as late as college or beyond. Perhaps some of the people who "just can't get it" could have had a chance if they started sooner.
This would imply that there is no fix at the college level; the solution is to start introducing programming/logic earlier.
How many hours a week did you study German in college? I think children growing up in Germany typically study it about 70 to 90 hours a week if their parents are foreigners, or 110 hours a week otherwise, and it takes them about six or seven years to reach a high level of proficiency.
By contrast, an acquaintance of mine studied Mandarin Chinese only 40 hours a week as an adult (22-year-old I think) for six months, and then spent the next several years transcribing and analyzing intercepted Chinese telephone conversations 40 hours a week for the next couple of years, thereby achieving a native level of proficiency.
So my alternative hypothesis is that kids learn languages well because they try really hard for tens of thousands of hours, while adults rarely do.
It is true some adults can learn language almost as easily as children, but that's the exception. The main point is that as you get older (for the vast majority of people), learning a new language becomes more difficult. A similar effect may be happening with programming.
(Exceptional adults may be able to do it in less time, and far less time to achieve a lower level of competency. Sidis supposedly could "learn" a new language in a day.)
I could find reference to "the myth that children learn languages easier than adults". I'm shocked that my child psychology and cognitive psychology professors (who both taught a section on language development) would get that wrong, but it's entirely possible.
Yeah and the reason was that 500 years ago reading and writing was college level material. Now they start teaching the alphabet at what age 5? Then again most print material is targeted to a pretty low reading level. So even if learning programing early becomes more common that still doesn't make it easy because chances are the majority won't be very good at it just like many aren't good with the written word.
That's what the job of a computer scientist is, translate from real world process to computer program. Maybe it isn't a one to one correspondence like spoken to written English but if someone tells you they need a program to track employee time and they need to sign in and sign out you can write that right?
A computer is probably much better at tracking the hours of 500 people, using this to estimate the probability of various inconvenient person-mixes (the foreman and backup foreman are both sick!), and using this to generate schedules.
A person is probably better than a computer at deciding whether or not it's better to clock out of work eight minutes early to surprise the wife with flowers.
Computers and people differ pretty wildly in their thought processes and abilities.
Why are we teaching programming with a human? At what point are we finally going to have machines that can work 1-on-1 with humans, at their pace, until they grok concepts.
Some people learn more quickly, some don't. Let's not punish one group or the other.
Let's teach interactively, but not with humans!