Re: "Intuitiveness" of programming languages/paradigmsI think if you ask CS 
undergraduates who are not very good at programming whether they want to 
program, the answer will change from yes to no after a couple of months. Which 
is the amount of time for hopes to be dashed, and disillusionment to set in. 
Their experience of university is just an extension of school - a failure by 
the institution to teach skills, which insitution then walks away from its 
failures. If I ran a university course, I would do nothing but solid 
programming for the first term, paying particular attention to the strugglers. 
That's hard work that is. It's called TEACHING. Every CS undergrad I have 
spoken to seems to be paying thousands of pounds to be assessed on what they 
already can do, or fobbed off with sprious group work.

Sorry if this last bit here is a repeat .. I think I may not have "replied 
all": I am currently engaged in an interesting experiment. I have made leaflets 
advertising my services as a programming tutor, and distributed them around my 
local uni's CS dept. So far it is showing that damn good 1-1 tuition is 
capabable of reaching very weak students, and nmaybe even switching them on. 
It's early days yet, and hey! I'm biased, but I'll keep you informed. :-)
  ----- Original Message ----- 
  Sent: Sunday, November 29, 2009 7:28 PM
  Subject: Re: "Intuitiveness" of programming languages/paradigms 

  Lindsay meant to "reply-all" to this, but only replied to me. I offered to 
respond back to the list (with his message below), and he agreed.

  I agree with Lindsay that most people don't want to program.  There are 
reasons for a universal level of (real) computing literacy, such as those 
described by Perlis, Snow, and Kay.  I expect that more people can and will 
learn to program when we can solve the economic problem for them - when the 
benefit exceeds the cost.  The 13 million end-user programmers that Scaffidi, 
Shaw, & Myers identify have certainly seen benefit, though at a relatively high 
cost that we might be able to reduce with better tools, better languages, and 
better teaching methods. 


  On 11/28/09 6:58 PM, "Lindsay Marshall" <> 

    >Lindsay, isn't there an implication in your statement above that our 
    >to teach computing is as good as it's going to get, and thus, the only way
    >to raise the success rates is to reduce the number of people who fail with
    >our current methods?

    Not if you take it the way I meant it. My point is that most people simply 
don't want to learn to program and nothing we can do will make them want to. 
Horse, water, making it drink. As I said before, we have hundreds of years 
experience in teaching people about music and how many people actually go on to 
be musicians? How many people even get to the point of competence? As I also 
said before, try getting in to most music courses without a grade 8 on some 
instrument. I think everybody should be taught to play an instrument, but in 
reality most people don't want to so they don't learn. it's not that they can't 
learn, they just don't want to, so they don't. The same is true with 
programming, or maths, or italian or anything.

    > Clearly, we (as in the community of those studying
    > computing education) do have the ability to teach computing to someone 
    > no experience, because those people whom you will welcome into CS1 do have
    > experience.  At some point, they didn't.  What makes for a successful 

    I was taught computing with no experience of any kind, and from day one it 
was entirely obvious to me and I loved every second of it, particularly 
programming. I got the same teaching as all the people who fell by the wayside. 
I wanted to do it, they didn't. That is the key I think. When I mentioned 
dissuading people , that was not because of ability - they could all have 
learned, but because I knew that they didn;t really have their hearts in it. I 
thought I wanted to do physics and it turned out that I hated it. Thank 
goodness for finding CS!

    > What I find most interesting about the two hump hypothesis is that there 
    > some people who are highly successful at learning computing, even in the
    > first course.  Why is that? 

    They enjoy it?

    >What are hidden requirements of computing such
    >that some people succeed easily, while some do not?  ("Hidden" in that we 
    >not yet know how to detect them, and we clearly are not *teaching* those
    >skills, or we'd reliably track through pre-requisite courses.) I agree with
    >Raymond, that there is no reason to believe that there is a "geek gene."

    Can any one explain to me why CS is so special that we feel we ought to be 
able to teach it to everyone and that they should all be able to do it? If you 
want to go to art school you have to show a portfolio of worl to demonstrate 
your competence. If you want to physics you have to have some physics 
qualifications, ditto for pretty well every subject - you have to demonstrated 
that you ahev some kind of interest in it at the very least. Why is computing 
different then? You might think of course that applying for a computing course 
indicates an interest but it very often just indicates an interest in playing 
games and surfing the net and not actually anything to do with what we do on 
computing courses. I had a student last year, mature student very bright, very 
keen, head screwed on, definitely wanted to do computing. Hated programming and 
is now doing classics : had never had any kind of programming experience before 

    >In 1961, Alan Perlis and C.P. Snow both argued that we should teach 
    >in academia how to program.  They pose an interesting challenge -- how do 
    >teach computing (the parts that will be useful to them) to those who are
    >"unsuited" to it?  (See [2].) 

    It is nothing to do with unsuited, but everything to do with uninterested. 
I also have to ask the question why should we teach everyone to program? What 
possible useful purpose would that serve overall? Teaching everyone to type, 
cook, mend clothes and do simple carpentry and plumbing would be a lot more 
useful to most people. Particularly academics. We can (and do) teach a lot of 
people simple programming - look at all those spreadsheet courses - but why do 
most people need to learn something like Java? it makes no sense.


Reply via email to