From f08b9ec4fa2fb3e98f55c0f656af891c0f8c8ba3 Mon Sep 17 00:00:00 2001
From: Martin Goik <goik@hdm-stuttgart.de>
Date: Fri, 16 Jun 2023 22:20:29 +0200
Subject: [PATCH] Ilias explanations to Readme.md

---
 Doc/Sd1/Appendix/Exam/2019/Summer/exam.xml    | 148 +++--------------
 .../Exam/2019/Winter/{tasks.xml => exam.xml}  | 129 +++------------
 Doc/Sd1/Appendix/Exam/2020/Summer/exam.xml    | 129 +++------------
 Doc/Sd1/Appendix/Exam/2020/Winter_1/exam.xml  | 138 +++-------------
 Doc/Sd1/Appendix/Exam/2020/Winter_2/exam.xml  | 138 +++-------------
 Doc/Sd1/Appendix/Exam/2021/Summer/exam.xml    | 138 +++-------------
 Doc/Sd1/Appendix/Exam/2021/Winter/exam.xml    | 139 +++-------------
 Doc/Sd1/Appendix/Exam/2022/Winter/exam.xml    | 151 ++----------------
 Doc/Sd1/Appendix/appendix.xml                 |   2 +-
 Klausuren/Sd1/2015summer/Exam/Readme.md       |  63 +++++---
 Klausuren/Sd1/2015winter/Exam/Readme.md       |  63 +++++---
 Klausuren/Sd1/2016summer/Exam/Readme.md       |  63 +++++---
 Klausuren/Sd1/2016winter/Exam/Readme.md       |  63 +++++---
 Klausuren/Sd1/2017summer/Exam/Readme.md       |  63 +++++---
 Klausuren/Sd1/2017winter/Exam/Readme.md       |  63 +++++---
 Klausuren/Sd1/2018summer/Exam/Readme.md       |  63 +++++---
 Klausuren/Sd1/2018winter/Exam/Readme.md       |  63 +++++---
 Klausuren/Sd1/2019summer/Exam/Readme.md       |  63 +++++---
 Klausuren/Sd1/2019winter/Exam/Readme.md       |  63 +++++---
 Klausuren/Sd1/2020summer/Exam/Readme.md       |  63 +++++---
 Klausuren/Sd1/2020winter_1/Exam/Readme.md     |  63 +++++---
 Klausuren/Sd1/2020winter_2/Exam/Readme.md     |  63 +++++---
 Klausuren/Sd1/2021summer/Exam/Readme.md       |  63 +++++---
 Klausuren/Sd1/2021winter/Exam/Readme.md       |  52 +++---
 Klausuren/Sd1/2022winter/Exam/Readme.md       |  40 ++---
 Klausuren/Sd1/2022winter/Exam/pom.xml         |  19 ++-
 Klausuren/Sd1/Makefile                        |  21 +++
 .../CustomLayer/Klausur/docbook2klausur.xsl   |   2 +
 28 files changed, 801 insertions(+), 1327 deletions(-)
 rename Doc/Sd1/Appendix/Exam/2019/Winter/{tasks.xml => exam.xml} (67%)
 create mode 100644 Klausuren/Sd1/Makefile

diff --git a/Doc/Sd1/Appendix/Exam/2019/Summer/exam.xml b/Doc/Sd1/Appendix/Exam/2019/Summer/exam.xml
index 41232f124..0467809c7 100644
--- a/Doc/Sd1/Appendix/Exam/2019/Summer/exam.xml
+++ b/Doc/Sd1/Appendix/Exam/2019/Summer/exam.xml
@@ -21,145 +21,37 @@
         <listitem>
           <para>Download and unzip the above file
           <filename>exam.zip</filename>. You should see a directory
-          »<filename>Exam</filename>« containing a pom.xml file.</para>
+          »<filename>Exam</filename>« containing a
+          <filename>pom.xml</filename> file.</para>
         </listitem>
 
         <listitem>
           <para>Open this project in your <productname>IDEA</productname> IDE
-          selecting the <filename>Exam/pom.xml</filename> file.</para>
-        </listitem>
-
-        <listitem>
-          <para>Open a terminal in your <productname>IDEA</productname> IDE
-          and type »mvn javadoc:javadoc«. This will generate the API
-          documentation rooted at
-          <filename>target/site/apidocs/index.html</filename>.</para>
-        </listitem>
-
-        <listitem>
-          <para>Open <filename>target/site/apidocs/index.html</filename> in
-          your browser of choice and navigate to the individual classes to be
-          implemented. Read both class and method descriptions.</para>
+          by selecting the <filename>Exam/pom.xml</filename> file.</para>
         </listitem>
       </orderedlist>
     </section>
 
-    <section xml:id="sd1_exam_2019_summer_task1_description">
-      <title>Description</title>
-
-      <para>Your imported project contains:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Partial implementations of classes and methods.</para>
-        </listitem>
-
-        <listitem>
-          <para><productname>Javadoc</productname> comments describing the
-          desired behaviour</para>
-        </listitem>
-
-        <listitem>
-          <para><productname>Junit</productname> tests for testing the desired
-          (not yet implemented) behaviour.</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
     <section xml:id="sd1_exam_2019_summer_task1_tasks">
       <title>Tasks</title>
 
-      <para>Complete the implementation of classes and methods in package
-      <package>de.hdm_stuttgart.mi.sd1.task1</package>. Your project's
-      <filename>test</filename> branch contains corresponding
-      <productname>Junit</productname> tests.</para>
-
-      <informaltable border="1">
-        <tr>
-          <th>To be implemented</th>
-
-          <th>Corresponding tests</th>
-        </tr>
-
-        <tr>
-          <td><classname>Helper</classname></td>
-
-          <td><classname>Test_Helper</classname></td>
-        </tr>
-
-        <tr>
-          <td><classname>HelperArray</classname></td>
-
-          <td><classname>Test_HelperArray</classname></td>
-        </tr>
-      </informaltable>
-    </section>
-
-    <section xml:id="sd1_exam_2019_summer_task1_hints">
-      <title>Hints</title>
-
-      <itemizedlist>
-        <listitem>
-          <para>Your score solely depends on the number of successfully
-          executing unit tests. A »nearly correct« implementation failing with
-          respect to a given unit tests will contribute no points at
-          all.</para>
-
-          <para>General advice: Implement less but correctly.</para>
-        </listitem>
-
-        <listitem>
-          <para>Mind special cases <abbrev>i.e.</abbrev> <code>null</code>
-          variable values or <code>null</code> values being contained in
-          arrays.</para>
-        </listitem>
-
-        <listitem>
-          <para>In case of test failures both the
-          <productname>IDEA</productname> debugger and logging statements are
-          your friend.</para>
-        </listitem>
-
-        <listitem>
-          <para>Executing
-          <package>de.hdm_stuttgart.mi.sd1.test</package>.<classname>ShowReachedPoints</classname>
-          in your project's <filename>test</filename> branch as
-          <productname>Java</productname> application (not as
-          <productname>Junit</productname> test!) shows your number of points
-          reached so far.</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
-    <section version="5.1" xml:id="sd1_exam_2019_summer_uploadFirst">
-      <title>Project upload</title>
-
-      <para>Export your project by hitting »File« --&gt; »Export to Zip File«
-      in IDEA creating an <abbrev>e.g.</abbrev>
-      <filename>solution-1.zip</filename> file. Then enter your
-      <productname>ILIAS</productname> browser, hit the <quote>choose
-      file</quote> button selecting <filename>solution-1.zip</filename> and
-      subsequently click <quote>upload</quote>. Do not forget to advance to
-      the next question for actually saving your upload. Common
-      pitfalls:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Do not select the wrong archive! In particular avoid choosing
-          the original <filename>exam.zip</filename> skeleton.</para>
-        </listitem>
-
-        <listitem>
-          <para>After uploading check for <filename>solution_1.zip</filename>
-          being visible in the examination system.</para>
-        </listitem>
-
-        <listitem>
-          <para>You may upload multiple versions i.e.
-          <filename>solution_2.zip</filename> etc. . Only your least uploaded
-          archive will become subject to marking.</para>
-        </listitem>
-      </itemizedlist>
+      <qandaset defaultlabel="qanda" xml:id="sd1_exam_2019_summer_task1Qanda">
+        <qandadiv>
+          <qandaentry>
+            <question>
+              <para>Open the <filename>Readme.md</filename> file in your
+              project's root. It contains all necessary instructions for
+              solving the implementation tasks.</para>
+            </question>
+
+            <answer>
+              <para>Solution see <link
+              xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/-/tree/master/Klausuren/Sd1/2019summer/Solve">summer
+              2019 exam</link>.</para>
+            </answer>
+          </qandaentry>
+        </qandadiv>
+      </qandaset>
     </section>
 
     <section xml:id="sd1_exam_2019_summer_examCaveats">
diff --git a/Doc/Sd1/Appendix/Exam/2019/Winter/tasks.xml b/Doc/Sd1/Appendix/Exam/2019/Winter/exam.xml
similarity index 67%
rename from Doc/Sd1/Appendix/Exam/2019/Winter/tasks.xml
rename to Doc/Sd1/Appendix/Exam/2019/Winter/exam.xml
index b7d8daa7a..2e5fa4537 100644
--- a/Doc/Sd1/Appendix/Exam/2019/Winter/tasks.xml
+++ b/Doc/Sd1/Appendix/Exam/2019/Winter/exam.xml
@@ -21,126 +21,37 @@
         <listitem>
           <para>Download and unzip the above file
           <filename>exam.zip</filename>. You should see a directory
-          »<filename>Exam</filename>« containing a pom.xml file.</para>
+          »<filename>Exam</filename>« containing a
+          <filename>pom.xml</filename> file.</para>
         </listitem>
 
         <listitem>
           <para>Open this project in your <productname>IDEA</productname> IDE
-          selecting the <filename>Exam/pom.xml</filename> file.</para>
-        </listitem>
-
-        <listitem>
-          <para>Open a terminal in your <productname>IDEA</productname> IDE
-          and type »mvn javadoc:javadoc«. This will generate the API
-          documentation rooted at
-          <filename>target/site/apidocs/index.html</filename>.</para>
-        </listitem>
-
-        <listitem>
-          <para>Open <filename>target/site/apidocs/index.html</filename> in
-          your browser of choice and navigate to the individual classes to be
-          implemented. Read both class and method descriptions.</para>
+          by selecting the <filename>Exam/pom.xml</filename> file.</para>
         </listitem>
       </orderedlist>
     </section>
 
-    <section xml:id="sd1_exam_2019_winter_task1_description">
-      <title>Description</title>
-
-      <para>Your imported project contains:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Partial implementations of classes and methods.</para>
-        </listitem>
-
-        <listitem>
-          <para><productname>Javadoc</productname> comments describing the
-          desired behaviour</para>
-        </listitem>
-
-        <listitem>
-          <para><productname>Junit</productname> tests for testing the desired
-          (not yet implemented) behaviour.</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
     <section xml:id="sd1_exam_2019_winter_task1_tasks">
       <title>Tasks</title>
 
-      <para>Complete the implementation of classes and methods in both
-      packages <package>de.hdm_stuttgart.mi.sd1.task1</package> and
-      <package>de.hdm_stuttgart.mi.sd1.task2</package>. Your project's
-      <filename>test</filename> branch contains corresponding
-      <productname>Junit</productname> tests for each class / method to be
-      implemented.</para>
-    </section>
-
-    <section xml:id="sd1_exam_2019_winter_task1_hints">
-      <title>Hints</title>
-
-      <itemizedlist>
-        <listitem>
-          <para>Your score solely depends on the number of successfully
-          executing unit tests. A »nearly correct« implementation failing with
-          respect to a given unit tests will contribute no points at
-          all.</para>
-
-          <para>General advice: Implement less but correctly.</para>
-        </listitem>
-
-        <listitem>
-          <para>Mind special cases <abbrev>i.e.</abbrev> <code>null</code>
-          variable values or <code>null</code> values being contained in
-          arrays.</para>
-        </listitem>
-
-        <listitem>
-          <para>In case of test failures both the
-          <productname>IDEA</productname> debugger and logging statements are
-          your friend.</para>
-        </listitem>
-
-        <listitem>
-          <para>Executing
-          <package>de.hdm_stuttgart.mi.sd1.test</package>.<classname>ShowReachedPoints</classname>
-          in your project's <filename>test</filename> branch as a
-          <productname>Java</productname> application (not as
-          <productname>Junit</productname> test!) shows your number of points
-          reached so far.</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
-    <section version="5.1" xml:id="sd1_exam_2019_winter_uploadFirst">
-      <title>Project upload</title>
-
-      <para>Export your project by hitting »File« --&gt; »Export to Zip File«
-      in IDEA creating an <abbrev>e.g.</abbrev>
-      <filename>solution-1.zip</filename> file. Hit the <quote> choose
-      file</quote> button in your <productname>ILIAS</productname> browser tab
-      and select <filename>solution-1.zip</filename>. Subsequently click
-      <quote>upload</quote>. Do not forget to advance to the next question for
-      actually saving your upload. Common pitfalls:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Do not select the wrong archive! In particular avoid choosing
-          the original <filename>exam.zip</filename> skeleton.</para>
-        </listitem>
-
-        <listitem>
-          <para>After uploading check for <filename>solution_1.zip</filename>
-          being visible in the examination system.</para>
-        </listitem>
-
-        <listitem>
-          <para>You may upload multiple versions i.e.
-          <filename>solution_2.zip</filename> etc. . Only your least uploaded
-          archive will become subject to marking.</para>
-        </listitem>
-      </itemizedlist>
+      <qandaset defaultlabel="qanda" xml:id="sd1_exam_2022_winter_task1Qanda">
+        <qandadiv>
+          <qandaentry>
+            <question>
+              <para>Open the <filename>Readme.md</filename> file in your
+              project's root. It contains all necessary instructions for
+              solving the implementation tasks.</para>
+            </question>
+
+            <answer>
+              <para>Solution see <link
+              xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/-/tree/master/Klausuren/Sd1/2022winter/Solve">winter
+              2019 exam</link>.</para>
+            </answer>
+          </qandaentry>
+        </qandadiv>
+      </qandaset>
     </section>
 
     <section xml:id="sd1_exam_2019_winter_examCaveats">
