What I learned in school was to put up with assholes in positions of superiority (teachers) that many times had 10% of my skills.
I literally had an Operating Systems (C network programming in Linux) teacher who wanted to fail me at the exam because I didn't wrote the program as in his book. I didn't bought his book but knew from the others the programs don't work well. I looked at the programs and all of them opened TCP or UDP port but never closed it so any subsequent execution would trigger an exception because the port could not be open (was open by previous execution). My program was using a C library for network programming and I literally wrote 5 lines of code so the teacher wanted to fail me because he didn't understood what the code did. I literally told him I dare him to a contest. I give him a program theme and he gives me one and if I do it and he can't he quits his job as a teacher. If is the other way I quit college. He went nuts when I told him that. He passed me and told me never to come at his class again.
Had another C teacher who gave us a program to build. I told him there's already a function in C for that. He replied "don't you think I'd knew if it was one". Told him functio name he insisted there's no such function and I have to copy this 2 page program from the blackboard and compile it. I played Need For Speed the entire duration of the class. 1 minute before the end wrote the function call in main() and showed him. He stuttered and said this must be in newer C version. It was a 6 years old Borland C++ compiler. After class (lab) he told me he wants to talk to me in private. Told me he thinks I'm good enough and don't have to attend his class anymore and will give me a 10 at the end.
Had a C++ MPI / paralel processing lab teacher who I taught about some stuff he didn't knew. Had same teacher at Computer Graphics (in MS-DOS C rofl). Told him i'm not interested to learn 5 years old graphics and I don't want to attend but I want a 7 for lab exam. He got pissed that I must learn that class because is important. Told him I did an entire game engine in OpenGL from tutorials 1 year ago. He asked me from where I took the tutorial so he looks over it. Took him 4 DVDs with OpenGL, DirectX, 3DSMax tutorials. He agreed I don't attend, gave me a 10 at lab exam (I actually had to attend the exam but learned how to do the programs in class 30min before - had to draw a clock on screen). Next semester graphics in C# - exam program required guess what?! A clock in a Windows GUI/window
The C++ MPI / paralel processing course teacher failed me 2 times in exam for same reason - I did not wrote the answers as in his book. I had to write about multi-processing and multi-threading. This was a 5/10 points question. Wrote 2 pages spot on. He denied what I wrote even when I showed him on a friend's laptop the same explanations from Wikipedia and a few other sites. It was black on white in his face and he would keep saying "that's not how I explained it".
Had a Java teacher that I taught him during an exam that he can throw exceptions out in cascade all the way to main and not have to handle them. The exam problem was to create a program (that on purpose triggered an exception). I just threw it out and he was like WTF is this. He was a very nice guy and knew I'm good at programming not an asshole like most. He didn't tried to play smart and cool he told me he frankly didn't knew about throwing exceptions out and I could see he's not upset like most would have been but happy he learned something new.
Had an asshole teacher make me do a LISP program to calculate sin(x) = 14. I was after 10 hours of re-testing sessions at 5 other classes I previously failed, stressed, pissed, tired, eat nothing all day, had 2 packs of cigs... Didn't even realized it's a trap question. He passed me anyway but he was an asshole, he always likes to show everybody how dumb they are and how smart he is. But at least he always passed up eventually.
Had bunch of classes unrelated to IT - sports, chemistry, physics, mechanics, etc.
Had classes I wanted to learn and even had good teachers at them (digital electronics) but I was so overloaded by failed exams at other classes that never got to learn these as I wished.
Even had a good math teacher which eve though I suck at math had such a well layd out course that I was able to figure out during the exam (he allowed us with any materials) how to solve the problems even though i never attended her class.
Had all sorts of teachers and most of them were grown-up children (though old of age) with complexes. Always treated us like a guardian treats inmates, always assholes, always making use of their position of power. Hated that.
All I learned in college was how to put up with assholes and mentally survive an environment filled with stress. But I saw my on interest and I had my own path and goal and worked towards that instead of trying to learn for useless classes.
Final exam for the diploma was the easiest. Got a 7.5 because there was an unwritten rule that they're not supposed to give more than 1 point above my final average from college (I had a 6.05 final average). I was an exception, they gave me 1.5 points. Asked the college secretary twice to go and re-check that I have 6.05 because they could not believe it. They even said I had the best presentation (out of 90% of all my colleagues they examined that day, 10% were the other day). I got a 7.5 though they wanted to give me a 10 because of that "rule". A girl coleague with a shit presentation who could not make a difference between a class, an interface and a drunk monkey got a 10 because she had a 9.5 final average.
I would have quit after first 3 years but under the pressure from my parents I didn't. That's my only regret, that I stayed there and wasted my time and got overstressed for nothing because what somebody else wanted. Bottom line is, what doesn't kill you makes you stronger, and buy did that whole experience made me strong...