Perhaps you remember my girlfriends programming teacher. This year he doesn't teach her C++ anymore but Delphi. Different language, same problems. He gives a homework/test, then the studends give them back more or less correct and then he tells them their mark and that they should correct it. BUT without giving the tests back, so that the students would know, what they made wrong. And he doesn't tell them how to make it right.
Recently he tries to hang the boss out: If the students want two tests per term, he chooses the time and date. If they want to choose theirselves, he only permits one test/term. So you have the choice of "all or nothing" but you know when or "a bit more security with a second shot" but you don't know if the shots fall around dates where your schedule is filled up with tests in other subjects.
Sidenote to the tests: His exercises are formulated in quite technical language, come with a pre-defined layout, class- and function-structure and if you don't build your solution into this, you get a worse mark. This is like learning a language just by copying letters written in that foreign language.
How should anyone learn programming in that way???
I think, he just has a problem with acceptation and so he enjoys forcing his students to do exactly what he wants, no matter how insane it is.