Electronic Submission
You will be using a program called "402submit" to submit the code that you write for projects in this class. It will
only attempt to detect changes of the following types:
- You may (and must) add a file in the Nachos code directory called
GROUPNAME, that contains the name and email address of everyone in your project group.
- Also in the code directory, you should also create a file called WRITEUP, which contains the
project writeup. (This is described in more detail below. It should be plain ASCII (not postscript, dvi, etc).
When transfering either of the above text files be sure they are correctly named, i.e. do not have a .txt
extension, and that you transfer them in ASCII mode to avode creating files in UNIX filled with ^M's.
- You may add .cc and .h files, or modify any such existing files (EXCEPTION: Do not edit any
file in the machine directory! Editing a file in the machine directory is equivalent to changing the hardware of
your computer)
- In the top level code directory, you must update Makefile.common to include the files you have
added to the threads directory.
Here are the steps: First, make sure your project is ready to submit! This means:
- MAKE SURE YOUR CODE COMPILES! Do not submit code that doesn't compile properly! (You'd be surprised how many
students do!)
- Remember to create a GROUPNAME file as described above.
- Make sure your WRITEUP file is also there, as described below.
- Finally, under risk of grade reduction, remove all of the .o's and any
other unnecessary files (such as backups) from the NACHOS directories that will be submitted.
Otherwise, it is very easy to go over the 100 file limit of the submit program, which will not only aggravate the
graders, but delay your project's grading.
Once your project is ready to submit:
- cd into your nachos code directory. ALL SUBMISSIONS ARE TO BE FROM THE CODE DIRECTORY.
- execute the command ~csci402/bin/402submit -d -a <Assignment #> -g <Group #>
Assignment # is the project number: use 1 for threads, 2 for user programming, 3 for virtual memory, 4 for networking (distributed NACHOS) assignment
Group # is your group number obtained through the online registration
The -d option lets you display the files that would be submitted. TO ACTUALLY SUBMIT YOUR FILES TO THE 402 ACCOUNT, LEAVE THE -d OFF.
A simple way to ensure that you are not over the 100 file limit is to pipe the output of the submit program when using -d into a temporary file and then remove anything that is not a filename. The number of lines in your temporary file is then the number of files you are trying to submit (excluding directory names, too).
The 402submit program submits your files to csci402.
- If your submission does not compile, you will be penalized for it.
- Your submission time is the time at which you issue the ~csci402/bin/402submit command.
- Only one person in the group should submit code.
- You can execute the command ~csci402/bin/402submit -h to get more help about this command.
- You can submit as many times as you want. Old files will be deleted in favor of the new files. However, the limits
which apply to the submit program will still be in effect. This means that you should still wait the correct amount of
time inbetween submissions - at least 30 minutes.
- You can not submit code up to 10 days after the deadline.
Slip Days and Late Submissions
You have 6 slip days that are available to your group during the semester. You can use up to 4 of these
on any one project. This means that you can submit your project up to a total of four days late
without penalty. For example, you can use four slip days on one project and two on another, or some other combination.
Slip days are automatically deducted - you do not have to decide to use them.
If you exceed the sixslip days, the penalty is 10% of your score on the project per day late.
For example, if you used 4 slip days on project 2 and submitted 3 days late on project 3, that means you used all 6 slip days
plus one extra day late. Your project 3 grade will be reduced by 10% of your original score.
The Project Writeup
Writing code is not enough to satisfy the requirements of the project. A large part of your grade will come from
the writeup. The writeup is submitted electronically along with the rest of your code, as described above.
The writeup should be ONLY plain ASCII; we will not bother to open postscript, dvi, MS-word, or other files.
YOU MUST FOLLOW THE WRITEUP TEMPLATE AVAILABLE ON THE ASSIGNMENTS LINK TO GET FULL CREDIT ON YOUR WRITEUP.
In the writeup, your job is to convince the grader that you understand the assignment and describe your design.
Specifically you should:
- Write few pages describing the design of your code. What tradeoffs did you make in the design? How did
you decide to handle errors?
- Describe any assumptions you made regarding the design.
- If you know of any weaknesses or bugs in your implementation, or limitations of your design, you should
point them out.
Remember, the assignments are usually intentionally under-specified. This means that you are expected
not only to implement what we tell you, but come up with your own decisions about the design. Those decisions
must be documented in your writeup!