[Edu-sig] Introducing Python to Engineering Students

kirby urner kirby.urner at gmail.com
Wed Mar 12 15:45:04 CET 2008


On Wed, Mar 12, 2008 at 5:50 AM, John Posner <jjposner at snet.net> wrote:

>  IMHO, object-oriented programming is like most technologies -- it was
>  developed as a solution to perceived problems. Newbies, who haven't
>  perceived the problems, will have trouble appreciating the solution.
>
>  -John

Fortunately, in elementary mathematics, we have "types of object"
(e.g. rational numbers) very amenable to object oriented treatment.

There's no shortage of "objects" we might model (vectors,
integers modulo N... polynomials).

Python itself is also more understandable if you have a generic
appreciation for "dot notation", which also gets us to a classes
'n objects discussion, i.e. what does dir('hello') really show us?

The perceived problem, to which OO was (still is) a solution, is
that procedural programming, even when structured, is too
difficult, too awkward.  Computer code should more closely
mirror the the knowledge domain.

And what knowledge domain has no objects?

Hard to find, given we already think in terms of "things" and
their relationships, their behaviors.

I'm already doing Dog and Monkey classes on the first day,
with 8th graders sometimes (adults other times).  They get it.

My belief is CS courses postpone classes 'n objects for
a whole year because that's how an earlier generation of
coder learned 'em i.e. late in the game.

So these days they're considered "advanced" (and *there
are* advanced aspects no question -- not saying everything
OO is equally newbie accessible).

I don't think it'll stay that way in every curriculum, especially
those that tackle Python.

Kirby


More information about the Edu-sig mailing list