I gave my students a take home exam over spring break. (This is normal where I teach) One of the questions was particulary difficult. It came down to a factor of three in the solution. That factor inexplicably appeared with no justification on many of their exams. I intend to have the students I suspect of cheating come to my office to solve the problem on the board. What would you do?
Edit: I gave them the Tuesday before spring break until the Thursday after. I didn't want it to be right before or right after.
By giving your students work to do off-time, you are reinforcing the capitalist notion that people should be expected to work off the clock. You can give them supplementary material as an purely optional if they don't have anything else better to do, but by making it mandatory you are robbing them of precious time they have to grow into healthy adults and making them resentful of education as a whole.
Same is true of home work. You're already robbing them of a good majority of their "be a kid" time, don't rob them even more of it.
I hated homework as a student, but many people (myself included) will argue for math homework to the bitter end because that material MUST be thoroughly practiced, and worked through for the student to have an effective understanding. Nobody is going to learn math just in the short time teachers get to present it each day. -That said, exams shouldn't be "take-home" if a teacher wants to avoid cheating.
If you can't get your point across during the 4+ hours you have in class you are failing as a teacher. If you have to repeat a process 300+ times to get it you are not teaching, you are making people memorize shit in the short term and that will kick them in the nuts in the long term.
The stuff I was expected to do the most I retained the least, because instead of learning the general use and application of each function I instead put all my energy on just getting the grunt work over with so I could move on to the stuff that was actually fun. Excessive testing can also completely fuck over student's test scores if they have even one minor weakness. My physics (favorite subject) teacher failed to properly teach Significant Figures, as a result I ended up losing half a point on every question for that reason alone. They just expected me to 'get it' through repetition (spoiler: I didn't) and ended up with a nearly failing grade, even though it was my best subject.
Ultimately I ended up specializing in game design (big mistake, have you SEEN the game's industry? It's basically a fraternity!) because it was the only course that didn't have any busywork. You learned the concept, applied the concept, and then proved you understood the concept, then you moved on to the next concept. At the end you prove that you are able to work everything together and then the course is over and you have everything you need to make a game. It was a really hard course and I almost felt like quitting at times but I don't think I've forgotten even a single it taught me, a point that was proven even further when I took a different game design course and aced it with zero effort.
Couldn't tell you how to do matrix math though. I just remember it being really really useful if only I remembered the rules all those years later.
It's funny you mention game development classes because the one game development class I took used a tutorial utilizing Unity and it was fraught with errors that our instructor was often unaware of. In-fact that's the last class I took before deciding to leave college and my formal training in software development as a whole.
I think I get what you're saying. There is no excuse for bad instruction. It sounds like your learning style put's you in the minority. I found repetition helped me understand procedure as applied in math that would otherwise lead to miscounting if I were just winging it. I think the same principle applies to the majority of math students.
The way I see it either you get something or you don't. If you're making mistakes it's because some fundamental skill isn't there and all repetition is going to do is entrench you further in whatever bad model you already have. Yes it gets you marks in class but that won't transfer to the real world. For a personal example, the way I count in base 10 goes from 1-3, 5, and then 10. I don't actually have a mental model to count 4s, 6s, 7s, 8s, or 9s and because I spent a good amount of my formative years getting by without it, that bad model is now entrenched in my mind and I have a really hard time counting a lot of numbers even though better models exist. Got me great grades, though.
EDIT: For ones I go Inc. Twos is IncInc, Threes are a somewhat awkward IncIncInc, I can't string four Incs so 4 is impossible. Fives is just a Even/Odd modulo followed by 10 which is just an Inc in the next place. I created a model that works off of an even-odd tree with multiplication. I wasn't able to parse it mentally but I did program it into a machine once and it was insanely efficient. It's very easy to find out if a value is going to be even or odd based on its inputs being even or odd, and once you figure that out you've halved the possible values. Turns out that's actually what modern-day ALUs do (with carry bits) in order to maximize processing speed.