Most of your 6.170 assignments will be submitted electronically using the turnin6170 script. This script stores your solution as a .tar.gz file, which the staff will collect when the problem set is due (typically every Friday at noon). We strongly encourage you to submit your problem set well before the deadline. We also provide a validate6170 script which performs basic sanity checks on your problem set solutions and reports any errors or deficiencies. To run the turnin script, type
athena% turnin6170 psNTo run the validation script, type
athena% validate6170 psNIn each case, specify the name of the problem set that you are turning in instead of psN. You may run each script as often as you like (up to the time the problem set is due, including any slack weekend you are using).
Your TA may also ask you to turn in a hardcopy, in order to save him or her the effort of printing out 20 separate solutions.
The scripts determine which files to submit by examining file ~/6.170/psN/Manifest, a simple text file that contains one filename per line. You will generally be given a starter Manifest file for each problem set. You may edit it to add additional files to be turned in; in that case, you should also mention the file's purpose elsewhere in your submission, so that your TA understands why it is included and what role it plays in your assignment. Do not turn in compiled files such as .class files; we will generate those from your submitted .java files. Formats besides plaintext (ASCII) and PDF (good for object models and the like) are not acceptable unless you make prior arrangements with your TA.
We specify a filename for non-code problems -- usually problemN.txt, for appropriate value of N. You must turn in that file (by including its name in the Manifest file) when you run turnin6170, though your answer to the problem might appear in that file, in another file, or be submitted in hardcopy. Your Manifest file should always list problemN.txt, since you will always turn in that file.
The solution to problem N was submitted in hardcopy.
Also, you will need to drop off the hardcopy in the
course secretary's office before the deadline.
The solution to problem N appears in problemN.pdf.
The problemN.pdf file may contain text, diagrams,
or both (or any other information that you can include in a PDF file).
In order to make testing and grading your problem sets easier for us, and in order to provide you with tools for checking for certain common blunders before you submit your work, we may specify particular file names and directory structures for parts of your code.
Do not implement your own Java native methods.
The validate6170 script will perform sanity checks on your solution. However, the script is not guaranteed to detect every error in your handin, or in your code. In other words, even if you pass all the tests, your code may still be buggy. Nevertheless, by running the script, you can make sure that your assignment does not suffer from a few of the most common handin errors.
To run the validation script, type
athena% validate6170 psNSpecify the name of the problem set that you are validating instead of psN.
If validation passes, the output will look like this:
athena% validate6170 ps1 validate6170: Validating ps1, please be patient... validate6170: Success -- your solution passed validation.
validate6170: Command not found
python2.0 not found
I don't know about any project called [name]
The version of 'java' in your path is [A.B.C]. We require that you use [X,Y,Z].
Required directory [path] does not exist
Directory [path] is not visible to system:6.170
fs sa [path] system:6.170 readNote: This command is not recursive; if there are any subdirectories under [path], you will need to give the staff read permission on those directories as well.
Source file [filename] not found
Class file [filename] not found
Couldn't compile [classname] ([filename])
[classname] not runnable: ...
Manifest file does not exist (No such file or directory: [file])
Manifest cannot contain .class files ([class])
Manifest has non-relative paths (File [file] is not relative to [path])
File listed in manifest does not exist (File [file] does not exist)
Manifest does not contain a required entry (Mainfest does not list required entry [file])
We strongly recommend that you run validate6170 before you run turnin6170. This will help ensure that your solution is in working order and that we will be able to grade it.
We strongly encourage you to submit your problem set well before the deadline. At the last minute, you do not want to become the victim of slow networks, power surges, clock skew, or problems with the formatting of your files, all of which could cause you to submit your assignment late and thus receive no credit. The 6.170 staff will extend the deadline for computer-related problems only when the problems affect the functioning of our submission software.
To run the turnin script, type
athena% turnin6170 psNSpecify the name of the problem set that you are turning in instead of psN.
If turnin is successful, the output will look like this:
athena% turnin6170 ps1 turnin6170: Your solution has been stored in /mit/USER/6.170/ps1-turnin.tar.gz turnin6170: You may rerun turnin6170 up until the homework is due
turnin6170: Command not found
python2.0 not found
I don't know about any project called [name]