Homework Grading Related Policies (Please read fully, Thanks!)


Turnin:

    1. Please turnin files according to the "Turnin File List" specification at the beginning of every homework write-up. Your filenames must be the same as required (case sensitive, e.g., sum.c and Sum.c are different).
    2. If after the due time you find that you turned in wrong files, please do NOT modify (this could keep your file from being assigned a new time stamp that is after the due time) the correct file you'd actually planned to turnin. Come to TA's ASAP discussing about the situation and we could check your file and time stamp. If the time stamp is before the due time, it can be regraded with some minor penalty of not turning in on time. But if the time stamp is after the due time, it will NOT be accepted for grading.
    3. If it is a C program, you are required to compile your program with "-Wall" option in gcc without warnings. Make sure your program passes the compilation (for example, gcc -Wall yourprogram.c). Compilation failure will result in ZERO point. Compilation warnings will cause some points off.
    4. Make sure your input/output format is the same as the sample executable. Use "diff" instead of your eyes to check the output, because your eyes can't tell "\t" from 8 spaces on the screen. Here is how you can check your output against the expected output. Suppose your executable is named "mysum" and the sample executable is named "sum". Write your testcase in a file, say named "mytestcase". Run both executable against the testcase by "mysum < mytestcase > myoutput" and "sum < mytestcase > output". The redirection will feed the "mytestcase" to the stdin and store the output in a file. (PS: Please use redirection instead of typing on the keyboard to feed the input!) Then compare the two output files with "diff myoutput output". If "diff" printout nothing and return 0, your output is correct, otherwise you need to modify your program. Please get more info of "diff" command and how to understand its output by "man diff".
    5. If you think you find any confusion, typo, bug, etc. in the homework writeup, sample executable and sample input/output, please contact us ASAP and we will update it if necessary. Therefore you need to check the update news frequently on the course website or newsgroup. Any update notice on the newsgroup is regarded officially as part of the homework writeup. To make your life easier, we are going to use version numbers on the writeup. The version number will be put at the beginning of the writeup, so you can check if the one you are using is up to date or not.
    6. Homework grade will be sent to your CS email account (yourlogin@cs.arizona.edu) but NOT your UA email account (yourlogin@email.arizona.edu). In the "grade" email, we will usually provide a reference to a README file (e.g., /home/cs352/spring04/testcases/hw2/README) in the course home dir. That README file (e.g., the README mentioned above) contains important grading information about that homework. PLEASE read that file fully before emailing us with questions regarding to the grade you get, because that README file may have answered your question. Of course, if you can't find an answer in the README file, feel free to mail us your question.
    7. When email us with questions, please try to use your CS email account, because that makes it easier for us to identify who you are (we store your CS email account name in our grading sheet). If you use other email account to write to us, please provide your CS email account name (e.g., "abc" in abc@cs.arizona.edu) at the beginning of your email content.

Grading:

    1. This is how we do the grading. First, we compile your program. If fails, issue 0 points, otherwise go on to the next step. We create a number of testcases (similar to the "mytestcase" file we mentioned above) and feed them in to your program by redirection and redirect your output into a file (similar as the redirection I introduced above). Then we diff your output with our expected output. If diff returns 0, we give points allocated for this testcase, otherwise we give 0 points on this testcase. Then we go to the next testcase. If there is an infinite loop, our grading script will kill your program and give 0 points for this failing testcase.
    2. Then scores will be emailed to your CS email account.

Regrading:

    1. TA's usually divide the grading by problem numbers and basicly do the grading separately in parallel. We will post the "which-TA-grades-which-problem" information in the README file mentioned above, so whenever there is some problem, please contact the correct person.
    2. If you find that a minor mistake in your program makes you fail many testcases (e.g., on the output you printed an extra space), you may modify your program and resubmit it for a regrading. You must minimize your modification. We will diff your resubmitted version with your originaly version and if there are a lot of modifications, we will NOT accept the regrading request. According to the severity of your mistake, how much is modified and the regrading testcase result, we issue new grade. Regrading request must be submitted before a deadline mentioned in the README file mentioned above.

CSc 352 Spring04
09/28/03: Created
01/07/04: Modified