How to submit

Written by Julie Zelenski

When finished with an assignment, you submit it for grading. It's important to recognize the difference between commit and submit. You use hg commit to record a snapshot in your revision history. You will make many commits during development, but these commits are stored only in the history of your local repo. When finished, you must explicitly submit; this final act copies your work to your class repo (the one that lives in /afs/ir/class/cs107) so that it is available to the staff to be graded.

  1. Log into a myth machine.
  2. Use the cd command to change into the directory containing your project repo.
  3. Verify that all of your files are up-to-date and committed. The output of hg diff should be empty.
  4. Issue the command

    /afs/ir/class/cs107/tools/submit
    
  5. The submit tool first verifies your project's readiness for submission. The project must have no uncommitted changes and must compile successfully. It will offer you the option to run sanity check (responding 'no' will skip it). If any part of verification fails, it will reject the project and you must fix the issues and try submit again.

  6. If verification passes and submissions are being accepted, the project is submitted and a confirmation message indicates the submission was successfully made. If the deadline has passed and grace period expired, the submission is rejected.
  7. You can submit as many times as you want. To submit an updated version, just repeat the same steps. Only your last submission will be graded.
  8. If you run into a submit failure that you cannot resolve, please seek help from the course staff or the discussion forum. We recommend that you make a test submit well in advance of the deadline to confirm things will roll smoothly when the time comes.

Submission deadlines are firm. Cutting it too close runs the risk of landing on the wrong side -- don't let this happen to you! Computers can sense fear and that's just when you are going to hit a snag or network bottleneck... submit early to give yourself a safety cushion and avoid the last-minute stress!

Frequently asked questions about submit

Can I submit a program that doesn't pass sanity check?

We strongly recommend that you resolve any sanity check failures before submitting, but the submit tool will not force you to do so. To submit a project doesn't pass sanity check, respond no when asked if you want to run sanity check, and the project will be submitted without that check.

How can I verify my submission?

This is not a necessary step, but if helps you sleep easier, you can review the contents of your submission in your class repo. Your class repo lives in /afs/ir/class/cs107/repos/assignN/$USER. (N is a placeholder, replace with the assignment number in question). You can cd into this directory but you won't be able to directly read the files or view the contents via ls. Instead, use Mercurial commands to review the repo contents. Here are two ways to double-check your class repo: