Live data from Hacker News

Coding Horror: Separating Programming Sheep from Non-Programming Goats

codinghorror.com

61–70 of 140 posts

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

#61
post #51
post #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 prog…

You may want to re-read the article. It never said that having a correct mental model of assignment meant anything at all. It said having a _consistent_ mental model of assignment was what was important. Correctness can be taught, but people who cannot maintain a consistent model will always fail, because even if they're taught the correct way, they won't apply it consistently.

Ok, sorry for misspeaking, but I don't think it changes the conclusion. I don't know how to measure consistency in my example, but correctness necessarily implies consistency.

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

#62
"8% of students didn't give a damn and left the answers blank. "

That's very revealing about the author. It's the basic semi-autistic cynicism. Dismissing what's going on and demoting people who don't immediately get something. Before they're taught even!

I can say that it took many years to learn to program with any skill. Because it's a skill. You don't just understand one thing and become a good programmer. You need to learn the micro of things like assignment, all the way up to the shape of program in order to make it more extensible and flexible.

But if someone can't learn it on their schedule, are they really a separate person? Maybe if you find them a year later they're no longer a goat.

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

#63
post #29

Earlier quoted context omitted.

> I see this largely as a failure of education. You see this issue in many areas and much earlier on like teaching mathematics. In schools there tends to be one method used and that method doesn't suit everybody. Good thing professional educators are almost as observant as you in regard to teaching. http://lmgtfy.com/?q=differentiated+instruction I really love how HN conceit lets people post about entire industries a…

I read cletus's post to suggest that primary math education (i.e. young children) isn't personalized very much. This is demonstrably true, at least in the U.S. A lot of it is budgets and politics. No need to infer that cletus believes he is a more thoughtful educator than people who spend their careers on it.

> primary math education (i.e. young children) isn't personalized very much. This is demonstrably true, at least in the U.S.

I would say that it is demonstrably not true in many EU countries. Maybe "non personalisation" is the tendency of lazy teachers, but I remember pretty well how my math teachers repeated the same subject thrice: the first time describing its core in an abstract way, the second time with concrete examples (apples and pears) and the third time in very little incremental steps. The first explanation was for naturally able math learner, the second for those how needed practical examples and the third for less able pupils. Some of us complained about the fact that it was a boring way to teach (and you know how horrible bored kids can be in the class) but I'd say it was worth it to have all my classmates learning more or less at the same pace with nobody left behind.

Actually, I complain more about the fact that we had to change math teachers so many times because of educational reforms and budget cuts/reorganizations.

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

#65
post #29
post #13

