negative connotation of "object orientation"

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

negative connotation of "object orientation"

kirby urner-4
Appended: from a Physics teaching list I frequent.

Note the negative connotations associated with "object orientation" (=
asocial = lack of social affect).

I take up this ethnographic thread in my blogs and this discussion
list from time to time, as I think it's apropos to many subtopics
(Diversity in particular).

Here's my take on it from awhile back:

http://worldgame.blogspot.com/2009/02/regarding-objectifying.html

Kirby

PS:  on a related topic, there's also a negative connotation
associated with "imperative programming".  The word "imperative" gets
translated to mean "bullying".  The functional programmers exploit
that connotation, and imply that functional programming is kinder to
children.

===

Well, it is at least reminiscent of Sheila Tobias.

On a possibly related note, Simon Baron-Cohen studied personalities of
scientists and engineers across many subfields. Among his results was
(sorry to bring bad news) that the closer one comes to physics,
mathematics, or similar engineering disciplines, the more closely the
median practitioner resembles high functioning autism (which, of
course, affects males over females by a ratio of 4.2 to 1). That in
turns brings with it all manner of asocial phenomena -- object
orientation, lack of social affect and the like.
- Show quoted text -
--
Dr. Paul J. Camp
Physics Department
Spelman College
Atlanta, GA   30314
            404-270-5864

"The beauty of the cosmos derives not only from unity in variety
     but also from variety in unity"
               -- Umberto Eco
                   The Name of the Rose

in response to:

Inside Higher Ed
Why Female Engineering Students Are Discouraged
October 26, 2011 - 3:00am

       Women perform as well as men in engineering courses, but are
less likely to stay in the field because of a confidence gap,
according to research published in the new issue of
<http://www.asanet.org/press/engineering_and_women.cfm>American
Sociological Review. Women are less likely to feel "professional role
confidence," the study found, which has to do both with their view of
their own talent and also of their sense that they are in the correct
field. "Often, competence in engineering is associated in people's
minds with men and masculinity more than it is with women and
femininity. So, there are these micro-biases that happen, and when
they add up, they result in women being less confident in their
expertise and their career fit," said the lead author of the study,
Erin Cech, a postdoctoral fellow at Stanford University's Clayman
Institute for Gender Research.

<http://www.insidehighered.com/quicktakes/2011/10/26/why-female-engineering-students-are-discouraged#ixzz1btymrPZs>http://www.insidehighered.com/quicktakes/2011/10/26/why-female-engineering-students-are-discouraged#ixzz1btymrPZs
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: negative connotation of "object orientation"

michel paul-2
On Wed, Oct 26, 2011 at 3:36 PM, kirby urner <[hidden email]> wrote:

PS:  on a related topic, there's also a negative connotation
associated with "imperative programming".  The word "imperative" gets
translated to mean "bullying".  The functional programmers exploit
that connotation, and imply that functional programming is kinder to
children.

OK, this is very interesting, especially in light of the Math 2.0 thread.  So 'imperative' and 'procedural' are pretty much the same thing, right?  But 'procedural' doesn't tend to imply 'bullying'.  It can simply mean 'orderly', spelling out a sequence of steps.  I just found this procedural/functional comparison useful.

So I started my computational class off purely functionally this year, and I really liked the results.  Some kids really got it, and it shows.  Others, well ... not so much.  Although, it seemed to have a positive effect on all of them as to how they organize ideas.  Functional thinking really is a great discipline.  Simultaneously, being able to quickly set up a loop to study something is sometimes just the right tool.  And then, if you can take that loop and switch it into a list comprehension, you're heading back towards functional thinking. 

Now that I've opened things up to pure Pythonic expression, it's interesting to see how some kids totally get both styles of thinking but others definitely gravitate towards one or the other.  Being able to express things in different paradigms as you can in Python I think is a big plus.  Different kids really do latch on to computational thinking in different ways.

It struck me the other day how if you open up any typical algebra text, one of the very early chapters will have a section on the 'properties' of 'equality'.  Well, how is it that 'equality' has 'properties'?  Objects have properties.  It struck me that if we think it's important in math education to make kids learn and apply the names of the 'properties of equality', then our math curriculum is already object oriented!

