I don't mean any rhetoric by this, but it sounds like an interesting
problem.
:-) Yes it is indeed. And I will put my hand up and own up to issuing
rhetoric in an academic mailing list! Also, I guess I need to admit that I
have a heated view of the matter of the education system, and that I should
be a little more patient in my expression of it. So my apologies to all. But
hope we can have a positive discussion of the issues - there seems to be an
appetite for it.
I think it is clear that there are people who take very readily to
programming. The question is then, to what extent is intensive tuition of
programming of average or lower natutal-ability worthwhile? Firstly, I think
the student needs to experience a 'eureka moment', or at least a short
'eureka phase', when several things click all at once. If that never
happens, then they are going nowhere. Weaker students need intensive
coaching, but not very lengthy, coaching in order to achieve the
breakthrough. I think it often occurs when they have total knowledge and
control of all, or nearly all, of the source code expression of a small, but
non trivial program.
Given that they have experienced this phase, then I believe that the more
practice they get of programming, the more deeply embedded become the skills
and techniques. They need to be shown how to create solutions, and then have
help creating solutions to similar problems. Guided practice, practice,
practice. Perhaps university courses tend to assess too much, rather than
guide. Perhaps craftsman type courses are needed? I think expert guidance
does work - eventually students can make the leap from problem domain to
programming solution. That has been my experience anyway - though it is
admitteldly limited. Maybe I'm wrong.
A novice has to obtain mastery of the basic concepts and techniques of
programming before they become an independent learner. My contention is that
an intense pedagogic effort is needed for many students to reach that stage.
I am sure there will be a minority students who do not benefit from such
efforts - I am not sure what percentage of a typical 'weak' intake they
would form. But I am also equally sure about the effort being worthwhile for
the majority.
Programming is somewhat unique and interesting pedagogically because the
computer and compiler act as not only as a convenient and powerful arena in
which to perform skills, but also as ready to hand judge and jury of your
performance. This allows for intense self tuition through feedback, once a
basic competence has been achieved.
Richard.
----- Original Message -----
From: "William Billingsley" <[email protected]>
To: "Ppig-Discuss-List" <[email protected]>
Sent: Monday, November 30, 2009 7:02 AM
Subject: Re: "Intuitiveness" of programming languages/paradigms
This sounds like an interesting problem around the role of university
education.
Traditionally / ("in olden times?"), one of the differentiators between
school and university was that at university students were considered to
take full responsibility for their own learning. As a student I was told
employers valued this -- when they were hiring graduates, they wanted to
see that their potential employee did not need constant hand-holding and
spoon-feeding, but that if you put him/ her in an environment where help
is available on request, suitable resource material and experts to ask
are abundant, and say "here's your goal; now go for it" that potential
employee would not flounder but would be able to identify the resources
they need, learn what they need, and get it done. Of course that is a
very traditional/old- fashioned view of universities that asks very few
pedagogical skills of the lecturers. It places all the blame on the
students.
The more recent consideration is for universities to be seen as education
suppliers, and students are their customers. The relationship between
the university and the student is a business relationship (the student
really is paying for some of it now), and value-for-money is a genuine
and reasonable concern. Is the pedagogy of the lecturer good enough? If
the customer has paid to learn this material, and they haven't done so,
what should the lecturers have done better to give full satisfaction to
their customer?
I guess the second half of the question is "how much hand-holding is best
for programmers in the long-run"? Is programming a "threshold concept"
whereby once you've "got it" it all becomes much easier thenceforth, so
if we can just hand-hold students til they get over the threshold they
will be fine after they graduate? Or is it a continuous incline of
learning -- and if you hand-hold the student all the way to graduation,
will they feel like they've fallen off a cliff when they go out and get
employment only to find that all those careful pedagogical plans stop at
the university exit gate?
I don't mean any rhetoric by this, but it sounds like an interesting
problem.
William
On 30 Nov 2009, at 10:15, R Bartlett wrote:
Let me chime in with an echo of what Lindsay said, and put it to you
that CS students who are, quote, "not very good at programming", are
the kinds of students I expect a competent system to sharpen up, or
grind out. I don't expect it to find a way to make them good
programmers
in spite of themselves, if those very students lack sufficient drive
and
aptitude to conquer the material at hand under their own steam.
Well this discussion all boils down to the role of education. THere are
two attitudes
1) We'll take your money, but really you shouldn't be on this course -
we would like people who can already program so that we don't have to
teach anything.
or
2) We'll take your money, and do the best we can with you.
----- Original Message ----- From: "Frank Wales" <[email protected]>
To: <[email protected]>
Cc: "R Bartlett" <[email protected]>
Sent: Sunday, November 29, 2009 11:31 PM
Subject: Re: "Intuitiveness" of programming languages/paradigms
R Bartlett wrote:
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.
Let me chime in with an echo of what Lindsay said, and put it to you
that CS students who are, quote, "not very good at programming", are
the kinds of students I expect a competent system to sharpen up, or
grind out. I don't expect it to find a way to make them good
programmers
in spite of themselves, if those very students lack sufficient drive
and
aptitude to conquer the material at hand under their own steam.
How much they have paid for the course, or how high their hopes have
been piled, doesn't matter for CS students any more than it matters
for music students or medical students or Latin students.
And I have no vested interest in defending the current teaching
situation;
rather I'm a walking, talking data-point from both sides of the student
body.
I was rightly ground out of medicine, due to lack of interest; I got
distinction
passes in computing and molecular biology, despite copious non- academic
stresses, due to compelling interest.
In both cases, the teaching staff helped, but I saw it as my job to
fail or succeed. I managed to do both, in different fields, according
to
my drive and aptitude, and I wouldn't expect higher education to be
any other way.
--
Frank Wales [[email protected]]