[Edu-sig] Math + Python: reviewing some themes (long)

kirby urner kirby.urner at gmail.com
Sat Jan 30 00:30:44 CET 2010


On Fri, Jan 29, 2010 at 10:49 AM, David MacQuigg
<macquigg at ece.arizona.edu> wrote:

<<  >>

>
> When I hear Object Oriented Programming, I think of something much more
> difficult than the examples you have shown, something that might even get
> into the intricacies of MRO, something that is normally taught to CS majors
> in a full semester in the third year of college.  If it is just *using*
> objects in a natural way, I think everyone agrees that is a fine way to
> introduce programming.  If it is a little more than that (as I think you
> intend) that is OK also, even if it not what I would do.  When students log
> on to pywhip.org/~urner, they will see exactly what you want them to see.
>
> -- Dave
>
>

Good summary and yes, our positions are not so far apart.

The little bit more that I add takes advantage of this thinking in
terms of objects, not just a computer thing, and turns that into "math
objects" such as polynomials, rationals, polyhedra, integers modulo n,
matrices  -- things we might model as types and therefore classes (in
Python's namespace anyway).

There's a unifying heuristic not out of line with inherited
mathematics i.e. we already believe in types e.g. N, Z, Q, R, C
(natural, integer, rational, real, complex..) and so on, so pretty
seamless.

So that means we're actually getting to user defined classes and
taking advantage of operator overloading in the guise of wanting a
stronger understanding of math concepts, but not because we're all
planning to become professional computer programmers.

So we stop short of MRO, maybe never need multiple inheritance, might
not use properties, decorators -- I'm not the one to decide for each
teacher, just saying I find it easy to envision a productive math
course (such as we've sampled many times on edu-sig) that doesn't go
into all that, or leaves it more up to individual students how much
they want to dabble on the side, in which case we have resources
available.

So yeah, those kinds of more advanced computer science courses are
available, sure.  David MacQuigg might be one of your teachers?  I'm
more interested in spinning an icosahedron object, a subclass of
Polyhedron, and calling it a day.  I'm more like a high school
geometry teacher, not some geek with a talk on the latest design
pattern.  I'm mostly doing stuff the ancient greeks would have
followed, had they a One Laptop Per Child program.

Kirby


More information about the Edu-sig mailing list