Live data from Hacker News

Coding Horror: Separating Programming Sheep from Non-Programming Goats

codinghorror.com

41–50 of 140 posts

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

#41
post #30
post #24

Earlier quoted context omitted.

You make a number of good points but I want to respond to one thing - the failure of education. I think it may not be so much a failure of education as so much the economics of education. The use of a single curriculum reduces complexity and administrative overhead (teacher time) which at the professor level is expensive. If the computer science courses were designed to use multiple methods you could indeed better ed…

Wouldn't increasing the success rate by 30-60% pay for itself? If that much of the class fails out after the first course, that's tuition lost for the remainder of the courses, is it not?

Not really. STEM professors generally get most of their money through grants, so they don't really care about the tuition that students bring in. Plus, teaching uses up resources (both professor time and grad students) that could be used on research that could bring in more grants.

But the students who flunk out of CS or other STEM fields usually don't go away, they end up in the humanities instead. There, professors aren't getting a lot of money based on their research, and they usually have a surplus of grad students that they need to put to use somehow. And the college gets the same tuition either way.

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

#42
My guess is that some students never really let go of mathematics. Without this step, you cannot even begin to form a mental model of how the machine evaluates an imperative program.

Students with no experience programming may be better off starting with a language like Haskell.

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

#43
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…

You're a direct target for the article. Quoting: "brighteyed beginners who believe that the old ones must have been doing it wrong"

People have been trying and failing for 40 years to improve CS teaching. Granted, most professors don't try and just teach the way it's always been taught, but some, like you, do.

The big question then becomes: is this an impossible problem, or simply a very hard one? When you start teaching, you will find that a certain percentage of your students fail to "get it". Will this be your fault? Probably not. At the very least, to "get it" requires effort, and some of your students won't put in that effort, and you can't force them to. There are many ways you can encourage the effort, but you can't force it.

What we can do, though, is shift the goalposts. Turn a 70% failure rate into a 30% one into a 10% one into a 2% one, et cetera. It looks like csunplugged is one of those tools that will shift those goalposts.

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

#44
post #17
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…

I bet pretty much everyone would have a correct mental model of assignment if the problem was stated like that. Try this experiment with five people at a public place, say exactly what you said, and give them exactly one try at the correct answer. I'll give $10 to charity for each one that getes it right. If all five of them get it wrong, you owe me an upvote. (Fair warning, the terms of this bet are ridiculously unf…

My bet is on lutorm, the point is that the original questions are ambiguous and if you remove some of the ambiguity you increase the chances of someone getting it right.

My theory is that those who got it right (at least most of them) didn't get it because they "formed a consistent model". But simply because they made the same assumptions people before them did when creating the language. But of course, would need more data to be more sure of anything.

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

#45
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…

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.

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

#46
post #23
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. I've found that education, at least K-12, is slowly shifting attitudes from 'Why are students so dumb?' to 'How can we teach this better?' Computer Science is notoriously bad at believing the former over the…

It would be a lot easier to teach CS to 18 year olds if they had stronger foundations in algebra, logic, and abstractions.

When "teach a bunch of freshmen to program" is your mission statement then it's perfectly understandable to prefer the students with solid fundamentals.

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

#47
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…

You're a direct target for the article. Quoting: "brighteyed beginners who believe that the old ones must have been doing it wrong" People have been trying and failing for 40 years to improve CS teaching. Granted, most professors don't try and just teach the way it's always been taught, but some, like you, do. The big question then becomes: is this an impossible problem, or simply a very hard one? When you start teac…

To start, I agree with you 100% on all accounts. Some students may truly never succeed but I think that by declaring the case closed and assuming it's purely a function of student ability, we lose out on valuable information about humans learn because: what if that's wrong?

The fact that the goalposts can be moved is awesome and a testament to what can happen if we assume that it's a communication or motivation problem, not student ability.

There are lots of fringe students who just think oddly. Living in cooperative housing in Austin has really driven this home. They require odd teachers.

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

#48
post #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. L…

Why not use explicit function parameters then?

    def count_orange_slices(number_of_oranges):
        return number_of_oranges * 8

    size_of_my_orange_stash = 10

    count_orange_slices(number_of_oranges=size_of_my_orange_stash)
    >> 80

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

#49

  int a = 10;
  int b = 20;
  a = b;

  The new values of a and b are:  False!
All that example would really measure is who has had previous programming experience.

This is obviously a teaching failure.

I don't accept that there are certain things people "just don't get." Watch the documentary "Waiting for Superman," about some heroic teachers who didn't accept that either and did something about it.

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

#50
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…

This Atlantic article has a lot on what makes good teachers and why it's so important to find them: http://www.theatlantic.com/magazine/archive/2010/01/what-mak... .

In the vast majority of schools in the U.S., however, it's almost impossible to fire teachers after two to three years of employment; in many schools, it's virtually impossible to fire them even before.

Post reply on HN