In one of my classes, I had a student who generally understood stuff faster than the others. In tutorials, he would ask a lot of questions, mostly of the kind
"I tried this method instead of what you suggested, is it correct?"
Now, this probably sounds like the dream student, but I quickly realized that he was not really after my input, but rather seeking acknowledgement of his superiority (possibly showing off before his friends).
The exchange would often go like this. If what he suggested was correct, fine, I would say "great!" and move on. But quite often there would be flaws in his argument, which I would naturally point out. He would always assume that I misunderstood him and when I was (finally) able to show him that his argument did not stand, he would say something like
"Oh yeah, that's what I meant to say, but I phrased it wrong"
Note that this was an math class, so "phrasing it wrong" really means "failing to prove". When he asked a genuine question and I started providing an explanation, he would cut me off halfway through with something like
"Right, I get it, it's because this and that"
and convincing him there was actually more to it was yet another struggle.
I am concerned because I really feel he could be an amazing student if he would only accept that he does not know everything beforehand and therefore sometimes makes mistakes. Also, it seems like my time could be better used than in convincing a student that I'm worth listening to.
How can one explain this to such a student without humiliating him? Simple reasoning and proof by example (you'd think after the tenth time I pointed out his mistakes he would have learnt that he sometimes does them!) apparently just bounces off of him.