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
On 11/28/09 6:58 PM, "Lindsay Marshall" <lindsay.marsh...@newcastle.ac.uk>
>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 .)
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.