I see this largely as a failure of education. You see this issue in many areas and much earlier on like teaching mathematics. In schools there tends to be one method used and that method doesn't suit everybody. I see this at work. I've known programmers who, when they get a new hire, will basically let them flounder. I guess the basic idea is that if you're "good" you'll "figure it out" (with minimal time investment…

> I see this largely as a failure of education. You see this issue in many areas and much earlier on like teaching mathematics. In schools there tends to be one method used and that method doesn't suit everybody. Good thing professional educators are almost as observant as you in regard to teaching. http://lmgtfy.com/?q=differentiated+instruction I really love how HN conceit lets people post about entire industries a…

Nice idea, but to what extent has it been implemented? Hard to find info on that. And in my own experience, differentiated instruction within the context of traditional mixed-ability, set-pace classroom instruction is still relatively weak.

Further, why be an ass and post a lmgtfy link when the op is clearly not aware of the term to google. You see the contradiction there I'm sure. Next time just post a link to the search results.

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

#66
post #22

Eh, that test seemed like it could be unintuitive to those that have never had programming exposure before. How are they to know that "=" is assignment and not testing equality? I guess you could glean that from the context where they immediately ask you the values of the variables after the operation but I could see someone misinterpreting the semantics of that operator.

I wonder what the result of the test would be if it were written:

a b a <- b;

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

#67

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…

> 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.

I only learned how to program at around age 20 or 21, but at that point I had already been a CS student for 2 years, and of course had failed most of the actual programming-related classes (even though I had earned a A+ in calculus, with congratulations from the professor). I am now a professional programmer, I'm in my early 30s, and as such I'll quickly write down my thoughts on this, maybe it helps someone make some sense of it.

Now, about the particular example in the article, I can still remember the first programming class during my first semester at Uni. I can still remember about how baffled I was when seeing almost the exact same code as in the above article, I was wondering to myself: "assignment works left to right, is the only natural way, what do you mean now "a has the value of b"? You first write down a, the 'equal' sign, and then b, it's only normal that b, coming at the end, takes the value of a". And so on. Someone also mentioned the "competitive" nature of a CS-class, which is 100% spot-on. I had never owned a computer during high-school, while some of the my then-colleagues had been programming for 10 years already, and because of that I was afraid to ask questions or even to ask for help from my colleagues.

And in case you're wondering how did I finally became a programmer, well, it was thanks to Python. At first I started writing some ugly scripts in PHP, but after 6 months I stumbled upon Python. I don't know exactly why, but it's something about this language that makes it very easy for non-programmers to grasp programming language concepts. After one year of doing Python I finally had the balls to try and take my most difficult programming class again. I got an A (the class was taught using the C programming language), with the professor surprised about how had I managed to do that.

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

#68
post #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 prog…

> 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.

> "The piece of paper on the left says dog and the piece of paper on the right says cat.

We are talking about university students. I think they all have had a bit of calculus. That they had to "find the x" or "give the value of y = 1/(3/x) to the third decimal when 1) x = 3, 2) x = 5".

If your 18-year old students need to be told of "dog" and "cat" on pieces of paper in order to understand the most basic abstraction that math has, well, you, as a teacher, will find big difficulties ahead.

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

#69
post #16

I studied to become a computer science teacher. I have not finished my certification for various reasons but I have some limited field work under my belt along with numerous discussions and readings. And, of course, my anecdotal but legitimate experience in public schooling. Let's get one thing straight: the problem is bad teachers. My mentor once said it kind of sucks that UTeach was only available to UT students an…

I worked as a TA at my university for a while (under-grad TA too ... was a blast, me and the prof got along really well, and I knew the material extremely well and could teach) and the hump mentioned is true. I once used to believe that everyone could learn how to program, if you can write down steps for making toast in the morning you know how to program, but some people just couldn't get it.

There was some mental disconnect that didn't allow them to grasp certain key features required for programming. No matter how you explain it to them, no matter how you tried to change the model to help them. I spent a lot of time with the professor I was TA'ing for trying to understand why, trying to understand what we were missing that could help these students understand. Stuff like scope, pointers, references were some of the difficult topics, which to me come almost naturally they felt it hard to wrap their brains around.

There were students that didn't get it but they could fake the knowledge required and could get the end result but not understand why that was the end result. They did okay on the programming questions, but when it came to knowledge of what was going on they couldn't explain it.

I felt terrible having to fail students, I felt even more terrible when I could see on their face that they had tried their absolute best. I don't think I could go into teaching unless I taught uper-level classes so that I didn't have to deal with the great disappointment and filtering of students. The look on a students face as he was sitting in my office during TA hours and he still wasn't able to grasp the concept of pointers made me feel really sad. I don't think I can deal with that again.

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

#70
post #29

Earlier quoted context omitted.

> I see this largely as a failure of education. You see this issue in many areas and much earlier on like teaching mathematics. In schools there tends to be one method used and that method doesn't suit everybody. Good thing professional educators are almost as observant as you in regard to teaching. http://lmgtfy.com/?q=differentiated+instruction I really love how HN conceit lets people post about entire industries a…

Nice idea, but to what extent has it been implemented? Hard to find info on that. And in my own experience, differentiated instruction within the context of traditional mixed-ability, set-pace classroom instruction is still relatively weak. Further, why be an ass and post a lmgtfy link when the op is clearly not aware of the term to google. You see the contradiction there I'm sure. Next time just post a link to the s…

First, it's not my job to educate you. Go look it up yourself if you feel like commenting on it.

The fact the original poster fabricated his post out of naked overconfident ignorance is more than enough to warrant a snide reply. His post was not a critique on current educational theory or instruction but based on his experiences as a grade schooler that might be decades out of date, and seen through the eyes of a child.

Chances are your school implemented a similar style of teaching, except your teacher didn't come into a room of 3rd, 5th or 10th graders and say :

"Ok students, I spent 2 weeks this summer on my "vacation" training 8 hours a day and now I will be differentiating my instruction! I sure hope you don't all grow up to be overconfident ignorant asses who can't see beyond the direct and personalized instruction I give each one of you. I hope you realize that I might be explaining these concepts to different students in a way that suits them! Also, I hope you don't make fun of the kids who are in the low classes or need the help of an in class aide.

Now here are three ways to look at multiplication."

Post reply on HN