Quick diversion here.
One problem a lot of people have with interface development is that people do the wrong thing. Consistently. The coder sits there, staring in disbelief, as one person after another makes apparently stupid decisions in what to click on. "But it's obvious!" the coder cries. "These people just suck!"
Eventually, they have a revelation. They realize that people *do* suck, yes, and it's the interface designer's job to make the interface work anyway. If people can't use the interface, it doesn't matter how much you say "but it's a good interface!" - the fact is, it's a lousy interface.
Let's go back to the teaching.
If people aren't learning, it doesn't matter how much you claim it's the students' fault. Chances are, it's just a bad teacher.
So, what does it say when the majority of students, in the majority of my classes, are failing? Myself possibly included, judging by the number of times the teacher has totally forgotten major things we had to turn in until it's too late? (Yes, the TEACHER, unless 95% of the class missed the same thing.)
Yeah. I gotta get out of this school.