[Edu-sig] Accessibility to non CS types?

Andre Roberge andre.roberge at gmail.com
Mon May 29 01:06:14 CEST 2006


On 5/28/06, Scott David Daniels <Scott.Daniels at acm.org> wrote:
>
> Andre Roberge wrote:
> > ... Let me give a concrete example explaining inheritance for
> non-computer
> > scientists.
> > ===
> > class Father(object): ...
> > class Mother(object): ...
> >
> > class Child(Mother, Father): ...
> > ===
> > The computer scientists in the (virtual) room are probably horrified.
>
> Yup.  I am aghast.  You are using the "built-from" relationship.  For
> yourself this is fine, but pedagogically it leads to very bad habits.


Agreed ... when it comes to teaching computer science, to future computer
scientist.  I was reacting to some comment (including reading from a
different thread) about how scientists were not able to grasp Python and OOP
(to paraphrase the argument).

Python is being used in bioinformatics - and some biologists are introduced
to computer programming for the first time through their interest in
molecular biology, dna structure and the like.  I would argue that using an
example as the one above would help lowering the barrier to learning, which
is something important when people think they can't do it.

The reason I am appalled is that I have maintained code that was written

> this way, and the mess that results over years of extending from such
> a shaky foundation is scary.
>
> > I would claim the above example would be appropriate for the average
> person.
>
> I claim this is because you are a scientist, not a mathematician.  At
> Penn, Mathematics was an Art, not a Science (I have great sympathy for
> that classification).  You are in the habit of lying to your students
> and, next course, telling them "you know, what you learned in the
> previous course was wrong."


Actually, I'm a theoretical physicist and as such I am closer in my approach
to mathematicians than to experimental physicists.  When I was teaching, I
tried to be careful to mention every time a simplification was made and
pointing out that a "deeper truth" would be learned about later.  I don't
mean to sound defensive: I was truly doing this - but without giving it much
more thought than this.  However, I think your characterisation of the
average physicist's teaching is quite accurate!

This is a reason for people leaving the
> sciences.


Proof?  :-)

Mathematicians tend to try to stick to truths, though they
> expand the universe they talk about each time.  In part this distinction
> in approaches makes sense because mathematicians who make mistakes are
> corrected (and scorned) by other mathematicians, while physicists are
> corrected by reality (and refine their models).


Well put.

[snip]
> > Words like "inheritance" have been borrowed and adapted by computer
> > scientists for use in their own discipline.
> While words like "spin" for physicists....  Natural languages seldom
> have precise definitions, and Computer Science is not close to the
> worst offender in this respect.


And I never meant to imply it was.  In fact, I provided a similar example
for physics ("work").

To me, the most important thing is to get students (non computer scientists)
interested in learning about programming, a bit like you might get someone
interested in learning French by taking them to a night club in Montreal:
they might pick up some inappropriate sentence constructions (that would
appall your average French linguist) which will need to be corrected later
... but chances are they will want to learn French a lot more than if they
would have been put in a class taught by your average French linguist.

André
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/edu-sig/attachments/20060528/89ac6a8d/attachment.html 


More information about the Edu-sig mailing list