4.2. Publishing Assignment Solutions

websubmit can be used to reveal instructors' solutions to students. Although this is easy enough to do by posting a solution online, dealing with students whom you have given permission to turn work in late or who are working off incomplete grades is something of a problem. How do you reveal a solution to the bulk of the class without revealing it to everyone?

websubmit can serve up solution files from an instructor-designated directory. This directory must be readable and executable by group "faculty", but not by the world. A student who requests access to the solution directory will not be allowed to subsequently submit to that assignment.

To designate a solution directory, add a <solutionDirectory> element to the submission information file.

<assignment> 
  <title>CS361: Keeping Your Distance</title> 
  <roster>/home/zeil/courses/cs361/Assignments/f10/roster.dat</roster>
  <directory>/home/zeil/courses/cs361Submissions/editd</directory> 
  <file filter="editdist.cpp" required="1">
     Your implementation of the editDistance function.</text> 
  </file>
  <file filter="README.txt">
     Notes to the grader, if any.
  </file>
  <solutionDirectory>/home/zeil/courses/cs361/Solutions/editd</solutionDirectory> 1
  <solutionDate>1/1/2001</solutionDate> 2
</assignment>

1

This specifies the location of the instructor's solution.

2

(Optional) This specifies the first date upon which the solution will be available.

The solution directory is presented to the students as a list of files that they can download. If, however, the specified directory contains an index.html file, the contents of that file are shown along with the file list. That HTML file could, for example, link to other locations or documents i8f desired.

When a students views a solution, a "marker" is added in the assignment submission directory in the form of a file named studentLogin.viewed-solution. This marker is checked before a student is allowed to submit, and if it is present the student will not be permitted to submit the assignment. If, for some reason, you want to permit them to submit anyway, you will need to manually delete that file.