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 the project files you wish to submit.
  3. Be sure that the code within this directory is 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 submission process first verifies that the project can be submitted. The project must have no uncommitted changes and must compile successfully. The hard deadline cannot have passed. It will offer you the option to run sanity check to verify your output conformance (responding 'no' will skip this verification altogether). 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, the project is submitted and a confirmation message indicates the submission was successfully made. If you run into a submit failure that you cannot resolve, please seek help from the course staff or the discussion forum. You may want to do a test submit well in advance of the deadline to confirm things will roll smoothly when the time comes.
  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.

Submission deadlines are tightly enforced. Cutting it too close can make your submission late if you land on the wrong side of the deadline. 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

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

Submit asks if you want to verify sanity check before submitting. If you respond yes and the project doesn't pass, the submit is canceled. To submit a project doesn't pass sanity check, respond no so that sanity check verification won't hold up your submission.

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: