cocalc
cocalc copied to clipboard
Add support for exam mode to course files
Problem: when using CoCalc for exams, it is desirable that students are not able to access their other projects, only the designated "exam project", which is empty except for exam files. Then instructors/TAs should only enforce that students are not using other websites than CoCalc.
Bonus: allow using of the course license for this exam project as well, perhaps even with boosted RAM or CPU.
Suggested implementation:
- each project gets metadata like "is_blocked" which is of course False by default
- course file gets a button "Start Exam" and either a button "End Exam" or a box to enter time duration (4 hours have to be supported, not sure about longer).
- pressing that button results in ALL projects of all students enrolled in the course switched to is_blocked=True
- a new and empty Exam Project appears in their account (not sure if these have to be made in advance so that there are no 100 projects created and started at once), with the same license applied as before, potentially with a "bonus exam booster", this project is not blocked
- there is a way similar to distributing homework, perhaps using the exact same interface and the same file, to distribute exam materials to these projects , i.e. for the course management framework these exam projects "take place of regular student projects"
- work is collected for grading in the end, "Exam Project" is cleaned up and disabled/removed, while all others are enabled again
- returning graded exam materials pushes them to "regular course projects" for the students, that's where some sneaky implementation of step 5 can be handy