Is it possible to setup something like this?. I'm using Canvas for an undergraduate physics laboratory class, and I would like the classes to include a pre-lab question that students are expected to answer before coming to class to do their lab. The way I've set this up is I have a module for each lab, and the pre-lab questions are in the form of a Canvas quiz (that lives within the module), which can self grade (they consist of multiple choice or numerical problems). The pre-lab questions are very short and simple, collectively worth 10% of the student's final grade, and the students have unlimited attempts to complete each pre-lab. Students can keep attempting pre-labs until they get it completely correct.
The instructions for the lab itself are a separate Canvas page, and the students input their data and answer questions in a second Canvas quiz (which is hand graded, since it's impossible to guarantee what the student's actual data will be) in class. Both the instructions and data/questions quiz live in the same module.
The behavior I would like is that the module requirements for each lab require the students move sequentially through each of the requirements in order. Each module has requirements of "Score at least" for the pre-lab, "view" for the lab instructions, and "submit" for the lab question/data, which the students must to in order. I set the requirements for the pre-lab to be "score at least 100%". So the students can't do the "view" or "submit" steps until they get the pre-lab completely correct (i.e. they can't actually do the lab until they complete the pre-lab).
The next thing is I would like to enforce "pre" part of the pre-lab (i.e. I want the students to complete the pre-lab before they show up for class). What I would like to happen is that if the student hasn't completed the pre-lab when they get to class, they can still do the pre-lab in class before they get started on the day's experiment (indeed, they still have to in order to satisfy the module requirements and access the rest of the lab). BUT, in that situation, I don't want them to get the points for the pre-lab (i.e. they will still score 0 for the pre-lab for the purposes of their final grade). My idea was that I would set the due date for the pre-lab to be the date/time that the lab starts. In the gradebook, I apply a late policy for the class that late assignments have a 100% deduction (with a minimum score of 0%).
What I had thought would happen is that the quiz would score as 100% once completed regardless of the due date (satisfying the module requirement), and any late penalty would apply as an adjustment to the gradebook (rather than the assignment itself). That way the student can still satisfy the module requirement, but it scores 0 for the purposes of their grade. However, when I tested it my approach it actually makes it impossible to satisfy the module requirement once its late, since the pre-lab can apparently only score 0, which then means the students can't access the lab (not what I intended).
I did think of a workaround, which was to set a minimum score for the pre-lab (to satisfy the module requirement) of 1%, and make the late penalty 99%. That kind of works, but if the pre-lab has multiple questions, it does mean the students can satisfy the requirements by answering any one of them. Is there a more... elegant way to accomplish what I'm trying to do, that actually makes Canvas behave properly as I'd like? If not, I would like to recommend that Instructure consider applying any penalties as adjustments to the gradebook, not adjustment to what an assignment itself scores.