How to turn in your homework

Things to keep in mind:

All assignments are to be submitted electronically and are automatically time stamped, so we know when files were submitted. Logs are kept of everything, so if you try to submit files and it does not work correctly, we can look at the logs to help identify the problems.

It is your responsibility to ensure that you have submitted all the files that are required for each assignment. All files you submit should be named appropriately. If you fail to submit homework, we can't grade it, you get a zero for the assignment.

You can run the checkin program on the same file as many times as you like. The checkin program will keep every copy, but only the most recent will be graded. If, for some reason, you want an older version to be graded, let us know.

The checkin program only runs on CS Department Linux machines. It won't run on your home computer, or on a Windows computer.

The checkin program will let you check in any file at all, whether it is a text file, or an executable, or a jpeg, or a video game, or a ... you get the idea ... so be careful what you submit!

The checkin program will NOT alter your copy of the file being submitted. It will just send a duplicate of it for grading. Don't worry about it harming your files--it won't.

Every assignment has three dates associated with it:

Assigned date
If you try to submit a file before it's assigned, the checkin program won't let you. This is so your beleaguered instructor can change the assignments to match how the class is doing.
Due Date
The checkin program will remind you of the due date of an assignment when you submit it. If you are before the due date, it will let you know how much longer you have to re-sumbit a newer version before the due date. If you are after the due date, it will let you know that the assignment is late. Hopefully you will still get some partial credit.
Drop Dead Date
The date after which the homework will not be accepted. The checkin program will simply not let you submit after this date. After this date, there is no partial credit. Sorry! However, if you would like feedback on your homework after the drop dead date, you can email the homework to the TA and the TA will give you feedback on how you did (but no grade!)

The Procedure:

HWx should be whichever homework you are submitting (such as HW3 or HW1), and filenames should be replaced with whatever filenames you want so submit. You don't need to submit all of the files at the same time if you don't want to. One at a time is fine as well, they will only overwrite the older files if they have the SAME name.

The checkin program will tell you some messages. Hopefully, they will say encouraging things like "Checkin successful", and the current date/time, and other useful information. It will also tell you if it has made any backups of older files.

Verifying that things went smoothly (if you're worried):

First, login to one of the CS Department Linux machines (if you aren't on one already).

To get a list of all the files that you've ever submitted for this class:


To get a list of the files for a particular homework assignment:

    ~cs560/bin/peek HWx

To look at a particular file that you checked in:

    ~cs560/bin/peek HWx filename


    ~cs560/bin/peek HWx filename | more

However, if you turned in the assignment late, it will get renamed--see the next section.

Late Homework

If you turn in your homework after the Due Date (see above), but before the Drop Dead Date, the assignment will get renamed: the file foo.c will become LATE_foo.c. This is so that the people grading the homework will know that it's late. This renaming may affect the results you get from the ~cs560/bin/peek command.

Checking your grades (and comments):

To see all your grades for this class:


To see just the grade for a particular assignment, along with any remarks from the grader:

    ~cs560/bin/grade HWx

Making it easier:

You may not like typing in such long commands. In that case, you can add aliases to your .cshrc file:

    alias ci560 '~cs560/bin/checkin'
    alias pk560 '~cs560/bin/peek'

The effect would be that you would only need to type:

    ci560 HW2 myfile.txt

instead of

    ~cs560/bin/checkin HW2 myfile.txt

An example

Let's say you wanted to turn in a file Results.txt for homework #2:

    % cd ~/Assignment2
    % ls
    Results.txt  SomeOtherFile.txt  SomeThingElse.txt
    % ~cs560/bin/checkin HW2 Results.txt
    Checking in files for assignment 'HW2'
    Current time is: Tue Jan 29 11:06:42 2013
    Assignment is ON TIME!
      If you wish, you may turn in another (presumably better)
      version up until Wed Jan 30 12:00:00 2013
      and it will replace this version.

    File Results.txt was checked in.

Now, suppose you made a mistake and wish to fix it and submit a new copy..

    % vi Results.txt
    % ~cs560/bin/checkin HW2 Results.txt
    Checking in files for assignment 'HW2'
    Current time is: Tue Jan 29 11:27:16 2013
    Assignment is ON TIME!
      If you wish, you may turn in another (presumably better)
      version up until Wed Jan 30 12:00:00 2013
      and it will replace this version.

    Renaming old Results.txt to Results.txt.old
    File Results.txt was checked in.
    % ~cs560/bin/peek
    Size        Date             Time      Assignment  File
    ----------  ---------------  --------  ----------  ----
         13703  Tue Jan 29 2013  11:27:16  HW2         Results.txt
         13814  Tue Jan 29 2013  11:06:42  HW2         Results.txt.old

      2 Files listed

Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 license.

Last updated January 2013