On Fri, Jan 29, 2010 at 10:49 AM, David MacQuigg <macqu...@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 _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig