Ensuring individual work¶
Assessing homework assignments has to assign a grade of some sort and determine whether the student completed the task alone. Various policies apply to individual work, and students in our higher education institutions comply with these policies with varying strictness. How can you ensure that the work submitted by the student will be their work?
First, what are the downsides of using automated evaluation? Since the task description should be specific down to how to call methods, it will lead to slight variance in code. Using plagiarism detection, therefore, will not work. This is a known cost for being able to automate the evaluation.
So what can you do? This question alone is worth an essay in itself, so let me highlight some ideas that my colleagues and I are applying.
- Ask the students to add comments into the code explaining the behavior.
- Request the student to create and submit screenshots that showcase some parts of the software. Have them display a unique identifier on these screenshots (e.g., add the student ID into the URL, display the student name in the footer of a website, prefix all database records with their name, etc.).
- Request students to present their homework to you (or at least some parts if there are multiple ones) personally and ask for a minor modification in the code.
- Combine the homework with other evaluation methods where cheating is not feasible.