April 2017
Wir mĂŒssten lernen
Ich muss fĂŒr eine Klausur lernen und weiĂ, dass es eigentlich aussichtslos ist. FĂŒr das schwerste Fach meines Informatik-Studiums (Approximationsalgorithmen) habe ich wĂ€hrend des Semesters fast gar nichts getan, ich bin (wie alle meine Freunde) durch die Erstklausur gefallen und es ist drei Tage vor der Zweitklausur.Â
C., der die Klausur auch schreiben muss (oder möchte, es ist ein Wahlpflichtfach, dessen endgĂŒltiges Nichtbestehen keine Konsequenzen hat, auĂer dass man etwas anderes dafĂŒr belegen muss), bemerkt beim wiederholten Durchgehen der Themen, dass sich die Inhalte in drei Kategorien aufteilen lassen: Allgemeine Definitionen, abstrakte Probleme (wie das Bin-Packing) und Algorithmen zu deren Lösung. Je weiter die Vorlesung voranschreitet, desto besser wird der Approximationsfaktor der Algorithmen, aber die gleichen Probleme werden immer wieder aufgegriffen. C. schreibt die ZusammenhĂ€nge auf und sieht, dass Begriffe erwartungsgemÀà mehrfach vorkommen â also zum Beispiel verschiedene Algorithmen zur approximativen Lösung des Traveling Salesman Problem.Â
Er erklĂ€rt uns, dass das Lernen ganz einfach wĂ€re, wĂŒrde man nur das ausfĂŒhrliche Skript der Dozentin in eine Form ĂŒberfĂŒhren, in der diese Relationen offensichtlich sind. C. beginnt in Django (weil er damit kurz vorher in seinem Job gearbeitet hat) eine Web-App zu schreiben, die diese Idee umsetzt. Ăber eine Web-OberflĂ€che lassen sich Texte eingeben, die den oben genannten Kategorien zugeordnet werden können. Dann lassen sich «Zeilen» generieren, als Einheiten von Oberthema, Definition, Algorithmus und Problem. Diese kann man durchblĂ€ttern und den Links zu den jeweiligen Definitionen folgen. SpĂ€ter kommt noch eine Volltextsuche. Ich entgegne, dass das Ganze auch in ein Wiki eingetragen werden könnte, C. entgegnet verschiedene «ja, aber!».Â
Einen ganzen Tag (den vorletzten) verbringen wir bei mir daheim zum «Lernen». WĂ€hrend C. immer weitere Features einbaut und das Ganze immer Wiki-Ă€hnlicher macht, versuche ich, kleine HĂ€ppchen aus dem Skript in eine verstĂ€ndliche Form zu bringen. Ich bin sehr beeindruckt, wie schnell und â von auĂen betrachtet â einfach Django solche Projekte ermöglicht und wie gut C. das alles kann.Â
Weil wir keine Ahnung von Web-Servern haben, lĂ€uft die App immer auf dem Test-Server, der explizit nicht fĂŒr den Dauergebrauch empfohlen ist (so sagt C.). Dieser Server lĂ€uft auf seinem Notebook, und ich kann auch von meinem Notebook darauf zugreifen. Nachdem wir halbherzig ein paar Definitionen in die Datenbank eingetragen haben fĂ€llt uns auf, dass ich nicht weiterarbeiten kann, wenn C. daheim ist. Man mĂŒsste es also hinkriegen, die App auf meinem Raspberry Pi, der per DynDNS immer erreichbar ist, zu starten. DafĂŒr wĂ€re aber Python 3.5 nötig, das hat der Raspberry aber nicht, vieles geht schief, und wir wissen beide nicht so ganz genau, was wir tun. Am nĂ€chsten (letzten) Tag lĂ€uft es schlieĂlich auf dem Raspberry, aber nur, so lange die SSH-Sitzung, mit der es gestartet wurde, nicht geschlossen wird â die genau dann, als C. von daheim arbeiten möchte, abbricht. Da es inzwischen so spĂ€t ist, dass an ein Lernen des Aufgeschriebenen sowieso nicht mehr zu denken ist, ist das nicht mehr so wichtig.
Als C. das Programm zur Klausureinsicht der Dozentin vorfĂŒhrt, ist sie zwar gerĂŒhrt, empfiehlt aber, in Zukunft doch einfach zu lernen. NatĂŒrlich sind wir beide durchgefallen.
(Franz Scherer)

















