= Points scheme for the exercises =
== For programming tasks (code) ==
{{{
Functionality: 60%
Tests: 20%
Documentation, Checkstyle, etc. 20%
}}}
'''Example:''' Your program written for a 5-point subtask works in principle, but there are no tests and no documentations and there are many checkstyle errors. Then you will get only 3 of 5 points.
'''Important:'''
If your code does not compile (''make compile'' for Python and C++, ''ant compile'' for Java), the exercise will not be graded (= 0 points).<
>
''Rationale: otherwise it's a pain for your tutor to look at your code and to find mistakes.''
Tests specified in the TIP file '''must''' be implemented, otherwise the exercise will not be graded (= 0 points, the content of the test cases is important, not the exact syntax).<
>
''Rationale: you just have to do it, do it.''
If tests are not specified, you '''must''' write one non-trivial unit test per non-trivial method yourself, otherwise 50% of the points are subtracted.<
>
''Rationale: a method that is not tested, is usually not correct.''
If there are checkstyle errors on Jenkins, your exercise will not be graded (= 0 points).<
>
''Rationale: you just have to do it, do it.''
If you do not document your code, you risk point subtraction.<
>
''Rationale: you just have to do it, do it.''
== For theoretical tasks (proofs) ==
{{{
Basic idea / approach: 40%
Line of argument: 60%
}}}
'''Example:''' If you only write down the basic, correct proof idea in some vague sentences, you will get only 40% of the points. However, if your proof idea is wrong, you will get 0 points.
'''Important:''' Minor mistakes in your proof are ok and don't lead to any points deduction. But it should be obvious, that you have made some reasonable effort to show the proof.