The little child in me howls that it's not fair. The late 20-something in me says that life isn't fair, and life isn't going to test on what's covered in the lectures, so why should the instructor?
The me of now says, y'know, classes aren't real life. Yeah, they are supposed to prepare you for real life. But classes are also an abstraction of real life. Tests in classes aren't tests to see how well you can cope with unexpected questions. They are tests to determine how well you have learned the subject matter. Asking questions on subject matter that was not covered is not useful for demonstrating how well one has learned the subject matter, since it is subject matter that one has not learned. Therefore, it is useless behavior, and should be stopped.
(Hm, I think I'm reading too much Japanese these days. That last sentence re-wrote itself three different ways in Japanese before I finally corraled it into something in English. And the English still is not expressing my original intention.)
I am self-aware enough to know that a large portion of why this is pissing me off so much is because it reminds me of what I dealt with far too often at my last job. One of my coworkers would intentionally withhold information just so that he could make other people look stupid and himself look more on top of it. (For anyone petty enough to think this is a cool idea, let me just warn you that this tactic works much, much better if it isn't obvious that you are withholding information. If it is obvious, then you just look like a jackass.)
It's a real shame that the way the class is being taught is so frustrating. There are many aspects of C# that I think are kinda cool. Unfortunately, in my mind the language as a whole is rapidly assicoating with lots of suck in my mind.
Off to read ahead a whole bunch, since it's obvious to me now that success in this class depends on already knowing everything about the language. Which makes me really wonder what the point of the class is.