3 ms·
Look up blog posts by Mark Guzdial. He's a very thoughtful, reflective CS educator who has written quite a bit about students learning to program. I can't rem
by i_c_b 16y ago
Look up blog posts by Mark Guzdial. He's a very thoughtful, reflective CS educator who has written quite a bit about students learning to program.
I can't remember where he wrote about it, but apparently, 1) students can use other people's objects just fine, if they are simple (and so from that perspective, OO is fulfilling its general promise), but 2) new students have a nightmarish time trying to both solve new problems AND decompose problems into objects at the same time.
Which is to say, there is absolutely a reason not to introduce this to beginners. It makes them fail and quit.
Incidentally, the same argument could be made for the concepts of abstraction involved with composing new functions - new students can call existing functions just fine, but the skills involved with abstracting a problem, and replacing a pile of copy/paste with a parameterized solution, is apparently a more taxing set of skills than you might think.
Everything in it's right place.