Handin Help
This document describes how Handin Administration works.

Handin Overview
Handin allows students to electronically submit programming assignments. A student is able to submit files for any current assignment, may make multiple submissions for the same assignment, and may hand in assignments late. All files a student submits are stored in read-only format in the appropriate course account. A record is created for each submission.

When an assignment is collected, a modifiable copy of the student's last submission is created. This copy is to be used by TA's and Instructor's when grading the assignment. All Instructor's and TA's for the course are automatically given read/write permissions on this copy.

Once an assignment as been collected, a student cannot hand in files for that assignment, unless they have an extension.

Add Assignment
This form allows instructors to add assignments. The form has the following fields:
    Assignment #: This is the assignment number. By default this will be the the number of assignments plus one. It can be changed, and the other assignments will be renumbered accordingly.
    Description: This is the name of the assignment. The students will see this name when they hand assignments in. If this field is left blank, the students will see "Assignment #num".
    Due Date: This is the day the assignment is due. The assignment will be due at 11:59 of that day. Each section can have a different due date.
    Release Date: This is the day the assignment is released. Students will not see the assignment or be able to handin files for the assignment before the release date. This field can be left blank.
    Collection Date: This is the day the assignment is collected. All sections are collected on the same day. This field can be left blank, in which case it defaults to the day after the last due date. Assignments cannot be submitted after the collection date.
    Cheat Check: Check this box if you want Cheat Check to be run after the files are collected. If you use the Cheat Check feature, you must specify which language the project is written in. The default is C++. See CheatCheck Results for information about the cheat check mechanism.
    File Types: This indicates which types of files you want students to hand in. It can be left blank. It is mainly a convenience for the students. Only the appropriate files will show up when they run handin.
    Additional File Masks: You can use this field to specify your own file masks. For example, if you only want students to handin in files named proj1.cc, enter proj1.cc in this field. If you want them to hand in latex files, enter *.tex. Multiple masks can be entered. Use spaces or semi-colons to separate masks.
Before an assignment is added, some sanity checks are enforced. Release dates must be before due dates and collection dates must be after due dates. If any other errors occur, you will be notified.
Edit Assignments
This form allows instructors to modify and delete assignments. For each assignment, there is a form identical to the add assignment form. To delete an assignment, simply hit the appropriate delete button. To modify an assignment, edit the appropriate fields and hit the modify button. If you change the Assignment #, all assignments will be renumbered accordingly.

Note!! You can only modify a single assignment at a time. Each assignment has its own modify button.

Note!! There is currently no undo feature. Be careful when deleting assignments.

Add Extension
This form allows the instructor to give a student an extension on a particular project. The student will still be able to hand in the assignment even if the collection date has passed. If a student is given an extension, their assignment will be collected the day after the new due date.

If a student already has an extension for the given assignment, the extension will be updated.

Edit Extensions
The form allows instructors to modify and delete extensions. Note!! You can only modify a single extension at a time. Each extension has its own modify button.
Add Student
This form allows you to add students to your class so that they can use handin. This is useful if someone needs to hand in assignments but is not yet officially enrolled, or if someone gets disenrolled, or if someone wants to audit the class.

You can add a student to any section. Students must have a CSE account to be able to use handin.

Edit Students
This form allows you to remove students from your class. It only allows you to remove students that you personally added. You cannot remove students who are officially enrolled.

You can also move unofficial students from one section to another.

Handin Results
Every time a student submits files for an assignment, a record is created. This page lists the record of what each student has handed in for each assignment. If Javascript is enabled, you can list the information for a single student, or a single assignment.

For each submission by each student, the date, status, and the files submitted are listed. If the status is Error, then the student attempted to handin files but the system failed. Otherwise the status will be Collected and/or Late, indicating if the submission was collected or not and if it was late or not.

Students can make multiple submissions for any assignment. This page is helpful in tracking down earlier submissions. See View Files for more information.

CheatCheck Results
Handin uses the MOSS System to detect possible program plagiarism. When an assignment is collected, the files are automatically sent to moss. The moss system usually replies very promptly, so the results should be available within minutes after the assignment is collected.

moss results expire after 14 days. The resubmit button allows you to resubmit an assignment to moss.

View Files
This page lets you look at the files a student submitted for a given assignment. You could also just cd to the appropriate directory, but that would not be as much fun.

The main purpose of this page is to collect earlier submissions of an assignment. Suppose somebody accidentally submitted a non working version after submitting a working version. The TA or Instructor can use this utility to retrieve the earlier submission.

TA's
Use this form to add or remove TA's from a course. Handin uses the TA list in the following ways. TA's are given read permission on all submitted files. When files are collected, the TA's (and instructors) are given read and write permission on the files. The TA's are also sent an email whenever files are collected.

When adding a TA, use the TA's CSE login name. The TA must have a CSE account.

Password
Change your password. The passwords used by Handin are completely separate from your CSE account passwords.
Create Survey
It is possible to create and edit online surveys. This page is for the creation of online surveys.

To create a survey, just enter a name. The name cannot contain spaces. The two check boxes have the following meaning. Allow Multiple Responses indicates if a student can reply to a survey more than once. If multiple responses are allowed, Delete Previous Response indicates if previous responses are deleted by later responses.

The Survey Introduction field will be displayed to the student at the beginning of the survey. The Completion Text field will be displayed when a student succesfully completes a survey. Both these fields can contain HTML. These fields can be left blank.

You can also provide a file containing the Questions and Answers for this survey. The format of the file is the following:

    QUESTION=This is the first question
    ANSWER=True
    ANSWER=False
    QUESTION=This is an essay question
    ANSWER=TEXT
    QUESTION=This default answer for this question is 5
    ANSWER=1
    ANSWER=3
    *ANSWER=5
    ANSWER=7
    QUESTION=This question has multiple choice parts and an essay part
    ANSWER=Yes
    ANSWER=No
    ANSWER=Maybe
    ANSWER=TEXT
    
Edit Surveys

The Edit Surveys page lists existing surveys, and allows you to edit, preview or delete existing surveys. You can change the name of a survey, change how multiple responses are handled, and change the introductory text and the completion text.

The Edit Survey Questions page allows you to edit the question an existing survey. This is one of the more complicated pages in the Handin system. Edit Survey works best when Javascript is enabled.

Edit Survey Questions contains three frames (not including the title frame). The top frame allows you to enter new questions. A question can be an essay question, a multiple choice question, or both. To indicate an essay question, click on the Text Answer check box. To indicate a multiple choice question, select one of the answer sets listed. Questions are appended to the end of the survey.

The middle frame allows you create answer sets. Simply enter a set of possible answers. To indicate a default answer, click on the appropriate radio button. You can add a set of answers to the default list in the top frame with the Add to Default Answer Sets button.

If Javascript is enabled, the top and middle frames work together. If you select Custom Answer Set in the top frame, the answers listed in the middle frame will be used. If Javascript is not enabled, you have to add an answer sets to the list of defaults before you can use it in a question.

The bottom frame lists the current questions in the survey. To update the question text, change the text and press Update Question. To renumber a question, change the question number and press Update Question (you can also alter the question text and renumber a question in one step). To delete a question, press Delete.

If Javascript is enabled you can also modify the answers. The Edit Answers button simply copies the answers for the current question into the middle frame. The Update Answers button uses the information in the top and middle frames to update the answers to the current question. If Javascript is not enabled, the only way to update the answers to a question is to delete and re-add the question.