Skip to content
Snippets Groups Projects
Commit d9274db8 authored by Goik Martin's avatar Goik Martin
Browse files

Examination hints

parent 50ca5335
No related branches found
No related tags found
No related merge requests found
Doc/Sd1/Ref/Projects/soDumm2.png

651 KiB

<?xml version="1.0" encoding="UTF-8"?>
<appendix version="5.1" xmlns="http://docbook.org/ns/docbook"
<appendix annotations="slide" version="5.1"
xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:ns="http://docbook.org/ns/transclusion"
......@@ -12,37 +14,94 @@
<section xml:id="sd1ExaminationHints">
<title>Examination hints</title>
<para>Some programming tasks come with <xref linkend="glo_Junit"/> tests.
Your personal score will depend on the number of successfully executing
tests possibly weighted with factors modelling an individual test's
significance.</para>
<figure xml:id="sd1_fig_examByJunit">
<title>Unit tests in examinations</title>
<para>That said you should have a focus on completing units of work rather
than <quote>nearly</quote> finishing a large number of tasks.</para>
<itemizedlist>
<listitem>
<para>Interface definitions by <xref linkend="glo_Javadoc"/>.</para>
</listitem>
<caution>
<para>Unit testing is quite relentless. It is different from high school
where a wrong sign at the end of a calculation does not matter too much
with respect to marking.</para>
</caution>
<listitem>
<para>Corresponding Unit tests.</para>
</listitem>
<para>You should <emphasis>actively</emphasis> train debugging programs:
Watching a test fail is not so bad if you know how to
<emphasis>systematically</emphasis> fix bugs. Several options are on
offer:</para>
<listitem>
<para>Automated evaluation scoring your achievements.</para>
</listitem>
<orderedlist>
<listitem>
<para>Use a debugger, typically the one provided by Eclipse. More
specifically train debugging <xref linkend="glo_Junit"/> test cases
individually to address failing tests one by one.</para>
</listitem>
<listitem>
<para>Individual weights reflecting a test's significance.</para>
</listitem>
</itemizedlist>
</figure>
<listitem>
<para>Insert log statements into your implementation as being provided
by log4j.</para>
</listitem>
</orderedlist>
<figure xml:id="sd1_fig_interfaceDefExample">
<title>Example interface definition</title>
<programlisting language="java">/**
* Finde das n-te ungerade Element einer Wertefolge.
*
* &lt;p&gt;Beispiel: Im Array {3, 2, 0, 1, 4} ist der Wert »1« an der Index-
* position »3« das zweite ungerade Element.&lt;/p&gt;
*
* @param werte Die zu durchsuchenden Werte. Alle Werte ungleich null.
* @param n Die gewünschte Position, Start bei 1.
*
* @return Den Index des n-ten ungeraden Wertes falls es mindestens n
* ungerade Werte gibt, ...
*/
static public int getNtesUngeradesElement(final int[] werte, final int n){
return 12345; // TODO: Implementiere mich korrekt!
}</programlisting>
</figure>
<figure xml:id="sd1_fig_testExample">
<title>Corresponding test</title>
<programlisting language="java">@Test
@Marking(points=1) /* 1 point if test passes */
public void test_400() {
Assert.assertEquals(
2, /* Expected result */
Helper.getNtesUngeradesElement(new int[]{-4, 6, 1, -2, 8}, 1));
}</programlisting>
</figure>
<figure xml:id="sd1_fig_unitTestsStrategy">
<title>Unit tests strategy in examinations</title>
<itemizedlist>
<listitem>
<para>Unit testing is relentless: You are no longer at high school
where a result having <quote>just</quote> a wrong sign used to
matter next to nothing.</para>
</listitem>
<listitem>
<para>Focus on completing units of work rather than
<quote>nearly</quote> finishing a large number of tasks.</para>
</listitem>
<listitem>
<para>Watching a test fail just happens. Learn to
<emphasis>systematically</emphasis> fix bugs:</para>
<orderedlist>
<listitem>
<para>Use your <xref linkend="glo_IDE"/>'s debugger. Practise
debugging <xref linkend="glo_Junit"/> tests individually
addressing failures one by one.</para>
</listitem>
<listitem>
<para>Insert log statements using <productname
xlink:href="https://logging.apache.org/log4j">log4j</productname>.</para>
</listitem>
</orderedlist>
</listitem>
</itemizedlist>
</figure>
</section>
<section xml:id="sd1ExternalSupplementaryExercises">
......@@ -142,27 +201,38 @@
<title>Examination bonus point projects</title>
<para>Each lecture participant may start a project to gain bonus points
with respect to the final examination. This bonus is given as a percentage
and will be added to your final examinations mark. Possible values
depending on a project's achievements are:</para>
with respect to the final examination. This bonus will be added to your
final examination's mark:</para>
<itemizedlist>
<listitem>
<para>0%</para>
</listitem>
<figure xml:id="sd1_fig_points">
<title>Bonus points</title>
<listitem>
<para>5%</para>
</listitem>
<itemizedlist>
<listitem>
<para>Examination: 90 points resulting in <quote>1,0</quote>, 45
points resulting in <quote>4.0</quote>.</para>
</listitem>
<listitem>
<para>10%</para>
</listitem>
</itemizedlist>
<listitem>
<para>0-10 bonus points on top of examination score.</para>
</listitem>
<listitem>
<para>Example: 35 points in your exam having 10 bonus points on top
results in <quote>passed</quote>.</para>
</listitem>
</itemizedlist>
</figure>
<figure xml:id="sd1_fig_projectWorkAsTeam">
<title>Working in a team</title>
<para>So if the examination's result is 85% a bonus of 10% will result in
a mark corresponding to 95% of a regular exam result. The following rules
apply:</para>
<mediaobject>
<imageobject>
<imagedata fileref="Ref/Projects/soDumm2.png"/>
</imageobject>
</mediaobject>
</figure>
<orderedlist>
<listitem>
......@@ -273,8 +343,9 @@
</listitem>
<listitem>
<para>Test special cases: If a method expects i.e. an array of
strings it may be allowed having zero length.</para>
<para>Test special cases: If a method expects
<abbrev>i.e.</abbrev> an array of strings it may be allowed having
zero length.</para>
</listitem>
</itemizedlist>
</listitem>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment