Human Evaluation

The point of this evaluation is to measure, among other things:

the quality of the code

How clean it is, amount of code duplication, bad hacks, standards violations (e.g., stderr is forbidden in proper C++ code) and so forth. It also aims at detecting cheaters, who will be severely punished (mark = -42).

the knowledge each member acquired

While we do not require that each member worked on a stage, we do require that each member (i) knows how the stage works and (ii) has perfectly understood the (C++, Bison etc.) techniques needed to implement the stage. Each stage comes with a set of goals (see PTHL Goals, for instance) on which you will be interrogated.

Examiners: the human grade.

The examiner should not take (too much) the automated tests into account to decide the mark: the mark is computed later, taking this into account, so don’t do it twice.

Examiners: broken tarballs.

If you fixed the tarball or made whatever modification, run make distcheck again, and update the delivered tarball. Do not keep old tarballs, do not install them in a special place: just replace the first tarball with it, but say so in the eval file.

The rationale is simple: only tarballs pass the tests, and every tarball must be able to pass the tests. If you don’t do that, then someone else will have to do it again.