答案解释:
解题思路: 本题考查情态动词的虚拟语气。
A项,must have done 表示对过去的肯定推测,意为 “肯定做了某事”‘
B项,mustn't have done 无此种表达方式;
C项,should have done 表示对过去的虚拟,意为 “本应该做某事,而事实上没做”;
D项,shouldn't have done 表示对过去的虚拟,意为 “本不应该做某事,而事实上做了”,带有说话人责备的语气。
根据句意:教授认为这位同学本应该完成的(should have done) ,故正确答案为C。