diff --git a/Doc/Sd1/Appendix/Exam/2020/Summer/exam.xml b/Doc/Sd1/Appendix/Exam/2020/Summer/exam.xml
index 062f0f9ad..db48dc564 100644
--- a/Doc/Sd1/Appendix/Exam/2020/Summer/exam.xml
+++ b/Doc/Sd1/Appendix/Exam/2020/Summer/exam.xml
@@ -21,126 +21,37 @@
         <listitem>
           <para>Download and unzip the above file
           <filename>exam.zip</filename>. You should see a directory
-          »<filename>Exam</filename>« containing a pom.xml file.</para>
+          »<filename>Exam</filename>« containing a
+          <filename>pom.xml</filename> file.</para>
         </listitem>
 
         <listitem>
           <para>Open this project in your <productname>IDEA</productname> IDE
-          selecting the <filename>Exam/pom.xml</filename> file.</para>
-        </listitem>
-
-        <listitem>
-          <para>Open a terminal in your <productname>IDEA</productname> IDE
-          and type »mvn javadoc:javadoc«. This will generate the API
-          documentation rooted at
-          <filename>target/site/apidocs/index.html</filename>.</para>
-        </listitem>
-
-        <listitem>
-          <para>Open <filename>target/site/apidocs/index.html</filename> in
-          your browser of choice and navigate to the individual classes to be
-          implemented. Read both class and method descriptions.</para>
+          by selecting the <filename>Exam/pom.xml</filename> file.</para>
         </listitem>
       </orderedlist>
     </section>
 
-    <section xml:id="sd1_exam_2020_summer_task1_description">
-      <title>Description</title>
-
-      <para>Your imported project contains:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Partial implementations of classes and methods.</para>
-        </listitem>
-
-        <listitem>
-          <para><productname>Javadoc</productname> comments describing the
-          desired behaviour</para>
-        </listitem>
-
-        <listitem>
-          <para><productname>Junit</productname> tests for testing the desired
-          (not yet implemented) behaviour.</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
     <section xml:id="sd1_exam_2020_summer_task1_tasks">
       <title>Tasks</title>
 
-      <para>Complete the implementation of classes and methods in both
-      packages <package>de.hdm_stuttgart.mi.sd1.task1</package> and
-      <package>de.hdm_stuttgart.mi.sd1.task2</package>. Your project's
-      <filename>test</filename> branch contains corresponding
-      <productname>Junit</productname> tests for each class / method to be
-      implemented.</para>
-    </section>
-
-    <section xml:id="sd1_exam_2020_summer_task1_hints">
-      <title>Hints</title>
-
-      <itemizedlist>
-        <listitem>
-          <para>Your score solely depends on the number of successfully
-          executing unit tests. A »nearly correct« implementation failing with
-          respect to a given unit tests will contribute no points at
-          all.</para>
-
-          <para>General advice: Implement less but correctly.</para>
-        </listitem>
-
-        <listitem>
-          <para>Mind special cases <abbrev>i.e.</abbrev> <code>null</code>
-          variable values or <code>null</code> values being contained in
-          arrays.</para>
-        </listitem>
-
-        <listitem>
-          <para>In case of test failures both the
-          <productname>IDEA</productname> debugger and logging statements are
-          your friend.</para>
-        </listitem>
-
-        <listitem>
-          <para>Executing
-          <package>de.hdm_stuttgart.mi.sd1.test</package>.<classname>ShowReachedPoints</classname>
-          in your project's <filename>test</filename> branch as a
-          <productname>Java</productname> application (not as
-          <productname>Junit</productname> test!) shows your number of points
-          reached so far.</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
-    <section version="5.1" xml:id="sd1_exam_2020_summer_uploadFirst">
-      <title>Project upload</title>
-
-      <para>Export your project by hitting »File« --&gt; »Export to Zip File«
-      in IDEA creating an <abbrev>e.g.</abbrev>
-      <filename>solution-1.zip</filename> file. Hit the <quote> choose
-      file</quote> button in your <productname>ILIAS</productname> browser tab
-      and select <filename>solution-1.zip</filename>. Subsequently click
-      <quote>upload</quote>. Do not forget to advance to the next question for
-      actually saving your upload. Common pitfalls:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Do not select the wrong archive! In particular avoid choosing
-          the original <filename>exam.zip</filename> skeleton.</para>
-        </listitem>
-
-        <listitem>
-          <para>After uploading check for <filename>solution_1.zip</filename>
-          being visible in the examination system.</para>
-        </listitem>
-
-        <listitem>
-          <para>You may upload multiple versions i.e.
-          <filename>solution_2.zip</filename> etc. . Only your least uploaded
-          archive will become subject to marking.</para>
-        </listitem>
-      </itemizedlist>
+      <qandaset defaultlabel="qanda" xml:id="sd1_exam_2020_summer_task1Qanda">
+        <qandadiv>
+          <qandaentry>
+            <question>
+              <para>Open the <filename>Readme.md</filename> file in your
+              project's root. It contains all necessary instructions for
+              solving the implementation tasks.</para>
+            </question>
+
+            <answer>
+              <para>Solution see <link
+              xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/-/tree/master/Klausuren/Sd1/2022winter/Solve">summer
+              2020 Exam</link>.</para>
+            </answer>
+          </qandaentry>
+        </qandadiv>
+      </qandaset>
     </section>
 
     <section xml:id="sd1_exam_2020_summer_examCaveats">
diff --git a/Doc/Sd1/Appendix/Exam/2020/Winter_1/exam.xml b/Doc/Sd1/Appendix/Exam/2020/Winter_1/exam.xml
index 7c7bb82ef..1fc0969ba 100644
--- a/Doc/Sd1/Appendix/Exam/2020/Winter_1/exam.xml
+++ b/Doc/Sd1/Appendix/Exam/2020/Winter_1/exam.xml
@@ -21,135 +21,37 @@
         <listitem>
           <para>Download and unzip the above file
           <filename>exam.zip</filename>. You should see a directory
-          »<filename>Exam</filename>« containing a pom.xml file.</para>
+          »<filename>Exam</filename>« containing a
+          <filename>pom.xml</filename> file.</para>
         </listitem>
 
         <listitem>
           <para>Open this project in your <productname>IDEA</productname> IDE
-          selecting the <filename>Exam/pom.xml</filename> file.</para>
-        </listitem>
-
-        <listitem>
-          <para>Open a terminal in your <productname>IDEA</productname> IDE
-          and type »mvn javadoc:javadoc«. This will generate the API
-          documentation rooted at
-          <filename>target/site/apidocs/index.html</filename>.</para>
-        </listitem>
-
-        <listitem>
-          <para>Open <filename>target/site/apidocs/index.html</filename> in
-          your browser of choice and navigate to the individual classes to be
-          implemented. Read both class and method descriptions.</para>
+          by selecting the <filename>Exam/pom.xml</filename> file.</para>
         </listitem>
       </orderedlist>
     </section>
 
-    <section xml:id="sd1_exam_2020_winter_1_task1_description">
-      <title>Description</title>
-
-      <para>Your imported project contains:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Partial implementations of classes and methods.</para>
-        </listitem>
-
-        <listitem>
-          <para><productname>Javadoc</productname> comments describing the
-          desired behaviour</para>
-        </listitem>
-
-        <listitem>
-          <para><productname>Junit</productname> tests for testing the desired
-          (not yet implemented) behaviour.</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
     <section xml:id="sd1_exam_2020_winter_1_task1_tasks">
       <title>Tasks</title>
 
-      <para>Complete the implementation of classes and methods in both
-      packages <package>de.hdm_stuttgart.mi.sd1.task1</package> and
-      <package>de.hdm_stuttgart.mi.sd1.task2</package>. Your project's
-      <filename>test</filename> branch contains corresponding
-      <productname>Junit</productname> tests for each class / method to be
-      implemented.</para>
-    </section>
-
-    <section xml:id="sd1_exam_2020_winter_1_task1_hints">
-      <title>Hints</title>
-
-      <itemizedlist>
-        <listitem>
-          <para>Your score solely depends on the number of successfully
-          executing unit tests. A »nearly correct« implementation failing with
-          respect to a given unit tests will contribute no points at
-          all.</para>
-
-          <para>General advice: Implement less but correctly.</para>
-        </listitem>
-
-        <listitem>
-          <para>Mind special cases <abbrev>i.e.</abbrev> <code>null</code>
-          variable values or <code>null</code> values being contained in
-          arrays.</para>
-        </listitem>
-
-        <listitem>
-          <para>In case of test failures both the
-          <productname>IDEA</productname> debugger and logging statements are
-          your friend.</para>
-        </listitem>
-
-        <listitem>
-          <para>Executing
-          <package>de.hdm_stuttgart.mi.sd1.test</package>.<classname>ShowReachedPoints</classname>
-          in your project's <filename>test</filename> branch as a
-          <productname>Java</productname> application (not as
-          <productname>Junit</productname> test!) shows your number of points
-          reached so far.</para>
-        </listitem>
-
-        <listitem>
-          <para>Do not model your implementations along unit test definitions
-          i.e avoid <link
-          xlink:href="https://freedocs.mi.hdm-stuttgart.de/__slidesd1_appendix.html#/sd1_fig_testDontCheat">cheating
-          this way</link>! Such behaviour will be regarded as an attempt at
-          deception (<foreignphrase
-          xml:lang="de">Täuschungsversuch</foreignphrase>).</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
-    <section version="5.1" xml:id="sd1_exam_2020_winter_1_uploadFirst">
-      <title>Project upload</title>
-
-      <para>Export your project by hitting »File« --&gt; »Export to Zip File«
-      in IDEA creating an <abbrev>e.g.</abbrev>
-      <filename>solution-1.zip</filename> file. Hit the <quote> choose
-      file</quote> button in your <productname>ILIAS</productname> browser tab
-      and select <filename>solution-1.zip</filename>. Subsequently click
-      <quote>upload</quote>. Do not forget to advance to the next question for
-      actually saving your upload. Common pitfalls:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Do not select the wrong archive! In particular avoid choosing
-          the original <filename>exam.zip</filename> skeleton.</para>
-        </listitem>
-
-        <listitem>
-          <para>After uploading check for <filename>solution_1.zip</filename>
-          being visible in the examination system.</para>
-        </listitem>
-
-        <listitem>
-          <para>You may upload multiple versions i.e.
-          <filename>solution_2.zip</filename> etc. . Only your least uploaded
-          archive will become subject to marking.</para>
-        </listitem>
-      </itemizedlist>
+      <qandaset defaultlabel="qanda" xml:id="sd1_exam_2022_winter_task1Qanda">
+        <qandadiv>
+          <qandaentry>
+            <question>
+              <para>Open the <filename>Readme.md</filename> file in your
+              project's root. It contains all necessary instructions for
+              solving the implementation tasks.</para>
+            </question>
+
+            <answer>
+              <para>Solution see <link
+              xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/-/tree/master/Klausuren/Sd1/2020winter_1/Solve">winter
+              2021-1 Exam</link>.</para>
+            </answer>
+          </qandaentry>
+        </qandadiv>
+      </qandaset>
     </section>
 
     <section xml:id="sd1_exam_2020_winter_1_examCaveats">
diff --git a/Doc/Sd1/Appendix/Exam/2020/Winter_2/exam.xml b/Doc/Sd1/Appendix/Exam/2020/Winter_2/exam.xml
index 0df0bae71..829db10d8 100644
--- a/Doc/Sd1/Appendix/Exam/2020/Winter_2/exam.xml
+++ b/Doc/Sd1/Appendix/Exam/2020/Winter_2/exam.xml
@@ -21,135 +21,37 @@
         <listitem>
           <para>Download and unzip the above file
           <filename>exam.zip</filename>. You should see a directory
-          »<filename>Exam</filename>« containing a pom.xml file.</para>
+          »<filename>Exam</filename>« containing a
+          <filename>pom.xml</filename> file.</para>
         </listitem>
 
         <listitem>
           <para>Open this project in your <productname>IDEA</productname> IDE
-          selecting the <filename>Exam/pom.xml</filename> file.</para>
-        </listitem>
-
-        <listitem>
-          <para>Open a terminal in your <productname>IDEA</productname> IDE
-          and type »mvn javadoc:javadoc«. This will generate the API
-          documentation rooted at
-          <filename>target/site/apidocs/index.html</filename>.</para>
-        </listitem>
-
-        <listitem>
-          <para>Open <filename>target/site/apidocs/index.html</filename> in
-          your browser of choice and navigate to the individual classes to be
-          implemented. Read both class and method descriptions.</para>
+          by selecting the <filename>Exam/pom.xml</filename> file.</para>
         </listitem>
       </orderedlist>
     </section>
 
-    <section xml:id="sd1_exam_2020_winter_2_task1_description">
-      <title>Description</title>
-
-      <para>Your imported project contains:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Partial implementations of classes and methods.</para>
-        </listitem>
-
-        <listitem>
-          <para><productname>Javadoc</productname> comments describing the
-          desired behaviour</para>
-        </listitem>
-
-        <listitem>
-          <para><productname>Junit</productname> tests for testing the desired
-          (not yet implemented) behaviour.</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
     <section xml:id="sd1_exam_2020_winter_2_task1_tasks">
       <title>Tasks</title>
 
-      <para>Complete the implementation of classes and methods in both
-      packages <package>de.hdm_stuttgart.mi.sd1.task1</package> and
-      <package>de.hdm_stuttgart.mi.sd1.task2</package>. Your project's
-      <filename>test</filename> branch contains corresponding
-      <productname>Junit</productname> tests for each class / method to be
-      implemented.</para>
-    </section>
-
-    <section xml:id="sd1_exam_2020_winter_2_task1_hints">
-      <title>Hints</title>
-
-      <itemizedlist>
-        <listitem>
-          <para>Your score solely depends on the number of successfully
-          executing unit tests. A »nearly correct« implementation failing with
-          respect to a given unit tests will contribute no points at
-          all.</para>
-
-          <para>General advice: Implement less but correctly.</para>
-        </listitem>
-
-        <listitem>
-          <para>Mind special cases <abbrev>i.e.</abbrev> <code>null</code>
-          variable values or <code>null</code> values being contained in
-          arrays.</para>
-        </listitem>
-
-        <listitem>
-          <para>In case of test failures both the
-          <productname>IDEA</productname> debugger and logging statements are
-          your friend.</para>
-        </listitem>
-
-        <listitem>
-          <para>Executing
-          <package>de.hdm_stuttgart.mi.sd1.test</package>.<classname>ShowReachedPoints</classname>
-          in your project's <filename>test</filename> branch as a
-          <productname>Java</productname> application (not as
-          <productname>Junit</productname> test!) shows your number of points
-          reached so far.</para>
-        </listitem>
-
-        <listitem>
-          <para>Do not model your implementations along unit test definitions
-          i.e avoid <link
-          xlink:href="https://freedocs.mi.hdm-stuttgart.de/__slidesd1_appendix.html#/sd1_fig_testDontCheat">cheating
-          this way</link>! Such behaviour will be regarded as an attempt at
-          deception (<foreignphrase
-          xml:lang="de">Täuschungsversuch</foreignphrase>).</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
-    <section version="5.1" xml:id="sd1_exam_2020_winter_2_uploadFirst">
-      <title>Project upload</title>
-
-      <para>Export your project by hitting »File« --&gt; »Export to Zip File«
-      in IDEA creating an <abbrev>e.g.</abbrev>
-      <filename>solution-1.zip</filename> file. Hit the <quote> choose
-      file</quote> button in your <productname>ILIAS</productname> browser tab
-      and select <filename>solution-1.zip</filename>. Subsequently click
-      <quote>upload</quote>. Do not forget to advance to the next question for
-      actually saving your upload. Common pitfalls:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Do not select the wrong archive! In particular avoid choosing
-          the original <filename>exam.zip</filename> skeleton.</para>
-        </listitem>
-
-        <listitem>
-          <para>After uploading check for <filename>solution_1.zip</filename>
-          being visible in the examination system.</para>
-        </listitem>
-
-        <listitem>
-          <para>You may upload multiple versions i.e.
-          <filename>solution_2.zip</filename> etc. . Only your least uploaded
-          archive will become subject to marking.</para>
-        </listitem>
-      </itemizedlist>
+      <qandaset defaultlabel="qanda" xml:id="sd1_exam_2022_winter_task1Qanda">
+        <qandadiv>
+          <qandaentry>
+            <question>
+              <para>Open the <filename>Readme.md</filename> file in your
+              project's root. It contains all necessary instructions for
+              solving the implementation tasks.</para>
+            </question>
+
+            <answer>
+              <para>Solution see <link
+              xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/-/tree/master/Klausuren/Sd1/2020winter_2/Solve">winter
+              2020-2 Exam</link>.</para>
+            </answer>
+          </qandaentry>
+        </qandadiv>
+      </qandaset>
     </section>
 
     <section xml:id="sd1_exam_2020_winter_2_examCaveats">
diff --git a/Doc/Sd1/Appendix/Exam/2021/Summer/exam.xml b/Doc/Sd1/Appendix/Exam/2021/Summer/exam.xml
index c5f95fefb..65cee68f9 100644
--- a/Doc/Sd1/Appendix/Exam/2021/Summer/exam.xml
+++ b/Doc/Sd1/Appendix/Exam/2021/Summer/exam.xml
@@ -21,135 +21,37 @@
         <listitem>
           <para>Download and unzip the above file
           <filename>exam.zip</filename>. You should see a directory
-          »<filename>Exam</filename>« containing a pom.xml file.</para>
+          »<filename>Exam</filename>« containing a
+          <filename>pom.xml</filename> file.</para>
         </listitem>
 
         <listitem>
           <para>Open this project in your <productname>IDEA</productname> IDE
-          selecting the <filename>Exam/pom.xml</filename> file.</para>
-        </listitem>
-
-        <listitem>
-          <para>Open a terminal in your <productname>IDEA</productname> IDE
-          and type »mvn javadoc:javadoc«. This will generate the API
-          documentation rooted at
-          <filename>target/site/apidocs/index.html</filename>.</para>
-        </listitem>
-
-        <listitem>
-          <para>Open <filename>target/site/apidocs/index.html</filename> in
-          your browser of choice and navigate to the individual classes to be
-          implemented. Read both class and method descriptions.</para>
+          by selecting the <filename>Exam/pom.xml</filename> file.</para>
         </listitem>
       </orderedlist>
     </section>
 
-    <section xml:id="sd1_exam_2021_summer_task1_description">
-      <title>Description</title>
-
-      <para>Your imported project contains:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Partial implementations of classes and methods.</para>
-        </listitem>
-
-        <listitem>
-          <para><productname>Javadoc</productname> comments describing the
-          desired behaviour</para>
-        </listitem>
-
-        <listitem>
-          <para><productname>Junit</productname> tests for testing the desired
-          (not yet implemented) behaviour.</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
     <section xml:id="sd1_exam_2021_summer_task1_tasks">
       <title>Tasks</title>
 
-      <para>Complete the implementation of classes and methods in both
-      packages <package>de.hdm_stuttgart.mi.sd1.task1</package> and
-      <package>de.hdm_stuttgart.mi.sd1.task2</package>. Your project's
-      <filename>test</filename> branch contains corresponding
-      <productname>Junit</productname> tests for each class / method to be
-      implemented.</para>
-    </section>
-
-    <section xml:id="sd1_exam_2021_summer_task1_hints">
-      <title>Hints</title>
-
-      <itemizedlist>
-        <listitem>
-          <para>Your score solely depends on the number of successfully
-          executing unit tests. A »nearly correct« implementation failing with
-          respect to a given unit tests will contribute no points at
-          all.</para>
-
-          <para>General advice: Implement less but correctly.</para>
-        </listitem>
-
-        <listitem>
-          <para>Mind special cases <abbrev>i.e.</abbrev> <code>null</code>
-          variable values or <code>null</code> values being contained in
-          arrays.</para>
-        </listitem>
-
-        <listitem>
-          <para>In case of test failures both the
-          <productname>IDEA</productname> debugger and logging statements are
-          your friend.</para>
-        </listitem>
-
-        <listitem>
-          <para>Executing
-          <package>de.hdm_stuttgart.mi.sd1.test</package>.<classname>ShowReachedPoints</classname>
-          in your project's <filename>test</filename> branch as a
-          <productname>Java</productname> application (not as
-          <productname>Junit</productname> test!) shows your number of points
-          reached so far.</para>
-        </listitem>
-
-        <listitem>
-          <para>Do not model your implementations along unit test definitions
-          i.e avoid <link
-          xlink:href="https://freedocs.mi.hdm-stuttgart.de/__slidesd1_appendix.html#/sd1_fig_testDontCheat">cheating
-          this way</link>! Such behaviour will be regarded as an attempt at
-          deception (<foreignphrase
-          xml:lang="de">Täuschungsversuch</foreignphrase>).</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
-    <section version="5.1" xml:id="sd1_exam_2021_summer_uploadFirst">
-      <title>Project upload</title>
-
-      <para>Export your project by hitting »File« --&gt; »Export to Zip File«
-      in IDEA creating an <abbrev>e.g.</abbrev>
-      <filename>solution-1.zip</filename> file. Hit the <quote> choose
-      file</quote> button in your <productname>ILIAS</productname> browser tab
-      and select <filename>solution-1.zip</filename>. Subsequently click
-      <quote>upload</quote>. Do not forget to advance to the next question for
-      actually saving your upload. Common pitfalls:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Do not select the wrong archive! In particular avoid choosing
-          the original <filename>exam.zip</filename> skeleton.</para>
-        </listitem>
-
-        <listitem>
-          <para>After uploading check for <filename>solution_1.zip</filename>
-          being visible in the examination system.</para>
-        </listitem>
-
-        <listitem>
-          <para>You may upload multiple versions i.e.
-          <filename>solution_2.zip</filename> etc. . Only your least uploaded
-          archive will become subject to marking.</para>
-        </listitem>
-      </itemizedlist>
+      <qandaset defaultlabel="qanda" xml:id="sd1_exam_2021_summer_task1Qanda">
+        <qandadiv>
+          <qandaentry>
+            <question>
+              <para>Open the <filename>Readme.md</filename> file in your
+              project's root. It contains all necessary instructions for
+              solving the implementation tasks.</para>
+            </question>
+
+            <answer>
+              <para>Solution see <link
+              xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/-/tree/master/Klausuren/Sd1/2022winter/Solve">summer
+              2021 Exam</link>.</para>
+            </answer>
+          </qandaentry>
+        </qandadiv>
+      </qandaset>
     </section>
 
     <section xml:id="sd1_exam_2021_summer_examCaveats">
diff --git a/Doc/Sd1/Appendix/Exam/2021/Winter/exam.xml b/Doc/Sd1/Appendix/Exam/2021/Winter/exam.xml
index bdc99f442..2707d82c1 100644
--- a/Doc/Sd1/Appendix/Exam/2021/Winter/exam.xml
+++ b/Doc/Sd1/Appendix/Exam/2021/Winter/exam.xml
@@ -21,136 +21,37 @@
         <listitem>
           <para>Download and unzip the above file
           <filename>exam.zip</filename>. You should see a directory
-          »<filename>Exam</filename>« containing a pom.xml file.</para>
+          »<filename>Exam</filename>« containing a
+          <filename>pom.xml</filename> file.</para>
         </listitem>
 
         <listitem>
           <para>Open this project in your <productname>IDEA</productname> IDE
-          selecting the <filename>Exam/pom.xml</filename> file.</para>
-        </listitem>
-
-        <listitem>
-          <para>Open a terminal in your <productname>IDEA</productname> IDE
-          and type »<command>mvn</command> <option>javadoc:javadoc</option>«.
-          This will generate the API documentation rooted at
-          <filename>target/site/apidocs/index.html</filename>.</para>
-        </listitem>
-
-        <listitem>
-          <para>Open <filename>target/site/apidocs/index.html</filename> in
-          your browser of choice and navigate to the individual classes to be
-          implemented. Read both class and method descriptions.</para>
+          by selecting the <filename>Exam/pom.xml</filename> file.</para>
         </listitem>
       </orderedlist>
     </section>
 
-    <section xml:id="sd1_exam_2021_winter_task1_description">
-      <title>Description</title>
-
-      <para>Your imported project contains:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Partial implementations of classes and methods.</para>
-        </listitem>
-
-        <listitem>
-          <para><productname>Javadoc</productname> comments describing the
-          desired (not yet implemented) behaviour.</para>
-        </listitem>
-
-        <listitem>
-          <para><productname>Junit</productname> tests for testing the desired
-          behaviour.</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
     <section xml:id="sd1_exam_2021_winter_task1_tasks">
       <title>Tasks</title>
 