Using Sage (Python with super powers) we can construct equation objects and demonstrate the 'properties of equality':

sage: linear_eq(a,b,c,d,x) = (a*x+b == c*x+d)

sage: prob1 = linear_eq(2,3,5,8)
sage: prob1
2*x + 3 == 5*x + 8
sage: _ - 3
2*x == 5*x + 5
sage: _ - 5*x
-3*x == 5
sage: _ / -3
x == (-5/3)

sage: prob2 = linear_eq()
sage: prob2
a*x + b == c*x + d
sage: _-b
a*x == c*x - b + d
sage: _-c*x
a*x - c*x == -b + d
sage: _.lhs().factor() == _.rhs()
(a - c)*x == -b + d
sage: _/(a-c)
x == -(b - d)/(a - c)

Of course, you could also use Sage to just solve these outright:

sage: prob1.solve(x)
[x == (-5/3)]
sage: 
sage: prob2.solve(x)
[x == -(b - d)/(a - c)]

but the previous let's us 'show our work'.

- Michel

--
==================================
"What I cannot create, I do not understand."

- Richard Feynman
==================================
"Computer science is the new mathematics."

- Dr. Christos Papadimitriou
==================================


_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: negative connotation of "object orientation"

Kirby Urner-6
On Wed, Oct 26, 2011 at 8:25 PM, michel paul <[hidden email]> wrote:
On Wed, Oct 26, 2011 at 3:36 PM, kirby urner <[hidden email]> wrote:

PS:  on a related topic, there's also a negative connotation
associated with "imperative programming".  The word "imperative" gets
translated to mean "bullying".  The functional programmers exploit
that connotation, and imply that functional programming is kinder to
children.

OK, this is very interesting, especially in light of the Math 2.0 thread.  So 'imperative' and 'procedural' are pretty much the same thing, right?  But 'procedural' doesn't tend to imply 'bullying'.  It can simply mean 'orderly', spelling out a sequence of steps.  I just found this procedural/functional comparison useful.

Thanks for that reference.  Here's the opening paragraph:

Procedural programming can sometimes be used as a synonym for imperative programming (specifying the steps the program must take to reach the desired state), but can also refer (as in this article) to a programming paradigm, derived from structured programming, based upon the concept of the procedure call. Procedures, also known as routines, subroutines, methods, or functions (not to be confused with mathematical functions, but similar to those used in functional programming) simply contain a series of computational steps to be carried out. Any given procedure might be called at any point during a program's execution, including by other procedures or itself.

What intrigues me is the prospect not confusing these functions with "the mathematical functions" but being somewhat precise about the relationship, as they're not on wholly different planets, either, or shouldn't be, unless we're reading The Little Prince or something (everyone gets their own planet in that book -- which has a snake, a constrictor, but it's not a python).

I hosted a long thread at the Math Forum recently, on math-teach, where I trucked out the "Dolciani" meaning of function, what we learn in "schoolish math", especially since the New Math era, when much was done to formalize the teaching of functions in pre-college courses.

http://mathforum.org/kb/thread.jspa?threadID=2303870&tstart=60  (quite length, a silly argument about which of the two meanings of function is "more general")

Predictably, there's a skeptical backlash and the thought of using Python functions to help unlock the secrets of their mathematical counterparts is generally dismissed as trying to get computer science treated as mathematics. 

I regard that broken record more as brokenness in the English language than a real debate.  The categories into which "knowledge and skills" have been subdivided are too arbitrary to matter much, their half-life will be short (flash in the pan, obsolete as we speak).

Fortunately, I'm teaching Python to adults and getting to field test my more activist mathematics concepts, so I am personally not that frustrated.

The other thing is I work with the Diversity people and am alert to these anti-engineer stereotypes. 

The "object oriented" moniker attracts flak from more than one angle then: 

  • we have some functional programmers who think OOP is symptomatic of everything wrong with programmers and programming, and

  • we have some physicists who think "object oriented" means lacking in personal depth, warmth = a domineering pain in the ass, or a shy person with no social skills (many subspecies)

OOPers are basically somewhere between Lex Luthor in Smallville (calculating) and Spongebob Squarepants (a dork). 

How can we ever be cool, with that kind of PR dogging us around, feeding the behind-our-backs gossip?

Kirby



_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig