diff --git a/20160125/20150130_Aufg3-1+7.pbm b/20160125/20150130_Aufg3-1+7.pbm
new file mode 100644
index 0000000000000000000000000000000000000000..b5beffc70f8ba0b87bf2f63b244c6f1d5c916505
Binary files /dev/null and b/20160125/20150130_Aufg3-1+7.pbm differ
diff --git a/20160125/20150130_Aufg3-1.pbm b/20160125/20150130_Aufg3-1.pbm
new file mode 100644
index 0000000000000000000000000000000000000000..fc5f2c37708eb1ededcd590027c85d8654052e0c
Binary files /dev/null and b/20160125/20150130_Aufg3-1.pbm differ
diff --git a/20160125/ainf-20160125.txt b/20160125/ainf-20160125.txt
index 4af0494ab89a496c2e88fb33a4001f0a9bd9d3a2..dcffe73ed227e1631bbe2cc03d7bc25af13e3802 100644
--- a/20160125/ainf-20160125.txt
+++ b/20160125/ainf-20160125.txt
@@ -23,3 +23,18 @@ Themen des Praktikums:
 Achtung:
  * Mehrfachsteckdosen!
  * OpenGL funktioniert nicht auf allen Notebooks zuverlässig!
+
+Musterlösung zu Aufgabe 3 der Klausur vom 10.7.2013
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+a) Der Display-Handler draw() wurde zwar geschrieben, aber nicht mittels
+   glutDisplayFunc() in main() als Callback-Funktion installiert,
+   wird daher nicht aufgerufen.
+
+b) Jedes glRotatef() wirkt auf alle nachfolgenden Grafikbefehle.
+   Dies gilt auch, wenn draw() verlassen und später wieder aufgerufen wird.
+   Bei jedem Aufruf von draw() wird der Würfel daher um einen immer größer
+   werdenden Winkel weitergedreht. Wir sehen eine beschleunigte Rotation.
+
+c) Durch ein PushMatrix() vor dem glRotatef() und ein PopMatrix() nach den
+   Grafikbefehlen (hier: nur glutSolidCube()) können wir den Wirkungsbereich
+   von glRotatef() auf das aktuelle draw() einschränken.
diff --git a/20160125/ainf-klausur-20140203-aufgabe-1-test-1d.c b/20160125/ainf-klausur-20140203-aufgabe-1-test-1d.c
new file mode 100644
index 0000000000000000000000000000000000000000..dbd538c00aa0c583cd075ae9abae3cfd9204a74f
--- /dev/null
+++ b/20160125/ainf-klausur-20140203-aufgabe-1-test-1d.c
@@ -0,0 +1,27 @@
+#include <stdio.h>
+
+int f (char *s0, char *p0)
+{
+  printf ("%20s ", p0);
+  int found0 = 0;
+  while (*s0)
+    {
+      char *s1 = s0++;
+      char *p1 = p0;
+      int found1 = 1;
+      while (*s1 && *p1)
+        if (*s1++ != *p1++)
+          found1 = 0;
+      if (found1)
+        found0 = 1;
+    }
+  return found0;
+}
+
+int main (void)
+{
+  printf ("%d\n", f ("Hallo", "olla"));
+  printf ("%d\n", f ("Hallo", "xlla"));
+  printf ("%d\n", f ("Hallo", "lloxnlpfr"));
+  return 0;
+}
diff --git a/20160125/multilingual-1.c b/20160125/multilingual-1.c
new file mode 100755
index 0000000000000000000000000000000000000000..f38843f130ee2c7dc2bf35f48b2dc1f14d249632
--- /dev/null
+++ b/20160125/multilingual-1.c
@@ -0,0 +1,6 @@
+main ()
+{
+  echo "Hello, world!"
+}
+
+main
diff --git a/20160125/multilingual-2.c b/20160125/multilingual-2.c
new file mode 100755
index 0000000000000000000000000000000000000000..f4765964c1faa871f7416c6dab08757183567ec7
--- /dev/null
+++ b/20160125/multilingual-2.c
@@ -0,0 +1,7 @@
+main ()
+{
+  # define echo printf (
+  echo "Hello, world!"
+}
+
+main
diff --git a/20160125/multilingual-3.c b/20160125/multilingual-3.c
new file mode 100755
index 0000000000000000000000000000000000000000..1c8a65e039086d5da402ca7fc2bb74ab0b8a0b76
--- /dev/null
+++ b/20160125/multilingual-3.c
@@ -0,0 +1,11 @@
+main ()
+{
+  #define echo printf (
+  echo "Hello, world!"
+  #define echo );
+  echo
+}
+
+#define main
+
+main
diff --git a/20160125/sieben-nullen.dat b/20160125/sieben-nullen.dat
new file mode 100644
index 0000000000000000000000000000000000000000..ae1b13fd18107622774c7b24a665ba0d1d1e0701
Binary files /dev/null and b/20160125/sieben-nullen.dat differ