diff --git a/ws/eclipse/Sda1PreExam/Exercises/OO/ex1.xhtml b/ws/eclipse/Sda1PreExam/Exercises/OO/ex1.xhtml
index 51e124316de7ab81e6ef0e70d51e2868b7ba6ef5..0e8029bb34f0f81f840dc6ab4491769d3c185ae3 100644
--- a/ws/eclipse/Sda1PreExam/Exercises/OO/ex1.xhtml
+++ b/ws/eclipse/Sda1PreExam/Exercises/OO/ex1.xhtml
@@ -6,88 +6,92 @@
   </head>
 
   <body><h1>A party statistics application</h1><p>Implement the following
-  interface:</p><pre><code>package party1;
+  interface <b>using the eclipse IDE</b>:</p>
+<pre><code>package party1;</code></pre>
+<pre><code></code></pre>
+<pre><code>/**</code></pre>
+<pre><code> * Provide statistical information regarding a party. We distinguish</code></pre>
+<pre><code> * between the numbers of guests and the number of organizers.</code></pre>
+<pre><code> * The whole party will cost a certain amount of money being defined </code></pre>
+<pre><code> * by calling {@link #setExpenses(float)}.</code></pre>
+<pre><code> * </code></pre>
+<pre><code> * These expenses will be paid by the organizers, the latter being set</code></pre>
+<pre><code> * by calling {@link #setNumberOfOrganizers(int)}. Each organizer will have to</code></pre>
+<pre><code> * pay his corresponding share.</code></pre>
+<pre><code> *</code></pre>
+<pre><code> */</code></pre>
+<pre><code>public interface PartyStatistics {</code></pre>
+<pre><code>    </code></pre>
+<pre><code>    /**</code></pre>
+<pre><code>     * @param numGuests The number of guests attending the party,</code></pre>
+<pre><code>     *                default value is zero.</code></pre>
+<pre><code>     */</code></pre>
+<pre><code>    public void setNumberOfGuests(int numGuests);</code></pre>
+<pre><code>    </code></pre>
+<pre><code>    /**</code></pre>
+<pre><code>     * @param numOrganizers The number of persons organizing the party,</code></pre>
+<pre><code>     *   default value is zero.</code></pre>
+<pre><code>     */</code></pre>
+<pre><code>    public void setNumberOfOrganizers(int numOrganizers);</code></pre>
+<pre><code>    </code></pre>
+<pre><code>    /**</code></pre>
+<pre><code>     * </code></pre>
+<pre><code>     * @param expenses The sum of all costs the party has caused.</code></pre>
+<pre><code>     *                Default value is zero (0f)</code></pre>
+<pre><code>     */</code></pre>
+<pre><code>    public void setExpenses(float expenses);</code></pre>
+<pre><code>    </code></pre>
+<pre><code>    /**</code></pre>
+<pre><code>     * We assume that all party participants shake hands with each</code></pre>
+<pre><code>     * other at arrival. Example: Having one organizer and three guests</code></pre>
+<pre><code>     * results in six handshakes.</code></pre>
+<pre><code>     * </code></pre>
+<pre><code>     * @return The total number of handshakes among all guests and organizers.</code></pre>
+<pre><code>     */</code></pre>
+<pre><code>    public int getNumberOfHandshakes();</code></pre>
+<pre><code>    </code></pre>
+<pre><code>    /**</code></pre>
+<pre><code>     * Expenses will be shared by all organizers.</code></pre>
+<pre><code>     * @return Each organizer's share according to {@link #setExpenses(float)} and </code></pre>
+<pre><code>     *           {@link #setNumberOfOrganizers(int)}</code></pre>
+<pre><code>     */</code></pre>
+<pre><code>    public float getAverageExpenses();</code></pre>
+<pre><code>}</code></pre>
 
