Homework Grading Related Policies (Please read fully,
Thanks!)
Turnin:
- 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).
- 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.
- 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.
- 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".
- 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.
- 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.
- 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:
- 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.
- Then scores will be emailed to your CS email account.
Regrading:
- 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.
- 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