-      <para>Complete the implementation of classes and methods in both
-      packages <package>de.hdm_stuttgart.mi.sd1.task1</package> and
-      <package>de.hdm_stuttgart.mi.sd1.task2</package>. Your project's
-      <filename>test</filename> branch contains corresponding
-      <productname>Junit</productname> tests for each class / method to be
-      implemented.</para>
-    </section>
-
-    <section xml:id="sd1_exam_2021_winter_task1_hints">
-      <title>Hints</title>
-
-      <itemizedlist>
-        <listitem>
-          <para>Your score solely depends on the number of successfully
-          executing unit tests. A »nearly correct« implementation failing with
-          respect to a given unit tests will not contribute any points at
-          all.</para>
-
-          <para>General advice: Implement less but correctly.</para>
-        </listitem>
-
-        <listitem>
-          <para>Mind special cases <abbrev>i.e.</abbrev> <code>null</code>
-          variable values or <code>null</code> values being contained in
-          arrays.</para>
-        </listitem>
-
-        <listitem>
-          <para>In case of test failures both the
-          <productname>IDEA</productname> debugger and logging statements are
-          your friend.</para>
-        </listitem>
-
-        <listitem>
-          <para>Executing
-          <package>de.hdm_stuttgart.mi.sd1</package>.<classname>ShowReachedPoints</classname>
-          in your project's <filename>test</filename> branch as a
-          <productname>Java</productname> application (not as
-          <productname>Junit</productname> test!) shows your number of points
-          reached so far.</para>
-        </listitem>
-
-        <listitem>
-          <para>Do not model your implementations along unit test definitions
-          i.e avoid <link
-          xlink:href="https://freedocs.mi.hdm-stuttgart.de/__slidesd1_appendix.html#/sd1_fig_testDontCheat">cheating
-          this way</link>! Such behaviour will be regarded as an attempt at
-          deception (<foreignphrase
-          xml:lang="de">Täuschungsversuch</foreignphrase>).</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
-    <section version="5.1" xml:id="sd1_exam_2021_winter_uploadFirst">
-      <title>Project upload</title>
-
-      <para>Export your project by hitting »File« --&gt; »Export« --&gt;
-      »Project to Zip File« in IDEA creating <abbrev>e.g.</abbrev> a file
-      <filename>solution-1.zip</filename>. Hit the <quote> choose file</quote>
-      button in your <productname>ILIAS</productname> browser tab and select
-      <filename>solution-1.zip</filename>. Subsequently click
-      <quote>upload</quote>. Do not forget to advance to the next question for
-      actually saving your upload. Common pitfalls:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Do not select the wrong archive! In particular avoid choosing
-          the original <filename>exam.zip</filename> file.</para>
-        </listitem>
-
-        <listitem>
-          <para>After uploading check for <filename>solution_1.zip</filename>
-          being visible in the examination system.</para>
-        </listitem>
-
-        <listitem>
-          <para>On advancing your implementation you may upload improved
-          versions i.e. <filename>solution_2.zip</filename> etc. of your
-          project at any time. Only your least uploaded archive will become
-          subject to marking.</para>
-        </listitem>
-      </itemizedlist>
+      <qandaset defaultlabel="qanda" xml:id="sd1_exam_2022_winter_task1Qanda">
+        <qandadiv>
+          <qandaentry>
+            <question>
+              <para>Open the <filename>Readme.md</filename> file in your
+              project's root. It contains all necessary instructions for
+              solving the implementation tasks.</para>
+            </question>
+
+            <answer>
+              <para>Solution see <link
+              xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/-/tree/master/Klausuren/Sd1/2021winter/Solve">winter
+              2021 Exam</link>.</para>
+            </answer>
+          </qandaentry>
+        </qandadiv>
+      </qandaset>
     </section>
 
     <section xml:id="sd1_exam_2021_winter_examCaveats">
diff --git a/Doc/Sd1/Appendix/Exam/2022/Winter/exam.xml b/Doc/Sd1/Appendix/Exam/2022/Winter/exam.xml
index ec61834e4..604930eeb 100644
--- a/Doc/Sd1/Appendix/Exam/2022/Winter/exam.xml
+++ b/Doc/Sd1/Appendix/Exam/2022/Winter/exam.xml
@@ -21,170 +21,39 @@
         <listitem>
           <para>Download and unzip the above file
           <filename>exam.zip</filename>. You should see a directory
-          »<filename>Exam</filename>« containing a pom.xml file.</para>
+          »<filename>Exam</filename>« containing a
+          <filename>pom.xml</filename> file.</para>
         </listitem>
 
         <listitem>
           <para>Open this project in your <productname>IDEA</productname> IDE
-          selecting the <filename>Exam/pom.xml</filename> file.</para>
-        </listitem>
-
-        <listitem>
-          <para>Open a terminal in your <productname>IDEA</productname> IDE
-          and type »<command>mvn</command> <option>javadoc:javadoc</option>«.
-          This will generate the API documentation rooted at
-          <filename>target/site/apidocs/index.html</filename>.</para>
-        </listitem>
-
-        <listitem>
-          <para>Open <filename>target/site/apidocs/index.html</filename> in
-          your browser of choice and navigate to the individual classes to be
-          implemented. Read both class and method descriptions.</para>
+          by selecting the <filename>Exam/pom.xml</filename> file.</para>
         </listitem>
       </orderedlist>
     </section>
 
-    <section xml:id="sd1_exam_2022_winter_task1_description">
-      <title>Description</title>
-
-      <para>Your imported project contains:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Partial implementations of classes and methods.</para>
-        </listitem>
-
-        <listitem>
-          <para><productname>Javadoc</productname> comments describing the
-          desired (not yet implemented) behaviour.</para>
-        </listitem>
-
-        <listitem>
-          <para><productname>Junit</productname> tests for testing the desired
-          behaviour.</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
-    <section xml:id="sd1_exam_2022_winter_task1_tasks">
-      <title>Tasks</title>
+    <section xml:id="sd1_exam_2022_winter_task1_task">
+      <title>Task</title>
 
       <qandaset defaultlabel="qanda" xml:id="sd1_exam_2022_winter_task1Qanda">
         <qandadiv>
           <qandaentry>
             <question>
-              <para>Complete the implementation of classes and methods in both
-              packages <package>de.hdm_stuttgart.mi.sd1.task1</package> and
-              <package>de.hdm_stuttgart.mi.sd1.task2</package>. Your project's
-              <filename>test</filename> branch provides corresponding
-              <productname>Junit</productname> tests for each class / method
-              to be implemented.</para>
+              <para>Open the <filename>Readme.md</filename> file in your
+              project's root. It contains all necessary instructions for
+              solving the implementation tasks.</para>
             </question>
 
             <answer>
-              <para>Solution see below <link
+              <para>Solution see <link
               xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/-/tree/master/Klausuren/Sd1/2022winter/Solve">winter
-              2022 Exam</link>.</para>
+              2022 exam</link>.</para>
             </answer>
           </qandaentry>
         </qandadiv>
       </qandaset>
     </section>
 
-    <section xml:id="sd1_exam_2022_winter_task1_hints">
-      <title>Hints</title>
-
-      <itemizedlist>
-        <listitem>
-          <para>Your score solely depends on the number of successfully
-          executing unit tests. A »nearly correct« implementation failing with
-          respect to a given unit tests will not contribute any points at
-          all.</para>
-
-          <para>General advice: Implement less but correctly.</para>
-        </listitem>
-
-        <listitem>
-          <para>Mind special cases <abbrev>i.e.</abbrev> <code>null</code>
-          variable values or <code>null</code> values being contained in
-          arrays.</para>
-        </listitem>
-
-        <listitem>
-          <para>In case of test failures both the
-          <productname>IDEA</productname> debugger and logging statements are
-          your friend.</para>
-        </listitem>
-
-        <listitem>
-          <para>Executing
-          <package>de.hdm_stuttgart.mi.sd1</package>.<classname>ShowReachedPoints</classname>
-          in your project's <filename>test</filename> branch as a
-          <productname>Java</productname> application (not as
-          <productname>Junit</productname> test!) shows your number of points
-          reached so far.</para>
-        </listitem>
-
-        <listitem>
-          <para>Do not model your implementations along unit test definitions
-          i.e avoid <link
-          xlink:href="https://freedocs.mi.hdm-stuttgart.de/__slidesd1_appendix.html#/sd1_fig_testDontCheat">cheating
-          this way</link>! Such behaviour will be regarded as an attempt at
-          deception (<foreignphrase
-          xml:lang="de">Täuschungsversuch</foreignphrase>).</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
-    <section version="5.1" xml:id="sd1_exam_2022_winter_uploadFirst">
-      <title>Project upload</title>
-
-      <orderedlist>
-        <listitem>
-          <para>Export your project by hitting »File« --&gt; »Export« --&gt;
-          »Project to Zip File« in IDEA creating <abbrev>e.g.</abbrev> a file
-          <filename>solution-1.zip</filename>.</para>
-        </listitem>
-
-        <listitem>
-          <para>Hit the <quote>choose file</quote> button in your
-          <productname>ILIAS</productname> browser tab and select
-          <filename>solution-1.zip</filename>.</para>
-        </listitem>
-
-        <listitem>
-          <para>Click <quote>upload</quote>.</para>
-        </listitem>
-
-        <listitem>
-          <para><emphasis role="red">Save your upload</emphasis> by advancing
-          to the next question. (<emphasis role="red">THIS IS
-          IMPORTANT!!!!!</emphasis>)</para>
-        </listitem>
-      </orderedlist>
-
-      <para>Common pitfalls:</para>
-
-      <itemizedlist>
-        <listitem>
-          <para>Do not select the wrong archive! In particular avoid choosing
-          the original <filename>exam.zip</filename> file.</para>
-        </listitem>
-
-        <listitem>
-          <para>After uploading check for <filename>solution_1.zip</filename>
-          being visible in the examination system.</para>
-        </listitem>
-
-        <listitem>
-          <para>On advancing your implementation you may upload improved
-          versions i.e. <filename>solution_2.zip</filename>
-          <acronym>etc.</acronym> of your project at any time. Only your least
-          uploaded archive will become subject to marking.</para>
-        </listitem>
-      </itemizedlist>
-    </section>
-
     <section xml:id="sd1_exam_2022_winter_examCaveats">
       <title>Caveats</title>
 
diff --git a/Doc/Sd1/Appendix/appendix.xml b/Doc/Sd1/Appendix/appendix.xml
index e43a5c0d8..1d330794b 100644
--- a/Doc/Sd1/Appendix/appendix.xml
+++ b/Doc/Sd1/Appendix/appendix.xml
@@ -2371,7 +2371,7 @@ Value 2147483645 is not prime.
     <xi:include href="Exam/2020/Summer/exam.xml" xpointer="element(/1)"
                 ns:idfixup="auto"/>
 
-    <xi:include href="Exam/2019/Winter/tasks.xml" xpointer="element(/1)"
+    <xi:include href="Exam/2019/Winter/exam.xml" xpointer="element(/1)"
                 ns:idfixup="auto"/>
 
     <xi:include href="Exam/2019/Summer/exam.xml" xpointer="element(/1)"
diff --git a/Klausuren/Sd1/2015summer/Exam/Readme.md b/Klausuren/Sd1/2015summer/Exam/Readme.md
index d85c3db81..178630e3c 100644
--- a/Klausuren/Sd1/2015summer/Exam/Readme.md
+++ b/Klausuren/Sd1/2015summer/Exam/Readme.md
@@ -1,37 +1,54 @@
 # Generate ond open class/method javadoc for browsing
 
-Grab a terminal in this IDE (Alt+F12) and issue the following command:
-```
-Exam> mvn javadoc:javadoc
-```
+Grab a terminal in this IDE (By lower left icon or Alt+F12) and issue the following command:
 
-Issue a second command asking for your project's working directory:
+<pre>Exam> mvn javadoc:javadoc
+...
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executing tasks
+     [echo] Generating <span style="color:blue;">file:///home/.../Downloads/Exam/target/site/apidocs/index.html</span>
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executed tasks
+...</pre>
 
-```
-Exam> pwd
-```
-- You'll see a path like `/home/student/Downloads/Exam` in reply. Copy and open it in your web browser of choice
-  (Chrome or firefox).
-- From there navigate to `target/site/apidocs` and open the documentation's root file `index.html`.
+Click the link from your Maven execution's output to open the project's `index.html` Javadoc root in your system's default web browser.
 
 # Implementation tasks
 
-The following packages do contain implementation tasks:
-- de.hdm_stuttgart.mi.sd1.task1 (50 Points)
+Your project's following packages do contain implementation tasks:
 
-- de.hdm_stuttgart.mi.sd1.task2 (20 points, more difficult)
+- `de.hdm_stuttgart.mi.sd1.task1` (50 Points)
 
-Read your generated documentation and implement the skeleton methods and classes.
+- `de.hdm_stuttgart.mi.sd1.task2` (20 points, more difficult)
 
-This project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+Read the generated documentation and implement the skeleton methods and classes.
 
-# Exam system upload
+Your project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+
+# Hints
+
+- Your score solely depends on the number of successfully executing unit tests. A »nearly correct« implementation failing
+with respect to a given unit tests will not contribute any points at all.
+
+- General advice: Implement less but correctly.
+
+- Mind special cases i.e. `null` variable values or null values being contained in arrays.
 
-After finishing please:
-- Export this project hitting »File ➔ Export ➔ Project to Zip File«
-- Use a self-explanatory file name like e.g. `solution1.zip`
-- Go to your exam browser window to upload `solution1.zip`
-- Be careful: Uploading  **requires clicking the »Save+next« button !!!**
-- You may upload as many `*.zip` archives as you like. Only the least uploaded one will become subject to marking.
+- In case of test failures both the IDEA debugger and logging statements are your friend.
+
+Executing `de.hdm_stuttgart.mi.sd1.ShowReachedPoints` in your project's test branch as a Java application
+(not as Junit test!) shows your number of points reached so far.
+
+Do not model your implementations along unit test definitions i.e. avoid cheating this way! Such behaviour will be
+regarded as an attempt at deception (Täuschungsversuch).
+
+# Exam system upload
 
+After finishing implementing:
 
