... students who simply don't turn up for the tutorial sessions specially
arranged for them to go over things they haven't understood
Of course there will be unmotivated and 'bad' students on any CS course.
Leaving aside the origins of their disinterest in their own education, let
us not consider them further. Consider all the motivated, enthusiastic
students who fail to program instead. They should be of concern.
Suffice to say that I don't recognise any University I have direct
experience of in this description
I think it is a well known fact that many universities struggle with getting
half or more of their CS intake to program. They should be of concern.
It would, of course, be very helpful if all CS students had been exposed to
programming at some stage in their school career, and had a chance to decide
whether they got on with it. That doesn't happen much, and where it does it
is often a very bad experience, partly because of the nature secondary
school education and also because of the apalling design of A level
computing courses.
Nevertheless, the situation is that many HE CS departments have large
numbers of students on roll who avoid programming as much as possible. I
would deem that to be a most unsatisfoactory state of affairs to all
concerned. If I were running a CS department, I would make it a priority to
turn weak students round in the first term. A massive effort wodl be needed,
calling all hands to the deck - engaging P/T tutors, perhaps even from the
ranks of other students. But the investment would be worth it. More than
resources, it calls for a sea change in attitude, from counting bums on
seats to one of a pedagogical 'can do'.
R
----- Original Message -----
From: "Lindsay Marshall" <[email protected]>
To: "R Bartlett" <[email protected]>; <[email protected]>;
<[email protected]>
Sent: Sunday, November 29, 2009 10:09 PM
Subject: RE: "Intuitiveness" of programming languages/paradigms
Ugh, I did a long reply to this and lost it by accident. Suffice to say
that I don't recognise any University I have direct experience of in this
description. And, of course 1-1 teaching can get to people - but try doing
that with classes of 160+ and small numbers of available staff (you have
to teach other years too....). Oh, and with students who simply don't turn
up for the tutorial sessions specially arranged for them to go over things
they haven't understood (the nearest we can get to 1-1 teaching at the
moment with the resources available to us).
L.
________________________________________
From: R Bartlett [[email protected]]
Sent: 29 November 2009 21:29
To: [email protected]; [email protected]
Subject: Re: "Intuitiveness" of programming languages/paradigms
I 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 -----
From: [email protected]<mailto:[email protected]>
To: [email protected]<mailto:[email protected]>
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.
Mark
On 11/28/09 6:58 PM, "Lindsay Marshall" <[email protected]>
wrote:
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 coming.
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.
L.