-
-/**
- * Provide statistical information regarding a party. We distinguish
- * between the numbers of guests and the number of organizers.
- * The whole party will cost a certain amount of money being defined 
- * by calling {@link #setExpenses(float)}.
- * 
- * These expenses will be paid by the organizers, the latter being set
- * by calling {@link #setNumberOfOrganizers(int)}. Each organizer will have to
- * pay his corresponding share.
- *
- */
-public interface PartyStatistics {
-    
-    /**
-     * @param numGuests The number of guests attending the party,
-     *                default value is zero.
-     */
-    public void setNumberOfGuests(int numGuests);
-    
-    /**
-     * @param numOrganizers The number of persons organizing the party,
-     *   default value is zero.
-     */
-    public void setNumberOfOrganizers(int numOrganizers);
-    
-    /**
-     * 
-     * @param expenses The sum of all costs the party has caused.
-     *                Default value is zero (0f)
-     */
-    public void setExpenses(float expenses);
-    
-    /**
-     * We assume that all party participants shake hands with each
-     * other at arrival. Example: Having one organizer and three guests
-     * results in six handshakes.
-     * 
-     * @return The total number of handshakes among all guests and organizers.
-     */
-    public int getNumberOfHandshakes();
-    
-    /**
-     * Expenses will be shared by all organizers.
-     * @return Each organizer's share according to {@link #setExpenses(float)} and 
-     *           {@link #setNumberOfOrganizers(int)}
-     */
-    public float getAverageExpenses();
-}</code></pre><h1>Solution</h1><p>An implementing class needs to keep track
+<h1>Solution</h1><p>An implementing class needs to keep track
   about state being changed by invocations of <code>setExpenses(float
   expenses)</code>, <code>setNumberOfGuests(int numGuests)</code> and
   <code>setNumberOfOrganizers(int numOrganizers)</code>. Thus we need three
   corresponding instance variables <code>expenses</code>,
-  <code>numGuests</code> and <code>numOrganizers</code>:</p><pre><code>package party1;
-
-public class PartyStatisticsImpl implements PartyStatistics {
-    
-    @Override
-    public void setNumberOfGuests(int numGuests) { this.numGuests = numGuests;}
-
-    @Override
-    public void setNumberOfOrganizers(int numOrganizers) { this.numOrganizers = numOrganizers;}
-
-    @Override
-    public void setExpenses(float expenses) { this.expenses = expenses;}
-
-    @Override
-    public float getAverageExpenses() {
-        return expenses / numOrganizers;
-    }
-    @Override
-    public int getNumberOfHandshakes() {
-        final int totalPersonsNum = numGuests + numOrganizers;
-        return totalPersonsNum * (totalPersonsNum - 1) / 2;
-    }
-    
-    int numGuests = 0;
-    int numOrganizers = 0;
-    float expenses = 0f;
-}</code></pre><p>The three internal values must be initialized to zero in
+  <code>numGuests</code> and <code>numOrganizers</code>:</p>
+<pre><code>package party1;</code></pre>
+<pre><code></code></pre>
+<pre><code>public class PartyStatisticsImpl implements PartyStatistics {</code></pre>
+<pre><code>    </code></pre>
+<pre><code>    @Override</code></pre>
+<pre><code>    public void setNumberOfGuests(int numGuests) { this.numGuests = numGuests;}</code></pre>
+<pre><code></code></pre>
+<pre><code>    @Override</code></pre>
+<pre><code>    public void setNumberOfOrganizers(int numOrganizers) { this.numOrganizers = numOrganizers;}</code></pre>
+<pre><code></code></pre>
+<pre><code>    @Override</code></pre>
+<pre><code>    public void setExpenses(float expenses) { this.expenses = expenses;}</code></pre>
+<pre><code></code></pre>
+<pre><code>    @Override</code></pre>
+<pre><code>    public float getAverageExpenses() {</code></pre>
+<pre><code>        return expenses / numOrganizers;</code></pre>
+<pre><code>    }</code></pre>
+<pre><code>    @Override</code></pre>
+<pre><code>    public int getNumberOfHandshakes() {</code></pre>
+<pre><code>        final int totalPersonsNum = numGuests + numOrganizers;</code></pre>
+<pre><code>        return totalPersonsNum * (totalPersonsNum - 1) / 2;</code></pre>
+<pre><code>    }</code></pre>
+<pre><code>    </code></pre>
+<pre><code>    int numGuests = 0;</code></pre>
+<pre><code>    int numOrganizers = 0;</code></pre>
+<pre><code>    float expenses = 0f;</code></pre>
+<pre><code>}</code></pre>
+<p>The three internal values must be initialized to zero in
   accordance with their defaults as being described in the methods'
   documentation of the interface <code>PartyStatistics</code>.</p></body>
 </html>
