How to prevent organization/OS students from becoming premature optimizers?
I'm honestly not that I would address this problem at all within my own courses, but if it is to be faced, I suspect that the solution would be something like this:


Immerse students in their current layer.
Really teach the metaphor and thought-process of the layer that they are currently in, and only accept code that utilizes that model of thinking.
Warn students about the dangers of premature optimizing
Show students how to use a profiler in order to figure out what is actually slowing their code down.  Tell students to address their efforts here.