We want students to learn from their mistakes. How do we design courses so that will happen?
First, they need feedback. Not just a grade, but something telling them what they did right and wrong.
That helps, but is it enough? It would be better if students read and acted on the feedback.
I allow resubmissions for incomplete exercises. If a student misses a rubric item, they get to improve their work, and submit again.
Wait. That makes your course too easy. Everyone can resubmit, until they get an A.
No. In a typical course, I make each exercise worth a fraction of a percent, say 25% total for 40 exercises. Most of the grade, 75%, is determined by exams. Those can't be resubmitted.
Oh, OK. I bet that students who don't do the exercises, or cheat and have someone else do them, do poorly on the exams.
Right. The course is designed so that everyone can do well, if they do the reasonable things I ask. Of course, some don't, but that's their choice.
You can set the maximum number of resubmissions for your course. You set a default, like three. You can override the default for specific exercises, if you want to.
This is why Skilling rocks
Your courses make good use of students' time. Will they make mistakes? Of course. Now, let's have mistakes work for them.