As an experienced practitioner I would also welcome any feedback in this area as I am, like many others, franticly trying to "transition" procedural and 4GL based programmers across to OO and CBD. Many years observation and experience lead me to postulate that, for whatever reason, the successful conversation rate is low, somewhere around the 40% mark. Naturally, the definition of "successful" is key here and I define it as developing and delivering robust OO code through well designed models.
 
And here is where I think Allen hits the nail on the head: it is the need to undertake abstract design that is often the killer point in the transition for most people. Conceptual thinking is near the top of the list of attributes for good OO and CBD design and delivery (it seems to me) and this does not appear to be a trait that everyone has.
 
I guess one way to see if folk can handle the abstract modes of thinking is to give them the "gang of four's" pattern book and see if they can make sense of what is presented to them! Cruel in some ways but maybe effective in others. Less cruel would be to use Peter Coad's Domain Neutral Constructs but there must be better ways.
 
//Carl
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]On Behalf Of Allen Milewski
Sent: 16 September 2003 02:23
To: [EMAIL PROTECTED]
Subject: PPIG discuss: OOD and cognition

I've recently had cause to become interested in software/programming educational techniques. In the education literature, there seem to be two kinds of positions: (1) OOD has so many advantages that we should teach it early and (2) OOD is a more natural way to think, as long as it hasn't been tainted by earlier training in procedural thinking- so we should teach it early. 
 
As a result of both positions, teaching Object Oriented Methods is absolute gosple at most institutions.  But, I have heard many educators quietly complain that OOD is very hard for naive students to learn, that it requires an entire different "level" of work (namely, abstract design) and even that for students (even for many experienced programmers) Object-oriented thinking is often a secondary thing wherein. programs are first conceived in procedural terms and then "translated" to object-oriented design because OOD is the "right way".
 
Can anyone help me with the basic literature to support position #2 above?  I'm willing to believe that the cognition literature suggests we can think in terms of objects, but what is the empirical basis for saying it is more natural? What problem solving steps/techniques are facilitated by OOD? What is the mechanism for the alleged interference by procedural thinking on learning OOD? 
 
 Is there a thread in the archives on this?- its seems there must have been many.
 
Any help would be appreciated.
 
_____________________
Allen Milewski
Department of Software Engineering
Monmouth University
[EMAIL PROTECTED]
 
 

Reply via email to