Live data from Hacker News

Coding Horror: Separating Programming Sheep from Non-Programming Goats

codinghorror.com

1–10 of 140 posts

Re: Coding Horror: Separating Programming Sheep from Non-Programming Goats

#2
Jeff closes with the following words IN BOLD:

“The act of programming seems literally unteachable to a sizable subset of incoming computer science students”

There is, of course, an alternate explanation:

“We in Universities seem literally incapable of teaching programming to a sizable subset of incoming computer science students”

Experiments going back to the 1980s with teaching children how to program using Lego blocks and robots with Logo seem to indicate that nearly everyone can learn how to program, but possibly not when they’re 18 or 19 and possibly not with the kind of academic environment represented by the test.

Re: Coding Horror: Separating Programming Sheep from Non-Programming Goats

#3
It's really all about how you teach programming. My first exposure to programming was in high school where a math teacher who had never coded a day in her life was thrown into the position for some extra cash. I witnessed the dichotomy first hand here--and I was clearly in the wrong bell-curve. But that summer, I attended a summer program where it was taught properly. First explaining the context and history of programming, and then exposing us to real world applications. This had a huge rate of success for everyone in that program.

I don't think that the goats will ever go away, but I do think that if taught properly, that the ratio of people who understand to those who don't can be on the order of someone who understands an art history class to someone who doesn't-- or any other area of specialization for that matter.

Re: Coding Horror: Separating Programming Sheep from Non-Programming Goats

#4
May I know where these folks teach, so I may never send my children there. I expect teachers to teach new concepts. I expect them to gradually train an untrained mind.

This test merely indicates that teachers, by tossing out untrained minds and using a subset of already trained minds, can skip the challenging part of their job and take credit where none is really due.

Grrr.

Re: Coding Horror: Separating Programming Sheep from Non-Programming Goats

#5

Jeff closes with the following words IN BOLD: “The act of programming seems literally unteachable to a sizable subset of incoming computer science students” There is, of course, an alternate explanation: “We in Universities seem literally incapable of teaching programming to a sizable subset of incoming computer science students” Experiments going back to the 1980s with teaching children how to program using Lego blo…

I think you have got it right. I would love to think that I am fairly special in my ability to write software, but I hesitate to believe that people cannot learn something.

Its more likely that people are being taught the wrong way, rather then the idea that lacking a natural aptitude for programming you don't have a chance.

Re: Coding Horror: Separating Programming Sheep from Non-Programming Goats

#8
That article is positively drenched in fixed mindset (http://www.scientificamerican.com/article.cfm?id=the-secret-...). Those prophecies tend to be self-fulfilling. But as raganwald says, the only evidence is that universities fail to teach a sizable fraction of the population. Maybe the trick is not to play with IDEs or whatever else they claimed to have tried, but to get rid of the computer and focus on what programs are: instructions for how to do something.

The example of "mental model of assignment" is ridiculous. a=b can mean whatever. It means something totally different to a mathematician than a programmer. Say:

"The piece of paper on the left says dog and the piece of paper on the right says cat. Overwrite the contents of the piece of paper on the left with the contents of the piece of paper on the right. What is written on the pieces of paper?"

I bet pretty much everyone would have a correct mental model of assignment if the problem was stated like that.

Re: Coding Horror: Separating Programming Sheep from Non-Programming Goats

#9

Jeff closes with the following words IN BOLD: “The act of programming seems literally unteachable to a sizable subset of incoming computer science students” There is, of course, an alternate explanation: “We in Universities seem literally incapable of teaching programming to a sizable subset of incoming computer science students” Experiments going back to the 1980s with teaching children how to program using Lego blo…

I would counter-counter that there practically no teacher that can teach. Elementary & high school math teachers deliver a lot of practice, but that ultimately they really just aim to "teach" the kids who naturally understand math. The rest just stumble along and the system covers it up. The same is true for English, History, Phys Ed and pretty much everything.

Re: Coding Horror: Separating Programming Sheep from Non-Programming Goats

#10
I used to teach the first CS course at both Harvard and University of Washington. I didn't have this issue at Harvard, but at UW there was definitely a bimodal distribution in abilities. Roughly half the students had what I feel is a more visual / associative way of thinking vs. the focused structure you need to program.

The concept that the "non programmers" could never understand was the abstraction of functions. Like:

foo(a) { // stuff }

foo(b);

would confuse them because they'd get hung up on foo's parameter declared as 'a', but called with 'b'.

Post reply on HN