I read Andrew Binstock occassionally in SD Times and in the most recent issue he posted a list of guidelines (which in turn was excerpted from 'The Thoughtworks Anthology') for learning to write "real" object oriented code. Read Getting the knack of OO Coding and see what you think. Some of it seems a little over the top, but it is an exercise I guess. I know it does make me wish for a similar concept in SQL (TSQL). Not to teach object oriented style in TSQL (bad I think), but rather a way to really drive early learners to use the language fully and elegantly. Have to think on it a little, maybe I'll try - anyone else got ideas on this?