Well said, dethman.
I learned a very valuable lesson in my technical training in the Marine Corps when I had to sit through a class on hardware taught by a not-so-good programming instructor. The instructor had little real-world programming experience much less hardware and likely couldnt tell the difference between the CPU and the PSU. I stupidly called him out on a blatant error in the middle of class and then later on an error on one of his tests. Needless to say, I was absolutely right in the technical sense but that cost me dearly as he did EVERYTHING in his power to make sure i did not graduate in the top 3. I ended up being #4.
One of the assignments was a VB6 hello-world type application. I finished it and waited around for everyone else but soon got bored. So i started adding menus and a bunch of other random stuff to the form. When you clicked it, it did a msgbox "why the hell do you need help on a hello world application??". He took off a boatload of points for that, saying my program was "not user friendly" because the msgbox was rude. Couldn't freakin believe it, but you know, I might have done the same thing if i was an instructor and i had some little smart ass correcting me in class. Of course, I wouldn't teach a class i knew nothing about, but that's a different story...