+1. Export this project by hitting **»File ➔ Export ➔ Project to Zip File«**.
+1. Use a self-explanatory file name like e.g. `solution1.zip`.
+1. Go to your exam browser window and upload `solution1.zip` .
+1. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
+1. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
+   upload is visible.
+1. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
+    marking.
diff --git a/Klausuren/Sd1/2015winter/Exam/Readme.md b/Klausuren/Sd1/2015winter/Exam/Readme.md
index d85c3db81..178630e3c 100644
--- a/Klausuren/Sd1/2015winter/Exam/Readme.md
+++ b/Klausuren/Sd1/2015winter/Exam/Readme.md
@@ -1,37 +1,54 @@
 # Generate ond open class/method javadoc for browsing
 
-Grab a terminal in this IDE (Alt+F12) and issue the following command:
-```
-Exam> mvn javadoc:javadoc
-```
+Grab a terminal in this IDE (By lower left icon or Alt+F12) and issue the following command:
 
-Issue a second command asking for your project's working directory:
+<pre>Exam> mvn javadoc:javadoc
+...
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executing tasks
+     [echo] Generating <span style="color:blue;">file:///home/.../Downloads/Exam/target/site/apidocs/index.html</span>
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executed tasks
+...</pre>
 
-```
-Exam> pwd
-```
-- You'll see a path like `/home/student/Downloads/Exam` in reply. Copy and open it in your web browser of choice
-  (Chrome or firefox).
-- From there navigate to `target/site/apidocs` and open the documentation's root file `index.html`.
+Click the link from your Maven execution's output to open the project's `index.html` Javadoc root in your system's default web browser.
 
 # Implementation tasks
 
-The following packages do contain implementation tasks:
-- de.hdm_stuttgart.mi.sd1.task1 (50 Points)
+Your project's following packages do contain implementation tasks:
 
-- de.hdm_stuttgart.mi.sd1.task2 (20 points, more difficult)
+- `de.hdm_stuttgart.mi.sd1.task1` (50 Points)
 
-Read your generated documentation and implement the skeleton methods and classes.
+- `de.hdm_stuttgart.mi.sd1.task2` (20 points, more difficult)
 
-This project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+Read the generated documentation and implement the skeleton methods and classes.
 
-# Exam system upload
+Your project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+
+# Hints
+
+- Your score solely depends on the number of successfully executing unit tests. A »nearly correct« implementation failing
+with respect to a given unit tests will not contribute any points at all.
+
+- General advice: Implement less but correctly.
+
+- Mind special cases i.e. `null` variable values or null values being contained in arrays.
 
-After finishing please:
-- Export this project hitting »File ➔ Export ➔ Project to Zip File«
-- Use a self-explanatory file name like e.g. `solution1.zip`
-- Go to your exam browser window to upload `solution1.zip`
-- Be careful: Uploading  **requires clicking the »Save+next« button !!!**
-- You may upload as many `*.zip` archives as you like. Only the least uploaded one will become subject to marking.
+- In case of test failures both the IDEA debugger and logging statements are your friend.
+
+Executing `de.hdm_stuttgart.mi.sd1.ShowReachedPoints` in your project's test branch as a Java application
+(not as Junit test!) shows your number of points reached so far.
+
+Do not model your implementations along unit test definitions i.e. avoid cheating this way! Such behaviour will be
+regarded as an attempt at deception (Täuschungsversuch).
+
+# Exam system upload
 
+After finishing implementing:
 
+1. Export this project by hitting **»File ➔ Export ➔ Project to Zip File«**.
+1. Use a self-explanatory file name like e.g. `solution1.zip`.
+1. Go to your exam browser window and upload `solution1.zip` .
+1. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
+1. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
+   upload is visible.
+1. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
+    marking.
diff --git a/Klausuren/Sd1/2016summer/Exam/Readme.md b/Klausuren/Sd1/2016summer/Exam/Readme.md
index d85c3db81..178630e3c 100644
--- a/Klausuren/Sd1/2016summer/Exam/Readme.md
+++ b/Klausuren/Sd1/2016summer/Exam/Readme.md
@@ -1,37 +1,54 @@
 # Generate ond open class/method javadoc for browsing
 
-Grab a terminal in this IDE (Alt+F12) and issue the following command:
-```
-Exam> mvn javadoc:javadoc
-```
+Grab a terminal in this IDE (By lower left icon or Alt+F12) and issue the following command:
 
-Issue a second command asking for your project's working directory:
+<pre>Exam> mvn javadoc:javadoc
+...
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executing tasks
+     [echo] Generating <span style="color:blue;">file:///home/.../Downloads/Exam/target/site/apidocs/index.html</span>
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executed tasks
+...</pre>
 
-```
-Exam> pwd
-```
-- You'll see a path like `/home/student/Downloads/Exam` in reply. Copy and open it in your web browser of choice
-  (Chrome or firefox).
-- From there navigate to `target/site/apidocs` and open the documentation's root file `index.html`.
+Click the link from your Maven execution's output to open the project's `index.html` Javadoc root in your system's default web browser.
 
 # Implementation tasks
 
-The following packages do contain implementation tasks:
-- de.hdm_stuttgart.mi.sd1.task1 (50 Points)
+Your project's following packages do contain implementation tasks:
 
-- de.hdm_stuttgart.mi.sd1.task2 (20 points, more difficult)
+- `de.hdm_stuttgart.mi.sd1.task1` (50 Points)
 
-Read your generated documentation and implement the skeleton methods and classes.
+- `de.hdm_stuttgart.mi.sd1.task2` (20 points, more difficult)
 
-This project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+Read the generated documentation and implement the skeleton methods and classes.
 
-# Exam system upload
+Your project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+
+# Hints
+
+- Your score solely depends on the number of successfully executing unit tests. A »nearly correct« implementation failing
+with respect to a given unit tests will not contribute any points at all.
+
+- General advice: Implement less but correctly.
+
+- Mind special cases i.e. `null` variable values or null values being contained in arrays.
 
-After finishing please:
-- Export this project hitting »File ➔ Export ➔ Project to Zip File«
-- Use a self-explanatory file name like e.g. `solution1.zip`
-- Go to your exam browser window to upload `solution1.zip`
-- Be careful: Uploading  **requires clicking the »Save+next« button !!!**
-- You may upload as many `*.zip` archives as you like. Only the least uploaded one will become subject to marking.
+- In case of test failures both the IDEA debugger and logging statements are your friend.
+
+Executing `de.hdm_stuttgart.mi.sd1.ShowReachedPoints` in your project's test branch as a Java application
+(not as Junit test!) shows your number of points reached so far.
+
+Do not model your implementations along unit test definitions i.e. avoid cheating this way! Such behaviour will be
+regarded as an attempt at deception (Täuschungsversuch).
+
+# Exam system upload
 
+After finishing implementing:
 
+1. Export this project by hitting **»File ➔ Export ➔ Project to Zip File«**.
+1. Use a self-explanatory file name like e.g. `solution1.zip`.
+1. Go to your exam browser window and upload `solution1.zip` .
+1. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
+1. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
+   upload is visible.
+1. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
+    marking.
diff --git a/Klausuren/Sd1/2016winter/Exam/Readme.md b/Klausuren/Sd1/2016winter/Exam/Readme.md
index d85c3db81..178630e3c 100644
--- a/Klausuren/Sd1/2016winter/Exam/Readme.md
+++ b/Klausuren/Sd1/2016winter/Exam/Readme.md
@@ -1,37 +1,54 @@
 # Generate ond open class/method javadoc for browsing
 
-Grab a terminal in this IDE (Alt+F12) and issue the following command:
-```
-Exam> mvn javadoc:javadoc
-```
+Grab a terminal in this IDE (By lower left icon or Alt+F12) and issue the following command:
 
-Issue a second command asking for your project's working directory:
+<pre>Exam> mvn javadoc:javadoc
+...
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executing tasks
+     [echo] Generating <span style="color:blue;">file:///home/.../Downloads/Exam/target/site/apidocs/index.html</span>
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executed tasks
+...</pre>
 
-```
-Exam> pwd
-```
-- You'll see a path like `/home/student/Downloads/Exam` in reply. Copy and open it in your web browser of choice
-  (Chrome or firefox).
-- From there navigate to `target/site/apidocs` and open the documentation's root file `index.html`.
+Click the link from your Maven execution's output to open the project's `index.html` Javadoc root in your system's default web browser.
 
 # Implementation tasks
 
-The following packages do contain implementation tasks:
-- de.hdm_stuttgart.mi.sd1.task1 (50 Points)
+Your project's following packages do contain implementation tasks:
 
-- de.hdm_stuttgart.mi.sd1.task2 (20 points, more difficult)
+- `de.hdm_stuttgart.mi.sd1.task1` (50 Points)
 
-Read your generated documentation and implement the skeleton methods and classes.
+- `de.hdm_stuttgart.mi.sd1.task2` (20 points, more difficult)
 
-This project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+Read the generated documentation and implement the skeleton methods and classes.
 
-# Exam system upload
+Your project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+
+# Hints
+
+- Your score solely depends on the number of successfully executing unit tests. A »nearly correct« implementation failing
+with respect to a given unit tests will not contribute any points at all.
+
+- General advice: Implement less but correctly.
+
+- Mind special cases i.e. `null` variable values or null values being contained in arrays.
 
-After finishing please:
-- Export this project hitting »File ➔ Export ➔ Project to Zip File«
-- Use a self-explanatory file name like e.g. `solution1.zip`
-- Go to your exam browser window to upload `solution1.zip`
-- Be careful: Uploading  **requires clicking the »Save+next« button !!!**
-- You may upload as many `*.zip` archives as you like. Only the least uploaded one will become subject to marking.
+- In case of test failures both the IDEA debugger and logging statements are your friend.
+
+Executing `de.hdm_stuttgart.mi.sd1.ShowReachedPoints` in your project's test branch as a Java application
+(not as Junit test!) shows your number of points reached so far.
+
+Do not model your implementations along unit test definitions i.e. avoid cheating this way! Such behaviour will be
+regarded as an attempt at deception (Täuschungsversuch).
+
+# Exam system upload
 
+After finishing implementing:
 
+1. Export this project by hitting **»File ➔ Export ➔ Project to Zip File«**.
+1. Use a self-explanatory file name like e.g. `solution1.zip`.
+1. Go to your exam browser window and upload `solution1.zip` .
+1. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
+1. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
+   upload is visible.
+1. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
+    marking.
diff --git a/Klausuren/Sd1/2017summer/Exam/Readme.md b/Klausuren/Sd1/2017summer/Exam/Readme.md
index d85c3db81..178630e3c 100644
--- a/Klausuren/Sd1/2017summer/Exam/Readme.md
+++ b/Klausuren/Sd1/2017summer/Exam/Readme.md
@@ -1,37 +1,54 @@
 # Generate ond open class/method javadoc for browsing
 
-Grab a terminal in this IDE (Alt+F12) and issue the following command:
-```
-Exam> mvn javadoc:javadoc
-```
+Grab a terminal in this IDE (By lower left icon or Alt+F12) and issue the following command:
 
-Issue a second command asking for your project's working directory:
+<pre>Exam> mvn javadoc:javadoc
+...
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executing tasks
+     [echo] Generating <span style="color:blue;">file:///home/.../Downloads/Exam/target/site/apidocs/index.html</span>
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executed tasks
+...</pre>
 
-```
-Exam> pwd
-```
-- You'll see a path like `/home/student/Downloads/Exam` in reply. Copy and open it in your web browser of choice
-  (Chrome or firefox).
-- From there navigate to `target/site/apidocs` and open the documentation's root file `index.html`.
+Click the link from your Maven execution's output to open the project's `index.html` Javadoc root in your system's default web browser.
 
 # Implementation tasks
 
-The following packages do contain implementation tasks:
-- de.hdm_stuttgart.mi.sd1.task1 (50 Points)
+Your project's following packages do contain implementation tasks:
 
-- de.hdm_stuttgart.mi.sd1.task2 (20 points, more difficult)
+- `de.hdm_stuttgart.mi.sd1.task1` (50 Points)
 
-Read your generated documentation and implement the skeleton methods and classes.
+- `de.hdm_stuttgart.mi.sd1.task2` (20 points, more difficult)
 
-This project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+Read the generated documentation and implement the skeleton methods and classes.
 
-# Exam system upload
+Your project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+
+# Hints
+
+- Your score solely depends on the number of successfully executing unit tests. A »nearly correct« implementation failing
+with respect to a given unit tests will not contribute any points at all.
+
+- General advice: Implement less but correctly.
+
+- Mind special cases i.e. `null` variable values or null values being contained in arrays.
 
-After finishing please:
-- Export this project hitting »File ➔ Export ➔ Project to Zip File«
-- Use a self-explanatory file name like e.g. `solution1.zip`
-- Go to your exam browser window to upload `solution1.zip`
-- Be careful: Uploading  **requires clicking the »Save+next« button !!!**
-- You may upload as many `*.zip` archives as you like. Only the least uploaded one will become subject to marking.
+- In case of test failures both the IDEA debugger and logging statements are your friend.
+
+Executing `de.hdm_stuttgart.mi.sd1.ShowReachedPoints` in your project's test branch as a Java application
+(not as Junit test!) shows your number of points reached so far.
+
+Do not model your implementations along unit test definitions i.e. avoid cheating this way! Such behaviour will be
+regarded as an attempt at deception (Täuschungsversuch).
+
+# Exam system upload
 
+After finishing implementing:
 
+1. Export this project by hitting **»File ➔ Export ➔ Project to Zip File«**.
+1. Use a self-explanatory file name like e.g. `solution1.zip`.
+1. Go to your exam browser window and upload `solution1.zip` .
+1. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
+1. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
+   upload is visible.
+1. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
+    marking.
diff --git a/Klausuren/Sd1/2017winter/Exam/Readme.md b/Klausuren/Sd1/2017winter/Exam/Readme.md
index d85c3db81..178630e3c 100644
--- a/Klausuren/Sd1/2017winter/Exam/Readme.md
+++ b/Klausuren/Sd1/2017winter/Exam/Readme.md
@@ -1,37 +1,54 @@
 # Generate ond open class/method javadoc for browsing
 
-Grab a terminal in this IDE (Alt+F12) and issue the following command:
-```
-Exam> mvn javadoc:javadoc
-```
+Grab a terminal in this IDE (By lower left icon or Alt+F12) and issue the following command:
 
-Issue a second command asking for your project's working directory:
+<pre>Exam> mvn javadoc:javadoc
+...
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executing tasks
+     [echo] Generating <span style="color:blue;">file:///home/.../Downloads/Exam/target/site/apidocs/index.html</span>
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executed tasks
+...</pre>
 
-```
-Exam> pwd
-```
-- You'll see a path like `/home/student/Downloads/Exam` in reply. Copy and open it in your web browser of choice
-  (Chrome or firefox).
-- From there navigate to `target/site/apidocs` and open the documentation's root file `index.html`.
+Click the link from your Maven execution's output to open the project's `index.html` Javadoc root in your system's default web browser.
 
 # Implementation tasks
 
-The following packages do contain implementation tasks:
-- de.hdm_stuttgart.mi.sd1.task1 (50 Points)
+Your project's following packages do contain implementation tasks:
 
-- de.hdm_stuttgart.mi.sd1.task2 (20 points, more difficult)
+- `de.hdm_stuttgart.mi.sd1.task1` (50 Points)
 
-Read your generated documentation and implement the skeleton methods and classes.
+- `de.hdm_stuttgart.mi.sd1.task2` (20 points, more difficult)
 
-This project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+Read the generated documentation and implement the skeleton methods and classes.
 
-# Exam system upload
+Your project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+
+# Hints
+
+- Your score solely depends on the number of successfully executing unit tests. A »nearly correct« implementation failing
+with respect to a given unit tests will not contribute any points at all.
+
+- General advice: Implement less but correctly.
+
+- Mind special cases i.e. `null` variable values or null values being contained in arrays.
 
-After finishing please:
-- Export this project hitting »File ➔ Export ➔ Project to Zip File«
-- Use a self-explanatory file name like e.g. `solution1.zip`
-- Go to your exam browser window to upload `solution1.zip`
-- Be careful: Uploading  **requires clicking the »Save+next« button !!!**
-- You may upload as many `*.zip` archives as you like. Only the least uploaded one will become subject to marking.
+- In case of test failures both the IDEA debugger and logging statements are your friend.
+
+Executing `de.hdm_stuttgart.mi.sd1.ShowReachedPoints` in your project's test branch as a Java application
+(not as Junit test!) shows your number of points reached so far.
+
+Do not model your implementations along unit test definitions i.e. avoid cheating this way! Such behaviour will be
+regarded as an attempt at deception (Täuschungsversuch).
+
+# Exam system upload
 
+After finishing implementing:
 
+1. Export this project by hitting **»File ➔ Export ➔ Project to Zip File«**.
+1. Use a self-explanatory file name like e.g. `solution1.zip`.
+1. Go to your exam browser window and upload `solution1.zip` .
+1. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
+1. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
+   upload is visible.
+1. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
+    marking.
diff --git a/Klausuren/Sd1/2018summer/Exam/Readme.md b/Klausuren/Sd1/2018summer/Exam/Readme.md
index d85c3db81..178630e3c 100644
--- a/Klausuren/Sd1/2018summer/Exam/Readme.md
+++ b/Klausuren/Sd1/2018summer/Exam/Readme.md
@@ -1,37 +1,54 @@
 # Generate ond open class/method javadoc for browsing
 
-Grab a terminal in this IDE (Alt+F12) and issue the following command:
-```
-Exam> mvn javadoc:javadoc
-```
+Grab a terminal in this IDE (By lower left icon or Alt+F12) and issue the following command:
 
-Issue a second command asking for your project's working directory:
+<pre>Exam> mvn javadoc:javadoc
+...
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executing tasks
+     [echo] Generating <span style="color:blue;">file:///home/.../Downloads/Exam/target/site/apidocs/index.html</span>
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executed tasks
+...</pre>
 
-```
-Exam> pwd
-```
-- You'll see a path like `/home/student/Downloads/Exam` in reply. Copy and open it in your web browser of choice
-  (Chrome or firefox).
-- From there navigate to `target/site/apidocs` and open the documentation's root file `index.html`.
+Click the link from your Maven execution's output to open the project's `index.html` Javadoc root in your system's default web browser.
 
 # Implementation tasks
 
-The following packages do contain implementation tasks:
-- de.hdm_stuttgart.mi.sd1.task1 (50 Points)
+Your project's following packages do contain implementation tasks:
 
-- de.hdm_stuttgart.mi.sd1.task2 (20 points, more difficult)
+- `de.hdm_stuttgart.mi.sd1.task1` (50 Points)
 
-Read your generated documentation and implement the skeleton methods and classes.
+- `de.hdm_stuttgart.mi.sd1.task2` (20 points, more difficult)
 
-This project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+Read the generated documentation and implement the skeleton methods and classes.
 
-# Exam system upload
+Your project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+
+# Hints
+
+- Your score solely depends on the number of successfully executing unit tests. A »nearly correct« implementation failing
+with respect to a given unit tests will not contribute any points at all.
+
+- General advice: Implement less but correctly.
+
+- Mind special cases i.e. `null` variable values or null values being contained in arrays.
 
-After finishing please:
-- Export this project hitting »File ➔ Export ➔ Project to Zip File«
-- Use a self-explanatory file name like e.g. `solution1.zip`
-- Go to your exam browser window to upload `solution1.zip`
-- Be careful: Uploading  **requires clicking the »Save+next« button !!!**
-- You may upload as many `*.zip` archives as you like. Only the least uploaded one will become subject to marking.
+- In case of test failures both the IDEA debugger and logging statements are your friend.
+
+Executing `de.hdm_stuttgart.mi.sd1.ShowReachedPoints` in your project's test branch as a Java application
+(not as Junit test!) shows your number of points reached so far.
+
+Do not model your implementations along unit test definitions i.e. avoid cheating this way! Such behaviour will be
+regarded as an attempt at deception (Täuschungsversuch).
+
+# Exam system upload
 
+After finishing implementing:
 
+1. Export this project by hitting **»File ➔ Export ➔ Project to Zip File«**.
+1. Use a self-explanatory file name like e.g. `solution1.zip`.
+1. Go to your exam browser window and upload `solution1.zip` .
+1. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
+1. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
+   upload is visible.
+1. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
+    marking.
diff --git a/Klausuren/Sd1/2018winter/Exam/Readme.md b/Klausuren/Sd1/2018winter/Exam/Readme.md
index d85c3db81..178630e3c 100644
--- a/Klausuren/Sd1/2018winter/Exam/Readme.md
+++ b/Klausuren/Sd1/2018winter/Exam/Readme.md
@@ -1,37 +1,54 @@
 # Generate ond open class/method javadoc for browsing
 
-Grab a terminal in this IDE (Alt+F12) and issue the following command:
-```
-Exam> mvn javadoc:javadoc
-```
+Grab a terminal in this IDE (By lower left icon or Alt+F12) and issue the following command:
 
-Issue a second command asking for your project's working directory:
+<pre>Exam> mvn javadoc:javadoc
+...
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executing tasks
+     [echo] Generating <span style="color:blue;">file:///home/.../Downloads/Exam/target/site/apidocs/index.html</span>
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executed tasks
+...</pre>
 
-```
-Exam> pwd
-```
-- You'll see a path like `/home/student/Downloads/Exam` in reply. Copy and open it in your web browser of choice
-  (Chrome or firefox).
-- From there navigate to `target/site/apidocs` and open the documentation's root file `index.html`.
+Click the link from your Maven execution's output to open the project's `index.html` Javadoc root in your system's default web browser.
 
 # Implementation tasks
 
-The following packages do contain implementation tasks:
-- de.hdm_stuttgart.mi.sd1.task1 (50 Points)
+Your project's following packages do contain implementation tasks:
 
-- de.hdm_stuttgart.mi.sd1.task2 (20 points, more difficult)
+- `de.hdm_stuttgart.mi.sd1.task1` (50 Points)
 
-Read your generated documentation and implement the skeleton methods and classes.
+- `de.hdm_stuttgart.mi.sd1.task2` (20 points, more difficult)
 
-This project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+Read the generated documentation and implement the skeleton methods and classes.
 
-# Exam system upload
+Your project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+
+# Hints
+
+- Your score solely depends on the number of successfully executing unit tests. A »nearly correct« implementation failing
+with respect to a given unit tests will not contribute any points at all.
+
+- General advice: Implement less but correctly.
+
+- Mind special cases i.e. `null` variable values or null values being contained in arrays.
 
-After finishing please:
-- Export this project hitting »File ➔ Export ➔ Project to Zip File«
-- Use a self-explanatory file name like e.g. `solution1.zip`
-- Go to your exam browser window to upload `solution1.zip`
-- Be careful: Uploading  **requires clicking the »Save+next« button !!!**
-- You may upload as many `*.zip` archives as you like. Only the least uploaded one will become subject to marking.
+- In case of test failures both the IDEA debugger and logging statements are your friend.
+
+Executing `de.hdm_stuttgart.mi.sd1.ShowReachedPoints` in your project's test branch as a Java application
+(not as Junit test!) shows your number of points reached so far.
+
+Do not model your implementations along unit test definitions i.e. avoid cheating this way! Such behaviour will be
+regarded as an attempt at deception (Täuschungsversuch).
+
+# Exam system upload
 
+After finishing implementing:
 
+1. Export this project by hitting **»File ➔ Export ➔ Project to Zip File«**.
+1. Use a self-explanatory file name like e.g. `solution1.zip`.
+1. Go to your exam browser window and upload `solution1.zip` .
+1. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
+1. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
+   upload is visible.
+1. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
+    marking.
diff --git a/Klausuren/Sd1/2019summer/Exam/Readme.md b/Klausuren/Sd1/2019summer/Exam/Readme.md
index d85c3db81..178630e3c 100644
--- a/Klausuren/Sd1/2019summer/Exam/Readme.md
+++ b/Klausuren/Sd1/2019summer/Exam/Readme.md
@@ -1,37 +1,54 @@
 # Generate ond open class/method javadoc for browsing
 
-Grab a terminal in this IDE (Alt+F12) and issue the following command:
-```
-Exam> mvn javadoc:javadoc
-```
+Grab a terminal in this IDE (By lower left icon or Alt+F12) and issue the following command:
 
-Issue a second command asking for your project's working directory:
+<pre>Exam> mvn javadoc:javadoc
+...
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executing tasks
+     [echo] Generating <span style="color:blue;">file:///home/.../Downloads/Exam/target/site/apidocs/index.html</span>
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executed tasks
+...</pre>
 
-```
-Exam> pwd
-```
-- You'll see a path like `/home/student/Downloads/Exam` in reply. Copy and open it in your web browser of choice
-  (Chrome or firefox).
-- From there navigate to `target/site/apidocs` and open the documentation's root file `index.html`.
+Click the link from your Maven execution's output to open the project's `index.html` Javadoc root in your system's default web browser.
 
 # Implementation tasks
 
-The following packages do contain implementation tasks:
-- de.hdm_stuttgart.mi.sd1.task1 (50 Points)
+Your project's following packages do contain implementation tasks:
 
-- de.hdm_stuttgart.mi.sd1.task2 (20 points, more difficult)
+- `de.hdm_stuttgart.mi.sd1.task1` (50 Points)
 
-Read your generated documentation and implement the skeleton methods and classes.
+- `de.hdm_stuttgart.mi.sd1.task2` (20 points, more difficult)
 
-This project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+Read the generated documentation and implement the skeleton methods and classes.
 
-# Exam system upload
+Your project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+
+# Hints
+
+- Your score solely depends on the number of successfully executing unit tests. A »nearly correct« implementation failing
+with respect to a given unit tests will not contribute any points at all.
+
+- General advice: Implement less but correctly.
+
+- Mind special cases i.e. `null` variable values or null values being contained in arrays.
 
-After finishing please:
-- Export this project hitting »File ➔ Export ➔ Project to Zip File«
-- Use a self-explanatory file name like e.g. `solution1.zip`
-- Go to your exam browser window to upload `solution1.zip`
-- Be careful: Uploading  **requires clicking the »Save+next« button !!!**
-- You may upload as many `*.zip` archives as you like. Only the least uploaded one will become subject to marking.
+- In case of test failures both the IDEA debugger and logging statements are your friend.
+
+Executing `de.hdm_stuttgart.mi.sd1.ShowReachedPoints` in your project's test branch as a Java application
+(not as Junit test!) shows your number of points reached so far.
+
+Do not model your implementations along unit test definitions i.e. avoid cheating this way! Such behaviour will be
+regarded as an attempt at deception (Täuschungsversuch).
+
+# Exam system upload
 
