Good students will quickly recognize the bad teachers and the good teachers. Crappy students... Well, they just don't really care one way or another.
I remember part of the registration ritual through college was to find out who the crappy teachers were (ever single Frat and Sorority had a list of them, and that list was available to any student whatsoever), and avoid their classes at all costs. That wasn't always possible though. For example, The organics of Chem class with the good teacher overlapped the Mechanics of Solids class with the good teacher my Sophomore year. I wound up taking Solids with a really crappy Eastern European prof (no dig towards Europe intended there).
The next semester I got stuck with the crappy Differential Equations prof.
In both cases, in fact in all cases, the students themselves had organized study sessions with students from the other classes. On the flip side of things, I've seen plenty of posts here from people who are obviously only making a last ditch effort to get an assignment done, and clearly don't really care about actually learning the material.
Besides, it's healthy experience for when they finally jump into the working pool if they ever end up with a goon for a boss. And that's always a very real possibility no matter what field you're in.
It's probably because languages update so frequently, so when you switch between it's a hassle to rediscover the new conventions. Especially when you're being paid to teach the old ones.
What? There's malloc, realloc, uhhhh... there's like an "alloc" for every single consonant in the alphabet...
malloc() doesn't call constructors.
Which makes it worse?
Hurr durr
Which reminds me; in a German exam yesterday one of the people in the exam was called "Herr Durr" (Herr is pronounced similar to "hair" in English; it means Mr.)
I'm getting kind of suspicious of the company that makes those exams. Another one featured someone called Wynn (pronounced like win) and the first sentence contained the string "lost the game."
Is it faster to reallocate memory than to allocate it?
It may be. Allocators rarely get exactly as much memory as you ask for, so sometimes it's possible to "resize" the allocated block by tinkering with its state, usually held a couple bytes before its start.