In undergrad, I was a Computer Engineering major and thus not required to take the Dynamics class – though Civil and Mechanical engineers were. For those majors, it was a “weed” class and the instructors made no mistake to announce that in class. I forget the exact failure rate, but it was in the 30% range (the proverbial “Look to your left, look to your right, one of you won’t pass this class”).
I was well prepared for the first exam and thought I did well, but when
I got the graded test back I had lost points on almost every problem
due to a change of coordinates. Since everything involved objects
falling downwards, or otherwise acting under the influence of gravity,
I defined my y-axis to point down – just to avoid having negative
values for basically EVERY SINGLE quantity. Well, that was wrong.
I got the correct values (and, this still irks me, I did have the correct vector/direction since I made a point of always defining my y-axis as down) and yet got points off on every question on the test.
Needless to say, I did the bare minimum in that class from then on – though I was careful to follow any arbitrary rules that came up during class so that I could avoid any more “gotchas” in the future.
There are two separate issues here: (1) telling students that 30% of them will fail, and (2) taking points off for stupid things.
For (1), I’m just not sure what value there is in telling people how hard a class or seminar is. While it might motivate some to study harder, it will certainly demotivate others – at best this would seem to be a zero-sum gain. To correct this, just don’t say these things. Those who are motivated by challenging tasks will simply see the challenges and be motivated. Those who may struggle down the road will at least start off on a more positive note.
For (2), much of it is just a test-design issue. There is really no instructional value in these kinds of “gotchas”.