diff --git a/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/.gitignore b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..4e247eee2103b4d4a35eba38166587fee1391f0e
--- /dev/null
+++ b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/.gitignore
@@ -0,0 +1,4 @@
+/.settings
+/target
+/.classpath
+/.project
diff --git a/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/pom.xml b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f91823dbadcf5bf01e3e75ee1af4a1149f505a39
--- /dev/null
+++ b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/pom.xml
@@ -0,0 +1,42 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>de.hdm-stuttgart.de.sd1</groupId>
+	<artifactId>diff</artifactId>
+	<version>1.0</version>
+	<packaging>jar</packaging>
+
+	<name>Diff</name>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<version>3.2</version>
+				<configuration>
+					<source>1.8</source>
+					<target>1.8</target>
+				</configuration>
+			</plugin>
+
+		</plugins>
+	</build>
+	<dependencies>
+
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>4.12</version>
+			<scope>test</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>de.hdm_stuttgart.mi.exam</groupId>
+			<artifactId>unitmarking</artifactId>
+			<version>0.9</version>
+		</dependency>
+
+	</dependencies>
+</project>
diff --git a/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/diff/Diff.java b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/diff/Diff.java
new file mode 100644
index 0000000000000000000000000000000000000000..35248e5f178533e4c1b3f63e7f9a5d67bb95fead
--- /dev/null
+++ b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/diff/Diff.java
@@ -0,0 +1,28 @@
+package de.hdm_stuttgart.mi.sd1.diff;
+
+/**
+ * Additional helper methods
+ *
+ */
+public class Diff {
+  /**
+   * Compute the absolute value of the biggest difference between
+   *  two of three given numbers a, b, and c
+   * 
+   * Examples:
+   * 
+   * a == 1, b == 2, c ==10, the biggest absolute difference is 10 - 1 = 9
+   * a == 4, b ==10, c == 1, the biggest absolute difference is 10 - 1 = 9
+   * a ==-3, b == 4, c == 3, the biggest absolute difference is 4 - (-3) = 7
+   * 
+   * 
+   * @param a The first of three parameters
+   * @param b The second of three parameters
+   * @param c The third of three parameters
+   * @return The absolute value of the biggest difference between any possble pair 
+   *        of the three parameters
+   */
+  public static int maxDiff(int a, int b, int c) {
+    return -17; //TODO Implementiere mich!
+  }
+}
diff --git a/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/diff/package-info.java b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/diff/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..bc8fbda8699077f79792f2af91704af9380d17d8
--- /dev/null
+++ b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/diff/package-info.java
@@ -0,0 +1,5 @@
+/**
+ * Dealing with difference values
+ *
+ */
+package de.hdm_stuttgart.mi.sd1.diff;
\ No newline at end of file
diff --git a/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/src/test/java/de/hdm_stuttgart/sw1/klausur/mein_ergebnis/ShowReachedPoints.java b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/src/test/java/de/hdm_stuttgart/sw1/klausur/mein_ergebnis/ShowReachedPoints.java
new file mode 100644
index 0000000000000000000000000000000000000000..b68079af1db4b2d44743e7dd875164006874b6c5
--- /dev/null
+++ b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/src/test/java/de/hdm_stuttgart/sw1/klausur/mein_ergebnis/ShowReachedPoints.java
@@ -0,0 +1,16 @@
+package de.hdm_stuttgart.sw1.klausur.mein_ergebnis;
+
+import de.hdm_stuttgart.mi.exam.unitmarking.RunTests;
+import de.hdm_stuttgart.sw1.klausur.test.Test_MaxDiff;
+
+public class ShowReachedPoints {
+
+   /**
+    * Execution reveals the number of reached points.
+    * 
+    * @param args Unused
+    */
+   public static void main(String[] args) {
+      RunTests.exec(Test_MaxDiff.class);
+   }
+}
diff --git a/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/src/test/java/de/hdm_stuttgart/sw1/klausur/test/Test_MaxDiff.java b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/src/test/java/de/hdm_stuttgart/sw1/klausur/test/Test_MaxDiff.java
new file mode 100644
index 0000000000000000000000000000000000000000..7c2d04b9b63bd0aeacf8643e528bc290d1b0957f
--- /dev/null
+++ b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Exam/src/test/java/de/hdm_stuttgart/sw1/klausur/test/Test_MaxDiff.java
@@ -0,0 +1,52 @@
+package de.hdm_stuttgart.sw1.klausur.test;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.FixMethodOrder;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.DisableOnDebug;
+import org.junit.rules.TestRule;
+import org.junit.rules.Timeout;
+import org.junit.runners.MethodSorters;
+
+import de.hdm_stuttgart.mi.sd1.diff.Diff;
+
+@SuppressWarnings({ "javadoc" })
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class Test_MaxDiff {
+
+	// Kill test if tests last longer than 1000 milliseconds unless in debugging mode
+	@Rule
+	public final TestRule timeout = new DisableOnDebug(Timeout.millis(1000));
+	
+	   @Test
+	   public void test01Zero() {
+		    assertEquals(0, Diff.maxDiff(0, 0, 0));
+	   }
+	   @Test
+	   public void test02Equal() {
+		    assertEquals(0, Diff.maxDiff(1, 1, 1));
+	   }
+	   @Test
+	   public void test03AscendingValues() {
+		    assertEquals(2, Diff.maxDiff(1, 2, 3));
+	   }
+	   @Test
+	   public void test04DescendingValues() {
+		    assertEquals(7, Diff.maxDiff(7, 5, 0));
+	   }
+	   @Test
+	   public void test05Middle() {
+		    assertEquals(3, Diff.maxDiff(4, 1, 4));
+	   }
+	   @Test
+	   public void test06Negative() {
+		    assertEquals(3, Diff.maxDiff(-1, -2, -4));
+	   }
+	   @Test
+	   public void test07Mixed() {
+		    assertEquals(15, Diff.maxDiff(-5, 10, 0));
+		    assertEquals(37, Diff.maxDiff(-5, 30, -7));
+	   }
+}
\ No newline at end of file
diff --git a/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/.gitignore b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..4e247eee2103b4d4a35eba38166587fee1391f0e
--- /dev/null
+++ b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/.gitignore
@@ -0,0 +1,4 @@
+/.settings
+/target
+/.classpath
+/.project
diff --git a/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/Doc/a.xhtml b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/Doc/a.xhtml
new file mode 100644
index 0000000000000000000000000000000000000000..46c577198d06c87d656d154811e397c9a02d2b2f
--- /dev/null
+++ b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/Doc/a.xhtml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html>
+<html lang="de" xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>Helper Methoden</title>
+  </head>
+
+  <body><h2>Vorbereitung</h2><p>Entpacken Sie das oben sichtbare Archiv
+  <b>exam.zip</b> und importieren Sie den resultierenden Ordner
+  <code>Exam</code> als <span lang="en">Maven</span> Projekt in Ihren<span
+  lang="en"> Workspace</span>.</p><h2>Aufgabe</h2><p>Implementieren Sie die
+  Method <code>maxdiff(...)</code> in der Klasse
+  <code>de.hdm_stuttgart.mi.sd1.diff.Diff</code>.</p><h2>Allgemeine
+  Hinweise</h2><ul>
+      <li><p>Die Javadoc Kommentare der Methode beschreiben das gewünschte
+      Verhalten. Wählen Sie im Package Explorer die Projektwurzel und
+      generieren Sie die HTML Dokumentation über die Menüpunkte <code>Run
+      -&gt; Run As... -&gt; Maven build</code> mit dem Parameter
+      <code>javadoc:javadoc</code> im Eingabefeld „Goals:”. Die generierte
+      HTML Dokumentation wird im Unterordner <code>target/site/apidocs</code>
+      Ihres Projekts angelegt und kann durch einen Web Browser Ihrer Wahl
+      betrachtet werden.</p><p>Lesen Sie diese Dokumentation <b>sehr
+      genau</b>.</p></li>
+
+      <li><p>Für die Methode stehen Ihnen in der Junit Testklasse
+      <code>de.hdm_stuttgart.sw1.klausur.test.Test_MaxDiff</code> im
+      <code>src/test/java</code> Zweig Ihres Projekts korrespondierende Tests
+      zur Verfügung. Nutzen Sie diese!</p><p>Die von Ihnen erreichte Punktzahl
+      richtet sich nach der Anzahl positiv bestandener Tests. Sie bekommen
+      keine Punkte für Tests, bei denen Ihre Implementierung „fast richtig“
+      ist. Implementieren Sie daher im Zweifelsfall weniger Methoden, diese
+      dafür aber vollständig.</p><p>Die Ausführung der Klasse
+      <code>de.hdm_stuttgart.sw1.klausur.mein_ergebnis.ShowReachedPoints</code>
+      <b>als Java Programm</b> (nicht als Junit Test!) aus dem
+      <code>src/test/java</code> Zweig Ihres Projekts liefert Ihnen die Zahl
+      der insgesamt erreichten und erreichbaren Punkte.</p></li>
+
+      <li><p>Nutzen Sie den Debugger oder logging Statements im Fall
+      fehlgeschlagener Testfälle, falls Sie das zugrundeliegende Problem nicht
+      unmittelbar lösen können.</p></li>
+    </ul><h2 id="upload">Hochladen Ihrer Lösung in das
+  Klausursystem</h2><p>Exportieren Sie Ihre Implementierung dieser und
+  weiterer Programmieraufgaben per Rechtsklick im Package Explorer Ihres
+  Eclipse Projekts. Wählen Sie im Kontextmenü unter
+  »Export--&gt;General--&gt;Archive File« einen auf <code>.zip</code> endenden
+  Archivnamen. Exportieren Sie Ihr Projekt in dieses <code>.zip</code> Archiv
+  und laden Sie es in das Ilias Klausursystem hoch (unteres Seitenende) und
+  beachten Sie:</p><ul>
+      <li style="color: red;">Die hochgeladene .zip Datei muss im
+      Klausursystem sichtbar sein.</li>
+
+      <li style="color: red;">Reservieren Sie ausreichend Zeit vor Klausurende
+      für den Vorgang des Hochladens. Projekte, welche sich lediglich auf dem
+      Arbeitsplatzrechner befinden, werden nicht gewertet.</li>
+
+      <li style="color: red;">Laden Sie keine Projekte mit Java Syntaxfehlern
+      hoch, diese werden nicht bewertet!</li>
+
+      <li style="color: red;">Exportieren Sie Ihr Projekt <b>nicht</b> als
+      „.tgz“, „.java“, „.tar.gz“ o.ä. Das Klausursystem akzeptiert nur Archive
+      mit der Endung „.zip“.</li>
+    </ul><p>Alternativ können Sie auch sofort nachfolgende Aufgaben bearbeiten
+  und diese gemeinsam mit der Lösung der aktuellen Aufgabe hochladen.
+  Nachfolgende Programmieraufgaben enthalten keine separate Möglichkeit zum
+  Hochladen.</p><p>Falls Sie mehrere Archive hochladen, wird nur das zuletzt
+  hochgeladene Archiv bewertet. Sie können hochgeladene Archive
+  löschen.</p></body>
+</html>
diff --git a/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/pom.xml b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9d7b0d4d67d3a3d4c693d3d91274707bb60d24a7
--- /dev/null
+++ b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/pom.xml
@@ -0,0 +1,42 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>de.hdm-stuttgart.de.sd1</groupId>
+	<artifactId>diff_solution</artifactId>
+	<version>1.0</version>
+	<packaging>jar</packaging>
+
+	<name>Diff_solution</name>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<version>3.2</version>
+				<configuration>
+					<source>1.8</source>
+					<target>1.8</target>
+				</configuration>
+			</plugin>
+
+		</plugins>
+	</build>
+	<dependencies>
+
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>4.12</version>
+			<scope>test</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>de.hdm_stuttgart.mi.exam</groupId>
+			<artifactId>unitmarking</artifactId>
+			<version>0.9</version>
+		</dependency>
+
+	</dependencies>
+</project>
diff --git a/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/src/main/java/de/hdm_stuttgart/mi/sd1/diff/Diff.java b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/src/main/java/de/hdm_stuttgart/mi/sd1/diff/Diff.java
new file mode 100644
index 0000000000000000000000000000000000000000..73f5ff30fed8cec038a31e940f2a13a54bc919a1
--- /dev/null
+++ b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/src/main/java/de/hdm_stuttgart/mi/sd1/diff/Diff.java
@@ -0,0 +1,31 @@
+package de.hdm_stuttgart.mi.sd1.diff;
+
+/**
+ * Additional helper methods
+ *
+ */
+public class Diff {
+  /**
+   * Compute the absolute value of the biggest difference between
+   *  two of three given numbers a, b, and c
+   * 
+   * Examples:
+   * 
+   * a == 1, b == 2, c ==10, the biggest absolute difference is 10 - 1 = 9
+   * a == 4, b ==10, c == 1, the biggest absolute difference is 10 - 1 = 9
+   * a ==-3, b == 4, c == 3, the biggest absolute difference is 4 - (-3) = 7
+   * 
+   * 
+   * @param a The first of three parameters
+   * @param b The second of three parameters
+   * @param c The third of three parameters
+   * @return The absolute value of the biggest difference between any possble pair 
+   *        of the three parameters
+   */
+  public static int maxDiff(int a, int b, int c) {
+    final int ab = Math.abs(a - b),
+        ac = Math.abs(a - c),
+        bc = Math.abs(b - c);
+    return Math.max(ab, Math.max(ac, bc));
+  }
+}
diff --git a/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/src/main/java/de/hdm_stuttgart/mi/sd1/diff/package-info.java b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/src/main/java/de/hdm_stuttgart/mi/sd1/diff/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..bc8fbda8699077f79792f2af91704af9380d17d8
--- /dev/null
+++ b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/src/main/java/de/hdm_stuttgart/mi/sd1/diff/package-info.java
@@ -0,0 +1,5 @@
+/**
+ * Dealing with difference values
+ *
+ */
+package de.hdm_stuttgart.mi.sd1.diff;
\ No newline at end of file
diff --git a/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/src/test/java/de/hdm_stuttgart/sw1/klausur/mein_ergebnis/ShowReachedPoints.java b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/src/test/java/de/hdm_stuttgart/sw1/klausur/mein_ergebnis/ShowReachedPoints.java
new file mode 100644
index 0000000000000000000000000000000000000000..b68079af1db4b2d44743e7dd875164006874b6c5
--- /dev/null
+++ b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/src/test/java/de/hdm_stuttgart/sw1/klausur/mein_ergebnis/ShowReachedPoints.java
@@ -0,0 +1,16 @@
+package de.hdm_stuttgart.sw1.klausur.mein_ergebnis;
+
+import de.hdm_stuttgart.mi.exam.unitmarking.RunTests;
+import de.hdm_stuttgart.sw1.klausur.test.Test_MaxDiff;
+
+public class ShowReachedPoints {
+
+   /**
+    * Execution reveals the number of reached points.
+    * 
+    * @param args Unused
+    */
+   public static void main(String[] args) {
+      RunTests.exec(Test_MaxDiff.class);
+   }
+}
diff --git a/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/src/test/java/de/hdm_stuttgart/sw1/klausur/test/Test_MaxDiff.java b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/src/test/java/de/hdm_stuttgart/sw1/klausur/test/Test_MaxDiff.java
new file mode 100644
index 0000000000000000000000000000000000000000..7c2d04b9b63bd0aeacf8643e528bc290d1b0957f
--- /dev/null
+++ b/Klausuren/Sd1/Tests/MaxThreeValueDiff/Solution/src/test/java/de/hdm_stuttgart/sw1/klausur/test/Test_MaxDiff.java
@@ -0,0 +1,52 @@
+package de.hdm_stuttgart.sw1.klausur.test;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.FixMethodOrder;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.DisableOnDebug;
+import org.junit.rules.TestRule;
+import org.junit.rules.Timeout;
+import org.junit.runners.MethodSorters;
+
+import de.hdm_stuttgart.mi.sd1.diff.Diff;
+
+@SuppressWarnings({ "javadoc" })
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class Test_MaxDiff {
+
+	// Kill test if tests last longer than 1000 milliseconds unless in debugging mode
+	@Rule
+	public final TestRule timeout = new DisableOnDebug(Timeout.millis(1000));
+	
+	   @Test
+	   public void test01Zero() {
+		    assertEquals(0, Diff.maxDiff(0, 0, 0));
+	   }
+	   @Test
+	   public void test02Equal() {
+		    assertEquals(0, Diff.maxDiff(1, 1, 1));
+	   }
+	   @Test
+	   public void test03AscendingValues() {
+		    assertEquals(2, Diff.maxDiff(1, 2, 3));
+	   }
+	   @Test
+	   public void test04DescendingValues() {
+		    assertEquals(7, Diff.maxDiff(7, 5, 0));
+	   }
+	   @Test
+	   public void test05Middle() {
+		    assertEquals(3, Diff.maxDiff(4, 1, 4));
+	   }
+	   @Test
+	   public void test06Negative() {
+		    assertEquals(3, Diff.maxDiff(-1, -2, -4));
+	   }
+	   @Test
+	   public void test07Mixed() {
+		    assertEquals(15, Diff.maxDiff(-5, 10, 0));
+		    assertEquals(37, Diff.maxDiff(-5, 30, -7));
+	   }
+}
\ No newline at end of file