Electronic Check-In For Programming Assignments

Login to a Linux machine (if you aren't on one already). "cd" to the subdirectory containing the file(s) to check in. Type

~cs320/bin/checkin HWx filenames

"HWx" should be whichever homework you are submitting (such as HW3 or HW1); "filenames" should be replaced with whatever filenames you want to 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.

Making Sure Things Were Checked In Right

Login to a Linux machine (if you aren't on one already). Decide how paranoid you want to be:

  • Type ~cs320/bin/peek and you will be presented with a list of every file you have ever submitted to the checkin program in this class. As well as dates, times, sizes, and the assignment it was submitted for.
  • Type ~cs320/bin/peek HWx (where HWx is the assignment you are checking on) and you will be presented with a list of every file you have ever submitted for that assignment.
  • Type ~cs320/bin/peek HWx filename (where HWx is the assignment you are checking on, and filename is the file you want to look at) and it will dump the contents of the file to your screen. If the file is long, you may want to consider "piping it thru more" (meaning, type ~cs320/bin/peek HWx filename | more. You could also redirect the output to file in your home dir.

Once you feel secure enough that it worked, you can relax.

Making it easier

You may not like typing in such long commands. in that case, you can add an alias to your .cshrc For example, you may want to add the lines:

alias ci320 '~cs320/bin/checkin'
alias pk320 '~cs320/bin/peek'

to your .cshrc and the effect would be that you would only need to type: ci320 HW2 myfile.txt instead of ~cs320/bin/checkin HW2 myfile.txt and pk320 instead of ~cs320/bin/peek.

An Example

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

% cd cs320/Assign2
% ls
Results.txt  SomeOtherFile.txt  SomeThingElse.txt
% ~cs320/bin/checkin HW2 Results.txt
Checking in files for assignment 'HW2'
Current time is: Mon Aug  8 12:16:03 2005
Assignment is ON TIME!
  If you wish, you may turn in another (presumably better)
  version up until Fri Dec  9 23:59:59 2005
  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..

% emacs Results.txt
% ~cs320/bin/checkin HW2 Results.txt
Checking in files for assignment 'HW2'
Current time is: Mon Aug  8 13:45:35 2005
Assignment is ON TIME!
  If you wish, you may turn in another (presumably better)
  version up until Fri Dec  9 23:59:59 2005
  and it will replace this version.

Renaming old Results.txt to Results.txt.old
File Results.txt was checked in.
% ~cs320/bin/peek
Size        Date             Time      Assignment  File
----------  ---------------  --------  ----------  ----
     13703  Mon Aug  8 2005  13:45:35  HW2         Results.txt
     13814  Mon Aug  8 2005  12:16:03  HW2         Results.txt.old

  2 Files listed
%

Some things to keep in mind

  • All assignments are to be submitted electronically and are automatically time stamped, so we know when files were submitted. PLEASE SUBMIT ASSIGNMENTS ON TIME!
  • 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 a homework, we cannot grade it! And if we can't grade it.. we have to assume a ZERO! So please be sure to submit things properly.
  • 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, please let us know!
  • The checkin program only runs on Linux machines. Almost all of the machines in the labs run linux. But if for some reason you log in on a machine that runs another OS, you can log in to a linux machine and run the checkin program from there.
  • 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 please 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 will not.
  • Every assignment has three dates associated with it:
    • Assigned date: If you try to submit a file BEFORE it is assigned, the checkin program will not let you.
    • 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!