@Jan
Numpy indeed provides both "procedural model" and "OO informed model."
 When I first read Numpy, I was a little surprised at the redundancy but
then I quickly realized the reality and the need. I remembered the first
API I designed was also "procedural model" based, considering my users were
mostly Visual Basic programmers.
-kai

On Sun, Nov 30, 2014 at 3:18 AM, Jan T Kim <jtt...@googlemail.com> wrote:

> Dear All,
>
> On Fri, Nov 28, 2014 at 07:13:24PM -0500, Greg Wilson wrote:
> > Hi Kai,
> >
> > Our experience is that trying to get learners who have little
> > previous training in programming all the way to defining classes in
> > half a day (which is all the time we usually have for Python in our
> > workshops) fails badly.  If they leave understanding that they
> > should break their programs into short, readable, testable, reusable
> > functions (and that those are all actually the same thing), that's a
> > big step forward, and as far as we can reasonably expect to get.
> >
> > And yes, the lesson on functions is mostly about scoping.  Our
> > experience shows that's what confuses people most, and it's
> > difficult to debug code without a solid understanding of what a call
> > stack is.  I'm adding more discussion of this (our collected
> > pedagogical content knowledge) to the next run of the instructor
> > training course; I hope that will convince you that what's in our
> > core lessons is already very ambitious.
>
> I think I agree with both sides of the argument here -- on the one hand,
> it's better to have a procedural mental model of computing than to have
> no real mental model at all, but on the other hand, an OO informed model
> is better than a purely procedural one.
>
> On a practical perspective, having a good grasp on the procedural basics
> will enable people to use e.g. biopython -- the biopython tutorial
> doesn't require readers to know about writing classes or even extending
> existing ones. My guess (perhaps a bit biased, me being a computational
> biologist) is that people taking SWC may workshops often want to use
> things like biopython, so getting them up to speed with a procedural
> model of computing will fit their expectations.
>
> Personally, I'd be inclined to mention in courses a few times that OO
> concepts exists, that they're not really too complicated for anyone with
> a science background so people should be encouraged to explore them on
> their own after the workshop, and that some software systems (most
> notably web applications) should preferably be developed on an OO basis.
>
> Best regards, Jan
>
> > Thanks,
> > Greg
> >
> > On 2014-11-28 6:54 PM, Hsi-Kai (Kai) Yang wrote:
> > >Sorry, there is typo in my previous email.
> > >To be accurate, I meant "scoping" rather than "name space."
> > >-kai
> > >
> > >On Fri, Nov 28, 2014 at 2:54 PM, Hsi-Kai (Kai) Yang <h...@uw.edu
> > ><mailto:h...@uw.edu>> wrote:
> > >
> > >    Teaching polymorphism in the basic workshop could be overkill. But
> > >    it might be worthwhile to add object-oriented concepts. When I
> > >    browsed V5 of SWC’s Python teaching material during this holiday,
> > >    I could only find ‘function’ which was introduced as an
> > >    encapsulation mechanism (among others) although the code example
> > >    there was more about name space than encapsulation.
> > >
> > >
> > >    My two cent. Thanks.
> > >
> > >    -kai
> > >
> > >
> > >    On Thu, Nov 6, 2014 at 2:19 PM, Greg Wilson
> > >    <gvwil...@software-carpentry.org
> > >    <mailto:gvwil...@software-carpentry.org>> wrote:
> > >
> > >        I've just added a short post to the teaching blog [1] that
> > >        includes an example of a well laid out lesson from Byron Weber
> > >        Becker (an instructor in Computer Science at the University of
> > >        Waterloo whose work I've admired for a while).  It certainly
> > >        gives us something to shoot for...
> > >
> > >        Thanks,
> > >        Greg
> > >
> > >        [1]
> > >
> http://teaching.software-carpentry.org/2014/11/06/an-example-of-a-well-written-lesson/
> > >
> > >        --         Dr. Greg Wilson    |
> > >gvwil...@software-carpentry.org
> > >        <mailto:gvwil...@software-carpentry.org>
> > >        Software Carpentry | http://software-carpentry.org
> > >
> > >
> > >        _______________________________________________
> > >        Discuss mailing list
> > >        Discuss@lists.software-carpentry.org
> > >        <mailto:Discuss@lists.software-carpentry.org>
> > >
> http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org
> > >
> > >
> > >
> >
> > --
> > Dr. Greg Wilson    | gvwil...@software-carpentry.org
> > Software Carpentry | http://software-carpentry.org
> >
>
> > _______________________________________________
> > Discuss mailing list
> > Discuss@lists.software-carpentry.org
> >
> http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org
>
>
> _______________________________________________
> Discuss mailing list
> Discuss@lists.software-carpentry.org
>
> http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org
>
_______________________________________________
Discuss mailing list
Discuss@lists.software-carpentry.org
http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org

Reply via email to