diff --git a/ws/eclipse/Sda1PreExam/Exercises/OO/ex2.xhtml b/ws/eclipse/Sda1PreExam/Exercises/OO/ex2.xhtml
index 9420ead8680dcba7c4effa5fbcab337d2c5bea34..1a7105f27af8f449cff5d5eecf426b927088bc6e 100644
--- a/ws/eclipse/Sda1PreExam/Exercises/OO/ex2.xhtml
+++ b/ws/eclipse/Sda1PreExam/Exercises/OO/ex2.xhtml
@@ -5,24 +5,31 @@
     <title></title>
   </head>
 
-  <body><h1>The <code>Override</code> annotation</h1><p>In the suggested
-  solution of the previous exercise you found the
-  <code>java.lang.Override</code> annotation:</p><pre><code>...
+  <body>
+    <!-- Exercise 1 -->
 
-public class PartyStatisticsImpl implements PartyStatistics {
-    
-    <b>@Override</b>
-    public void setNumberOfGuests(int numGuests) { this.numGuests = numGuests;}
+    <h1>The <code>Override</code> annotation</h1>
+    <p>In the suggested
+  solution of the previous exercise you will find the
+  <code>java.lang.Override</code> annotation:</p>
+<pre><code>...</code></pre>
+<pre><code>public class PartyStatisticsImpl implements PartyStatistics {    </code></pre>
+<pre><code>    <b>@Override</b></code></pre>
+<pre><code>    public void setNumberOfGuests(int numGuests) { ...}</code></pre>
+<pre><code>...</code></pre>
 
-...</code></pre><p>Answer the following three questions:</p><ol>
+  <p>Answer the following three questions with respect to <code>@override</code>:</p><ol>
       <li>Explain its precise meaning in the current context.</li>
 
-      <li>Do you know a different Java meaning of <code>Override</code> in
-      context of a related problem?</li>
+      <li>Do you know a different Java meaning of <code>@Override</code> in a
+      similar but yet different context?</li>
 
       <li>What happens to the way the code executes if the
-      <code>Override</code> annotations are being erased?</li>
-    </ol><h1>Solution</h1><ol>
+      <code>@Override</code> annotations are being omitted? Whats the catch of
+      using <code>@Override</code>?</li>
+    </ol>
+
+<h1>Solution</h1><ol>
       <li>The method <code>void setNumberOfGuests(int numGuests)</code> in
       class <code>PartyStatisticsImpl</code> implements a method <code>void
       setNumberOfGuests(int numGuests)</code> from the interface
@@ -31,80 +38,111 @@ public class PartyStatisticsImpl implements PartyStatistics {
       <li><p>The <code>Override</code> annotation may indicate that a method
       in a derived class overrides a corresponding method in one of its parent
       classes (in a given inheritance hierarchy). Consider the following
-      example:</p><pre><code><b>File A.java:</b>
-
-public class A {
-    void myDoNothingMethod(){}
-}
-----------------------------------
-<b>File B.java</b>:
-
-public class B extends A {
-  // More code to be added later
-}
------------------------------------
-<b>File C.java</b>;
+      example:</p>
+<pre><code><b>File A.java:</b></code></pre>
+<pre><code></code></pre>
+<pre><code>public class A {</code></pre>
+<pre><code>    void myDoNothingMethod(){}</code></pre>
+<pre><code>}</code></pre>
+<pre><code>----------------------------------</code></pre>
+<pre><code><b>File B.java:</b></code></pre>
+<pre><code></code></pre>
+<pre><code>public class B extends A {</code></pre>
+<pre><code>  // More code to be added later</code></pre>
+<pre><code>}</code></pre>
+<pre><code>-----------------------------------</code></pre>
+<pre><code><b>File C.java</b>;</code></pre>
+<pre><code></code></pre>
+<pre><code>public class C extends B {</code></pre>
+<pre><code></code></pre>
+<pre><code>    @Override</code></pre>
+<pre><code>    void myDoNothingMethod() {}</code></pre>
+<pre><code>}</code></pre>
+</li>
 
-public class C extends B {
+      <li><p>Nothing. But accidentally changing the method's name or signature
+      yields a compiler error. Consider the following example:</p>
 
-    @Override
-    void myDoNothingMethod() {}
-}</code></pre></li>
+<pre><code>...</code></pre>
+<pre><code></code></pre>
+<pre><code>public class PartyStatisticsImpl implements PartyStatistics {</code></pre>
+<pre><code>    </code></pre>
+<pre><code>    <b>@Override</b></code></pre>
+<pre><code>    public void setNumberOfGuest(int numGuests) { this.numGuests = numGuests;}</code></pre>
+<pre><code></code></pre>
+<pre><code>...</code></pre>
 
-      <li><p>Nothing. But accidentally changing the method's signature yields
-      a compiler error. Consider the following example:</p><pre><code>...
-
-public class PartyStatisticsImpl implements PartyStatistics {
-    
-    <b>@Override</b>
-    public void setNumberOfGuest(int numGuests) { this.numGuests = numGuests;}
-
-...</code></pre><p>Do you see the typo? The <q>s</q> is missing at the end of
+<p>Do you see the typo? The "s" is missing at the end of
       <code>setNumberOfGuest</code>. Thanks to the <code>Override</code>
       annotation this mistake gets flagged by a compile time error <q>The
       method setNumberOfGuest(int) of type PartyStatisticsImpl must override
-      or implement a supertype method</q>.</p></li>
-    </ol><h1>Handling missing organizers</h1><p>Our (Your??) current
-  implementation contains a problem. The method float getAverageExpenses()
-  assumes a non-zero number as being stated in its documentation. Violating
+      or implement a supertype method</q>. Similar using a different parameter
+      type e.g. <code>String</code> in favour of <code>int</code> will be
+      flagged as an error, too.</p></li>
+    </ol>
+
+<h1>Handling missing organizers</h1>
+<p>Our (Your??) current
+  implementation contains a problem. The method <code>float getAverageExpenses()</code>
+  assumes a non-zero number of organizers to share expenses as being stated in its documentation. Violating
   this precondition yields a division by zero and thus an unchecked runtime
-  exception due to:</p><pre><code>@Override
-public float getAverageExpenses() {
-        return expenses / <b>numOrganizers</b>;
-}</code></pre><p>We want to have a checked exception instead. Modify both the
+  exception due to:</p>
+<pre><code></code></pre>
+<pre><code>@Override</code></pre>
+<pre><code>public float getAverageExpenses() {</code></pre>
+<pre><code>        return expenses / <b>numOrganizers</b>;</code></pre>
+<pre><code>}</code></pre>
+<p>We want to have a checked exception instead. Modify both the
   interface and your implementation accordingly by introducing a
-  <b>suitable</b> exception class.</p><h1>Solution</h1><p>We add an exception
-  class related to arithmetic errors:</p><pre><code>/**
- * According to {@link PartyStatistics#getAverageExpenses()} a party's
- * costs will be shared by the organizers and thus divided by their respective
- * number. If the number of organizers is zero this exception
- * will be thrown on invocation of {@link PartyStatistics#getAverageExpenses()}.
- *
- */
-public class <b>NoOrganizerException extends ArithmeticException</b> {
-    @Override
-    public String getMessage() {
-        return "No organizer has been defined. How shall I share costs?";
-    }
-}</code></pre><p>We have to modify our interface:</p><pre><code>public interface PartyStatistics {
-    
-  ...    
-    /**
-     * Expenses will be shared by all organizers.
-     * @return Each organizer's share according to {@link #setExpenses(float)} and 
-     *           {@link #setNumberOfOrganizers(int)}
-     * @throws NoOrganizerException in case the number of organizers is zero
-     */
-    public float getAverageExpenses() <b>throws NoOrganizerException</b>;
-    
-}</code></pre><p>Our implementation now reads:</p><pre><code>...
-@Override
-public float getAverageExpenses() throws NoOrganizerException {
-    if (0 &lt; numOrganizers) {
-        return expenses / numOrganizers;
-    } else {
-        throw new NoOrganizerException();
-    }
-}
-...</code></pre></body>
+  <b>suitable</b> exception class.</p>
+
+<!-- Exercise 2 -->
+
+<h1>Solution</h1>
+
+<p>We add an exception
+  class related to arithmetic errors:</p>
+<pre><code></code></pre>
+<pre><code>/**</code></pre>
+<pre><code> * According to {@link PartyStatistics#getAverageExpenses()} a party's</code></pre>
+<pre><code> * costs will be shared by the organizers and thus divided by their respective</code></pre>
+<pre><code> * number. If the number of organizers is zero this exception</code></pre>
+<pre><code> * will be thrown on invocation of {@link PartyStatistics#getAverageExpenses()}.</code></pre>
+<pre><code> *</code></pre>
+<pre><code> */</code></pre>
+<pre><code>public class <b>NoOrganizerException extends ArithmeticException</b> {</code></pre>
+<pre><code>    @Override</code></pre>
+<pre><code>    public String getMessage() {</code></pre>
+<pre><code>        return "No organizer has been defined. How shall I share costs?";</code></pre>
+<pre><code>    }</code></pre>
+<pre><code>}</code></pre>
+
+<p>We have to modify our interface accordingly:</p>
+
+<pre><code></code></pre>
+<pre><code>public interface PartyStatistics {</code></pre>
+<pre><code>    </code></pre>
+<pre><code>  ...    </code></pre>
+<pre><code>    /**</code></pre>
+<pre><code>     * Expenses will be shared by all organizers.</code></pre>
+<pre><code>     * @return Each organizer's share according to {@link #setExpenses(float)} and </code></pre>
+<pre><code>     *           {@link #setNumberOfOrganizers(int)}</code></pre>
+<pre><code>     * <b>@throws NoOrganizerException in case the number of organizers is zero</b></code></pre>
+<pre><code>     */</code></pre>
+<pre><code>    public float getAverageExpenses() <b>throws NoOrganizerException</b>;</code></pre>
+<pre><code>    </code></pre>
+<pre><code>}</code></pre>
+
+<p>Our implementation now reads:</p>
+<pre><code>...</code></pre>
+<pre><code>@Override</code></pre>
+<pre><code>public float getAverageExpenses() <b>throws NoOrganizerException</b> {</code></pre>
+<pre><code>    if (0 &lt; numOrganizers) {</code></pre>
+<pre><code>        return expenses / numOrganizers;</code></pre>
+<pre><code>    } else {</code></pre>
+<pre><code>        <b>throw new NoOrganizerException();</b></code></pre>
+<pre><code>    }</code></pre>
+<pre><code>}</code></pre>
+<pre><code>...</code></pre>
+</body>
 </html>