+After finishing implementing:
 
+1. Export this project by hitting **»File ➔ Export ➔ Project to Zip File«**.
+1. Use a self-explanatory file name like e.g. `solution1.zip`.
+1. Go to your exam browser window and upload `solution1.zip` .
+1. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
+1. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
+   upload is visible.
+1. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
+    marking.
diff --git a/Klausuren/Sd1/2019winter/Exam/Readme.md b/Klausuren/Sd1/2019winter/Exam/Readme.md
index d85c3db81..178630e3c 100644
--- a/Klausuren/Sd1/2019winter/Exam/Readme.md
+++ b/Klausuren/Sd1/2019winter/Exam/Readme.md
@@ -1,37 +1,54 @@
 # Generate ond open class/method javadoc for browsing
 
-Grab a terminal in this IDE (Alt+F12) and issue the following command:
-```
-Exam> mvn javadoc:javadoc
-```
+Grab a terminal in this IDE (By lower left icon or Alt+F12) and issue the following command:
 
-Issue a second command asking for your project's working directory:
+<pre>Exam> mvn javadoc:javadoc
+...
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executing tasks
+     [echo] Generating <span style="color:blue;">file:///home/.../Downloads/Exam/target/site/apidocs/index.html</span>
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executed tasks
+...</pre>
 
-```
-Exam> pwd
-```
-- You'll see a path like `/home/student/Downloads/Exam` in reply. Copy and open it in your web browser of choice
-  (Chrome or firefox).
-- From there navigate to `target/site/apidocs` and open the documentation's root file `index.html`.
+Click the link from your Maven execution's output to open the project's `index.html` Javadoc root in your system's default web browser.
 
 # Implementation tasks
 
-The following packages do contain implementation tasks:
-- de.hdm_stuttgart.mi.sd1.task1 (50 Points)
+Your project's following packages do contain implementation tasks:
 
-- de.hdm_stuttgart.mi.sd1.task2 (20 points, more difficult)
+- `de.hdm_stuttgart.mi.sd1.task1` (50 Points)
 
-Read your generated documentation and implement the skeleton methods and classes.
+- `de.hdm_stuttgart.mi.sd1.task2` (20 points, more difficult)
 
-This project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+Read the generated documentation and implement the skeleton methods and classes.
 
-# Exam system upload
+Your project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+
+# Hints
+
+- Your score solely depends on the number of successfully executing unit tests. A »nearly correct« implementation failing
+with respect to a given unit tests will not contribute any points at all.
+
+- General advice: Implement less but correctly.
+
+- Mind special cases i.e. `null` variable values or null values being contained in arrays.
 
-After finishing please:
-- Export this project hitting »File ➔ Export ➔ Project to Zip File«
-- Use a self-explanatory file name like e.g. `solution1.zip`
-- Go to your exam browser window to upload `solution1.zip`
-- Be careful: Uploading  **requires clicking the »Save+next« button !!!**
-- You may upload as many `*.zip` archives as you like. Only the least uploaded one will become subject to marking.
+- In case of test failures both the IDEA debugger and logging statements are your friend.
+
+Executing `de.hdm_stuttgart.mi.sd1.ShowReachedPoints` in your project's test branch as a Java application
+(not as Junit test!) shows your number of points reached so far.
+
+Do not model your implementations along unit test definitions i.e. avoid cheating this way! Such behaviour will be
+regarded as an attempt at deception (Täuschungsversuch).
+
+# Exam system upload
 
+After finishing implementing:
 
+1. Export this project by hitting **»File ➔ Export ➔ Project to Zip File«**.
+1. Use a self-explanatory file name like e.g. `solution1.zip`.
+1. Go to your exam browser window and upload `solution1.zip` .
+1. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
+1. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
+   upload is visible.
+1. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
+    marking.
diff --git a/Klausuren/Sd1/2020summer/Exam/Readme.md b/Klausuren/Sd1/2020summer/Exam/Readme.md
index d85c3db81..178630e3c 100644
--- a/Klausuren/Sd1/2020summer/Exam/Readme.md
+++ b/Klausuren/Sd1/2020summer/Exam/Readme.md
@@ -1,37 +1,54 @@
 # Generate ond open class/method javadoc for browsing
 
-Grab a terminal in this IDE (Alt+F12) and issue the following command:
-```
-Exam> mvn javadoc:javadoc
-```
+Grab a terminal in this IDE (By lower left icon or Alt+F12) and issue the following command:
 
-Issue a second command asking for your project's working directory:
+<pre>Exam> mvn javadoc:javadoc
+...
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executing tasks
+     [echo] Generating <span style="color:blue;">file:///home/.../Downloads/Exam/target/site/apidocs/index.html</span>
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executed tasks
+...</pre>
 
-```
-Exam> pwd
-```
-- You'll see a path like `/home/student/Downloads/Exam` in reply. Copy and open it in your web browser of choice
-  (Chrome or firefox).
-- From there navigate to `target/site/apidocs` and open the documentation's root file `index.html`.
+Click the link from your Maven execution's output to open the project's `index.html` Javadoc root in your system's default web browser.
 
 # Implementation tasks
 
-The following packages do contain implementation tasks:
-- de.hdm_stuttgart.mi.sd1.task1 (50 Points)
+Your project's following packages do contain implementation tasks:
 
-- de.hdm_stuttgart.mi.sd1.task2 (20 points, more difficult)
+- `de.hdm_stuttgart.mi.sd1.task1` (50 Points)
 
-Read your generated documentation and implement the skeleton methods and classes.
+- `de.hdm_stuttgart.mi.sd1.task2` (20 points, more difficult)
 
-This project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+Read the generated documentation and implement the skeleton methods and classes.
 
-# Exam system upload
+Your project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+
+# Hints
+
+- Your score solely depends on the number of successfully executing unit tests. A »nearly correct« implementation failing
+with respect to a given unit tests will not contribute any points at all.
+
+- General advice: Implement less but correctly.
+
+- Mind special cases i.e. `null` variable values or null values being contained in arrays.
 
-After finishing please:
-- Export this project hitting »File ➔ Export ➔ Project to Zip File«
-- Use a self-explanatory file name like e.g. `solution1.zip`
-- Go to your exam browser window to upload `solution1.zip`
-- Be careful: Uploading  **requires clicking the »Save+next« button !!!**
-- You may upload as many `*.zip` archives as you like. Only the least uploaded one will become subject to marking.
+- In case of test failures both the IDEA debugger and logging statements are your friend.
+
+Executing `de.hdm_stuttgart.mi.sd1.ShowReachedPoints` in your project's test branch as a Java application
+(not as Junit test!) shows your number of points reached so far.
+
+Do not model your implementations along unit test definitions i.e. avoid cheating this way! Such behaviour will be
+regarded as an attempt at deception (Täuschungsversuch).
+
+# Exam system upload
 
+After finishing implementing:
 
+1. Export this project by hitting **»File ➔ Export ➔ Project to Zip File«**.
+1. Use a self-explanatory file name like e.g. `solution1.zip`.
+1. Go to your exam browser window and upload `solution1.zip` .
+1. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
+1. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
+   upload is visible.
+1. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
+    marking.
diff --git a/Klausuren/Sd1/2020winter_1/Exam/Readme.md b/Klausuren/Sd1/2020winter_1/Exam/Readme.md
index d85c3db81..178630e3c 100644
--- a/Klausuren/Sd1/2020winter_1/Exam/Readme.md
+++ b/Klausuren/Sd1/2020winter_1/Exam/Readme.md
@@ -1,37 +1,54 @@
 # Generate ond open class/method javadoc for browsing
 
-Grab a terminal in this IDE (Alt+F12) and issue the following command:
-```
-Exam> mvn javadoc:javadoc
-```
+Grab a terminal in this IDE (By lower left icon or Alt+F12) and issue the following command:
 
-Issue a second command asking for your project's working directory:
+<pre>Exam> mvn javadoc:javadoc
+...
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executing tasks
+     [echo] Generating <span style="color:blue;">file:///home/.../Downloads/Exam/target/site/apidocs/index.html</span>
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executed tasks
+...</pre>
 
-```
-Exam> pwd
-```
-- You'll see a path like `/home/student/Downloads/Exam` in reply. Copy and open it in your web browser of choice
-  (Chrome or firefox).
-- From there navigate to `target/site/apidocs` and open the documentation's root file `index.html`.
+Click the link from your Maven execution's output to open the project's `index.html` Javadoc root in your system's default web browser.
 
 # Implementation tasks
 
-The following packages do contain implementation tasks:
-- de.hdm_stuttgart.mi.sd1.task1 (50 Points)
+Your project's following packages do contain implementation tasks:
 
-- de.hdm_stuttgart.mi.sd1.task2 (20 points, more difficult)
+- `de.hdm_stuttgart.mi.sd1.task1` (50 Points)
 
-Read your generated documentation and implement the skeleton methods and classes.
+- `de.hdm_stuttgart.mi.sd1.task2` (20 points, more difficult)
 
-This project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+Read the generated documentation and implement the skeleton methods and classes.
 
-# Exam system upload
+Your project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+
+# Hints
+
+- Your score solely depends on the number of successfully executing unit tests. A »nearly correct« implementation failing
+with respect to a given unit tests will not contribute any points at all.
+
+- General advice: Implement less but correctly.
+
+- Mind special cases i.e. `null` variable values or null values being contained in arrays.
 
-After finishing please:
-- Export this project hitting »File ➔ Export ➔ Project to Zip File«
-- Use a self-explanatory file name like e.g. `solution1.zip`
-- Go to your exam browser window to upload `solution1.zip`
-- Be careful: Uploading  **requires clicking the »Save+next« button !!!**
-- You may upload as many `*.zip` archives as you like. Only the least uploaded one will become subject to marking.
+- In case of test failures both the IDEA debugger and logging statements are your friend.
+
+Executing `de.hdm_stuttgart.mi.sd1.ShowReachedPoints` in your project's test branch as a Java application
+(not as Junit test!) shows your number of points reached so far.
+
+Do not model your implementations along unit test definitions i.e. avoid cheating this way! Such behaviour will be
+regarded as an attempt at deception (Täuschungsversuch).
+
+# Exam system upload
 
+After finishing implementing:
 
+1. Export this project by hitting **»File ➔ Export ➔ Project to Zip File«**.
+1. Use a self-explanatory file name like e.g. `solution1.zip`.
+1. Go to your exam browser window and upload `solution1.zip` .
+1. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
+1. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
+   upload is visible.
+1. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
+    marking.
diff --git a/Klausuren/Sd1/2020winter_2/Exam/Readme.md b/Klausuren/Sd1/2020winter_2/Exam/Readme.md
index d85c3db81..178630e3c 100644
--- a/Klausuren/Sd1/2020winter_2/Exam/Readme.md
+++ b/Klausuren/Sd1/2020winter_2/Exam/Readme.md
@@ -1,37 +1,54 @@
 # Generate ond open class/method javadoc for browsing
 
-Grab a terminal in this IDE (Alt+F12) and issue the following command:
-```
-Exam> mvn javadoc:javadoc
-```
+Grab a terminal in this IDE (By lower left icon or Alt+F12) and issue the following command:
 
-Issue a second command asking for your project's working directory:
+<pre>Exam> mvn javadoc:javadoc
+...
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executing tasks
+     [echo] Generating <span style="color:blue;">file:///home/.../Downloads/Exam/target/site/apidocs/index.html</span>
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executed tasks
+...</pre>
 
-```
-Exam> pwd
-```
-- You'll see a path like `/home/student/Downloads/Exam` in reply. Copy and open it in your web browser of choice
-  (Chrome or firefox).
-- From there navigate to `target/site/apidocs` and open the documentation's root file `index.html`.
+Click the link from your Maven execution's output to open the project's `index.html` Javadoc root in your system's default web browser.
 
 # Implementation tasks
 
-The following packages do contain implementation tasks:
-- de.hdm_stuttgart.mi.sd1.task1 (50 Points)
+Your project's following packages do contain implementation tasks:
 
-- de.hdm_stuttgart.mi.sd1.task2 (20 points, more difficult)
+- `de.hdm_stuttgart.mi.sd1.task1` (50 Points)
 
-Read your generated documentation and implement the skeleton methods and classes.
+- `de.hdm_stuttgart.mi.sd1.task2` (20 points, more difficult)
 
-This project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+Read the generated documentation and implement the skeleton methods and classes.
 
-# Exam system upload
+Your project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+
+# Hints
+
+- Your score solely depends on the number of successfully executing unit tests. A »nearly correct« implementation failing
+with respect to a given unit tests will not contribute any points at all.
+
+- General advice: Implement less but correctly.
+
+- Mind special cases i.e. `null` variable values or null values being contained in arrays.
 
-After finishing please:
-- Export this project hitting »File ➔ Export ➔ Project to Zip File«
-- Use a self-explanatory file name like e.g. `solution1.zip`
-- Go to your exam browser window to upload `solution1.zip`
-- Be careful: Uploading  **requires clicking the »Save+next« button !!!**
-- You may upload as many `*.zip` archives as you like. Only the least uploaded one will become subject to marking.
+- In case of test failures both the IDEA debugger and logging statements are your friend.
+
+Executing `de.hdm_stuttgart.mi.sd1.ShowReachedPoints` in your project's test branch as a Java application
+(not as Junit test!) shows your number of points reached so far.
+
+Do not model your implementations along unit test definitions i.e. avoid cheating this way! Such behaviour will be
+regarded as an attempt at deception (Täuschungsversuch).
+
+# Exam system upload
 
