We have an incentive grading scheme for programming labs such that students get 89% for submitting a program that meets the basic requirements of the assignment, if submitted on time. To get the "extra credit", they have to add something useful on to the basic requirements, still submitted on time. We did this because we were having two issues in the classes:
- Students were just doing the bare minimum
- They were handing things in late
But, in a weird twist on Pareto optimization they now spend the first 89% of the time trying for the extra credit portion, and the remaining 89% of the time just getting the bloomin' thing to work correctly (Parkinson's Law).
I usually fail to anticipate this, so when I say, for example: "use Bootstrap to get your web page to look basically like this..." and the first thing they do is go to the "designer screen" in Visual Studio and start dragging, resizing, re-positioning, changing fonts, colors, etc, I am stymied. (It does not turn out well.) I was thinking that they would make some programmatic improvements to the very simple example, since most of the basic code could be copied right out of the textbook anyway.
Is there a way to encourage the students to get something working first, then enhance it? Is a grade incentive the wrong way to go about that? I suppose it is really down to me, as it says in the Art of War: "If the instructions are not clear, if the orders are not obeyed, it is the fault of the general." Good thing I do not have 160 students.