[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