+After finishing implementing:
 
+1. Export this project by hitting **»File ➔ Export ➔ Project to Zip File«**.
+1. Use a self-explanatory file name like e.g. `solution1.zip`.
+1. Go to your exam browser window and upload `solution1.zip` .
+1. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
+1. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
+   upload is visible.
+1. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
+    marking.
diff --git a/Klausuren/Sd1/2021summer/Exam/Readme.md b/Klausuren/Sd1/2021summer/Exam/Readme.md
index d85c3db81..178630e3c 100644
--- a/Klausuren/Sd1/2021summer/Exam/Readme.md
+++ b/Klausuren/Sd1/2021summer/Exam/Readme.md
@@ -1,37 +1,54 @@
 # Generate ond open class/method javadoc for browsing
 
-Grab a terminal in this IDE (Alt+F12) and issue the following command:
-```
-Exam> mvn javadoc:javadoc
-```
+Grab a terminal in this IDE (By lower left icon or Alt+F12) and issue the following command:
 
-Issue a second command asking for your project's working directory:
+<pre>Exam> mvn javadoc:javadoc
+...
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executing tasks
+     [echo] Generating <span style="color:blue;">file:///home/.../Downloads/Exam/target/site/apidocs/index.html</span>
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executed tasks
+...</pre>
 
-```
-Exam> pwd
-```
-- You'll see a path like `/home/student/Downloads/Exam` in reply. Copy and open it in your web browser of choice
-  (Chrome or firefox).
-- From there navigate to `target/site/apidocs` and open the documentation's root file `index.html`.
+Click the link from your Maven execution's output to open the project's `index.html` Javadoc root in your system's default web browser.
 
 # Implementation tasks
 
-The following packages do contain implementation tasks:
-- de.hdm_stuttgart.mi.sd1.task1 (50 Points)
+Your project's following packages do contain implementation tasks:
 
-- de.hdm_stuttgart.mi.sd1.task2 (20 points, more difficult)
+- `de.hdm_stuttgart.mi.sd1.task1` (50 Points)
 
-Read your generated documentation and implement the skeleton methods and classes.
+- `de.hdm_stuttgart.mi.sd1.task2` (20 points, more difficult)
 
-This project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+Read the generated documentation and implement the skeleton methods and classes.
 
-# Exam system upload
+Your project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
+
+# Hints
+
+- Your score solely depends on the number of successfully executing unit tests. A »nearly correct« implementation failing
+with respect to a given unit tests will not contribute any points at all.
+
+- General advice: Implement less but correctly.
+
+- Mind special cases i.e. `null` variable values or null values being contained in arrays.
 
-After finishing please:
-- Export this project hitting »File ➔ Export ➔ Project to Zip File«
-- Use a self-explanatory file name like e.g. `solution1.zip`
-- Go to your exam browser window to upload `solution1.zip`
-- Be careful: Uploading  **requires clicking the »Save+next« button !!!**
-- You may upload as many `*.zip` archives as you like. Only the least uploaded one will become subject to marking.
+- In case of test failures both the IDEA debugger and logging statements are your friend.
+
+Executing `de.hdm_stuttgart.mi.sd1.ShowReachedPoints` in your project's test branch as a Java application
+(not as Junit test!) shows your number of points reached so far.
+
+Do not model your implementations along unit test definitions i.e. avoid cheating this way! Such behaviour will be
+regarded as an attempt at deception (Täuschungsversuch).
+
+# Exam system upload
 
+After finishing implementing:
 
+1. Export this project by hitting **»File ➔ Export ➔ Project to Zip File«**.
+1. Use a self-explanatory file name like e.g. `solution1.zip`.
+1. Go to your exam browser window and upload `solution1.zip` .
+1. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
+1. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
+   upload is visible.
+1. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
+    marking.
diff --git a/Klausuren/Sd1/2021winter/Exam/Readme.md b/Klausuren/Sd1/2021winter/Exam/Readme.md
index 230d5ca54..178630e3c 100644
--- a/Klausuren/Sd1/2021winter/Exam/Readme.md
+++ b/Klausuren/Sd1/2021winter/Exam/Readme.md
@@ -1,42 +1,54 @@
 # Generate ond open class/method javadoc for browsing
 
-Grab a terminal in this IDE (Alt+F12) and issue the following command:
-```
-Exam> mvn javadoc:javadoc
-```
+Grab a terminal in this IDE (By lower left icon or Alt+F12) and issue the following command:
 
-Issue a `pwd` command to see your project's working directory:
+<pre>Exam> mvn javadoc:javadoc
+...
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executing tasks
+     [echo] Generating <span style="color:blue;">file:///home/.../Downloads/Exam/target/site/apidocs/index.html</span>
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executed tasks
+...</pre>
 
-```
-Exam> pwd
-/home/student/Downloads/Exam 
-```
-- Your project's root path will likely differ. Copy and open it in your web browser of choice (Chrome / Firefox).
-- From there navigate to `target/site/apidocs` and open the generated documentation's root file `index.html`.
+Click the link from your Maven execution's output to open the project's `index.html` Javadoc root in your system's default web browser.
 
 # Implementation tasks
 
 Your project's following packages do contain implementation tasks:
 
-- de.hdm_stuttgart.mi.sd1.task1 (50 Points)
+- `de.hdm_stuttgart.mi.sd1.task1` (50 Points)
 
-- de.hdm_stuttgart.mi.sd1.task2 (20 points, more difficult)
+- `de.hdm_stuttgart.mi.sd1.task2` (20 points, more difficult)
 
 Read the generated documentation and implement the skeleton methods and classes.
 
 Your project's  `test` branch does contain corresponding unit tests for verifying your solutions' correctness.
 
+# Hints
+
+- Your score solely depends on the number of successfully executing unit tests. A »nearly correct« implementation failing
+with respect to a given unit tests will not contribute any points at all.
+
+- General advice: Implement less but correctly.
+
+- Mind special cases i.e. `null` variable values or null values being contained in arrays.
+
+- In case of test failures both the IDEA debugger and logging statements are your friend.
+
+Executing `de.hdm_stuttgart.mi.sd1.ShowReachedPoints` in your project's test branch as a Java application
+(not as Junit test!) shows your number of points reached so far.
+
+Do not model your implementations along unit test definitions i.e. avoid cheating this way! Such behaviour will be
+regarded as an attempt at deception (Täuschungsversuch).
+
 # Exam system upload
 
 After finishing implementing:
 
 1. Export this project by hitting **»File ➔ Export ➔ Project to Zip File«**.
-2. Use a self-explanatory file name like e.g. `solution1.zip`.
-3. Go to your exam browser window and upload `solution1.zip` .
-4. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
-5. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
+1. Use a self-explanatory file name like e.g. `solution1.zip`.
+1. Go to your exam browser window and upload `solution1.zip` .
+1. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
+1. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
    upload is visible.
-6. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
+1. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
     marking.
-
-
diff --git a/Klausuren/Sd1/2022winter/Exam/Readme.md b/Klausuren/Sd1/2022winter/Exam/Readme.md
index 91e869779..178630e3c 100644
--- a/Klausuren/Sd1/2022winter/Exam/Readme.md
+++ b/Klausuren/Sd1/2022winter/Exam/Readme.md
@@ -1,27 +1,23 @@
 # Generate ond open class/method javadoc for browsing
 
-Grab a terminal in this IDE (Alt+F12) and issue the following command:
+Grab a terminal in this IDE (By lower left icon or Alt+F12) and issue the following command:
 
-```
-Exam> mvn javadoc:javadoc
-```
+<pre>Exam> mvn javadoc:javadoc
+...
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executing tasks
+     [echo] Generating <span style="color:blue;">file:///home/.../Downloads/Exam/target/site/apidocs/index.html</span>
+[<span style="color:blue;font-weight:bold;">INFO</span>] Executed tasks
+...</pre>
 
-Issue a `pwd` command to see your project's working directory:
-
-```
-Exam> pwd
-/home/student/Downloads/Exam 
-```
-- Your project's root path will likely differ. Copy and open it in your web browser of choice (Chrome / Firefox).
-- From there navigate to `target/site/apidocs` and open the generated documentation's root file `index.html`.
+Click the link from your Maven execution's output to open the project's `index.html` Javadoc root in your system's default web browser.
 
 # Implementation tasks
 
 Your project's following packages do contain implementation tasks:
 
-- de.hdm_stuttgart.mi.sd1.task1 (50 Points)
+- `de.hdm_stuttgart.mi.sd1.task1` (50 Points)
 
-- de.hdm_stuttgart.mi.sd1.task2 (20 points, more difficult)
+- `de.hdm_stuttgart.mi.sd1.task2` (20 points, more difficult)
 
 Read the generated documentation and implement the skeleton methods and classes.
 
@@ -38,10 +34,10 @@ with respect to a given unit tests will not contribute any points at all.
 
 - In case of test failures both the IDEA debugger and logging statements are your friend.
 
-Executing de.hdm_stuttgart.mi.sd1.ShowReachedPoints in your project's test branch as a Java application
+Executing `de.hdm_stuttgart.mi.sd1.ShowReachedPoints` in your project's test branch as a Java application
 (not as Junit test!) shows your number of points reached so far.
 
-Do not model your implementations along unit test definitions i.e avoid cheating this way! Such behaviour will be
+Do not model your implementations along unit test definitions i.e. avoid cheating this way! Such behaviour will be
 regarded as an attempt at deception (Täuschungsversuch).
 
 # Exam system upload
@@ -49,12 +45,10 @@ regarded as an attempt at deception (Täuschungsversuch).
 After finishing implementing:
 
 1. Export this project by hitting **»File ➔ Export ➔ Project to Zip File«**.
-2. Use a self-explanatory file name like e.g. `solution1.zip`.
-3. Go to your exam browser window and upload `solution1.zip` .
-4. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
-5. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
+1. Use a self-explanatory file name like e.g. `solution1.zip`.
+1. Go to your exam browser window and upload `solution1.zip` .
+1. Complete by  **clicking the »<span style="background: #527A35;color:white;">Speichern + weiter ➞ </span>«** button.
+1. Hit **<span style="background: #446684;color:white;"> 🠬 Speichern + zurück</span>** and check if your
    upload is visible.
-6. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
+1. If you advance on implementing: Repeat steps 1. to 5.: Only the least uploaded `.zip` archive will become subject to
     marking.
-
-
diff --git a/Klausuren/Sd1/2022winter/Exam/pom.xml b/Klausuren/Sd1/2022winter/Exam/pom.xml
index 4431d6a7e..c27303965 100644
--- a/Klausuren/Sd1/2022winter/Exam/pom.xml
+++ b/Klausuren/Sd1/2022winter/Exam/pom.xml
@@ -47,10 +47,27 @@
                 <version>3.10.1</version>
             </plugin>
 
+            <plugin>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <configuration>
+                            <tasks>
+                                <echo>Generating file://${project.basedir}/target/site/apidocs/index.html</echo>
+                            </tasks>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
 		        <artifactId>maven-javadoc-plugin</artifactId>
-		        <version>3.4.1</version>
+		        <version>3.5.0</version>
                 <configuration>
                     <release>17</release>
                     <doclint>all</doclint>
diff --git a/Klausuren/Sd1/Makefile b/Klausuren/Sd1/Makefile
new file mode 100644
index 000000000..10c64f728
--- /dev/null
+++ b/Klausuren/Sd1/Makefile
@@ -0,0 +1,21 @@
+SHELL = /bin/bash
+
+INSTALLDIR=/tmp/Exam
+DOCMODULES = 2014winter  2015summer  2015winter  2016summer  2016summer.failed  2016winter  2017summer  2017winter \
+	     2018summer  2018winter  2019summer  2019winter  2020summer  2020winter_1  2020winter_2  2021summer  # 2021winter  2022winter
+
+
+
+all:
+	mkdir -p /tmp/Exam
+	for number in ${DOCMODULES} ; do \
+          cd $$number/Exam ; mvn clean; rm -rf .idea *.log; cd ..; \
+          mkdir -p ${INSTALLDIR}/$$number; \
+          zip -r ${INSTALLDIR}/$$number/exam.zip Exam; cd ..;\
+        done
+
+
+clean:
+	rm -rf ${INSTALLDIR}
+
+#end
diff --git a/ws/Docbook/CustomLayer/Klausur/docbook2klausur.xsl b/ws/Docbook/CustomLayer/Klausur/docbook2klausur.xsl
index 7bb087235..a318f8333 100644
--- a/ws/Docbook/CustomLayer/Klausur/docbook2klausur.xsl
+++ b/ws/Docbook/CustomLayer/Klausur/docbook2klausur.xsl
@@ -185,7 +185,9 @@
     
     <xsl:template match="db:link|db:uri">
         <!-- link already present from template mode='link' -->
+      <span style='color:blue;'>
         <xsl:apply-templates/>
+      </span>
     </xsl:template>
     
     <xsl:template match="db:emphasis|db:acronym">
-- 
GitLab