Documente Academic
Documente Profesional
Documente Cultură
Important: the TA Thibault Porssut is in charge of the automated tests. Student-assistants only
have to grade the printed code (listing) and check that some code exist for checking the errors;
you dont have to do any compiling or execution.
You are given access to a shared spreadsheet file with the grading grid on gdrive (link sent by
email). You can spot the students that you are responsible for by looking for your name in the
Assistant column: you get 20-21 projects each.
Some examples of annotated printed copies have been scanned and shared on gdrive (link sent
by email) ; the shared spreadsheet has also been filled for these cases.
You are also given the printed source codes of your student group. Your duty is to annotate the
printed copies like the examples because they will be given back to students. (you are allowed
to write some positive comments). We describe at the end which criteria you should focus on.
Please inform your responsible TA if you dont have the printed code of a student belonging to
your set visible in the spreadsheet.
violation_sum = total number of detected criteria from the list at the end of this document.
violation_list = what is wrong and where (special format described next page)
comment = for students, optional free text on other aspects (warnings)
confidential_notes = for us, which will not be shared with the students. If you think that
there is something unusual, or to be double checked, note it there.
Rendu1 Projet dAutomne 2017-18
Grading methodology
In the end of this document, you have a list of criteria. You should use it for doing the grading
task described below.
1. Check the corrected project samples (scanned annotated files on gdrive and the
spreadsheet). Adopt the same style in your grading.
2. Check the printed copy of the student. If the line numbers are not printed on it, download
the project of the student, open it in Geany and use it for the line numbers you enter in the
spreadsheet.
3. Investigate the source code of the student to find the violations listed in the Criteria
List given next page. For each violation, do the following:
(a) Underline it on the printed copy and write the violation code on it.
(b) In the spreadsheets column violation_list, note down the code representing that
criteria followed by the line number it occurs. For instance [L2]57 means that line 57
is a wrapping one.
(c) If the same type of violation occurs multiple times, mark all of them on the printed code
copy, BUT only enter the first occurrence in the spreadsheet.
(d) Keep the violation_list alphabetically sorted and separate each entry by a comma.
4. When you are done with checking the listed criteria, sum the number of violation criteria in
the violation_list cell, and write it into the violation_sum cell.
5. If you see issues that are not listed in our criteria list, underline and annotate them all, but
do not enter them into the spreadsheet. If your time budget permits (see below), write
suggestions in the printed copy about the students coding, documentation and
organization style by referring to the relevant items of Conventions de programmation
pour les projets. You may write the comments either in French or English.
[L00, L01] the printed code violates the font type or misses the line numbers.
[L1] missing indentation for control statement (if, for, while) or the indentation style is
not homogeneous over the whole code written by the student (check allowed variations first)
[L13] use of double indentation in a block of code (too much indentation), for example:
for(i=0 ; i< MAX ; i++)
{
printf("this is doubly indented\n");
}
[L23] long format should be aligned with the start of the previous format
printf("In the beginning there was nothing, which exploded."
" Terry Pratchett") // misalignment, still bad.
[P5] 1) missing symbols (with define or enum). Focus only on the magic numbers for the
person parameter array size and the index to access the stored parameters for position and
goal. Other values are not penalized, such as array index starting at 0 and some boundaries
using the value 1. Ask on the ASSISTANT_FORUM in case of doubt.
2) poor choice of symbol name such as ZERO, ONE, TWO for 0, 1, 2
-------------------------------------------------------------------------------------------------------------------
For these codes, just indicate a gentle warning on the printed copy (they will be
penalize in the final assignment) :
[L24] too compact code, no empty lines
[D3] too many and too dense comments