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 ability
>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 with
> 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 start?

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 are
> 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 do
>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 everyone
>in academia how to program.  They pose an interesting challenge -- how do we
>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