Try this:
find /Class/ -maxdepth 1 -mindepth 1 -type d | while IFS= read -r student; do
find "$student" -type f -newer "$student/Unit/MarkSheet*"MarkSheet"*
done
The first find looks for the student directories and the second for files neer than the corresponding MarkSheet.
You can also do it the other way around:
find Class/ -name MarkSheet*'MarkSheet*' | while IFS= read -r mark; do
find "$(dirname $mark"$mark")" -newer "$mark" -type f;
done
The trick here is to use dirname to get the name of the directory containing the MarkSheet* file.