Wozu brauche ich denn später dieses ganze Theorie-Zeug?

von Mario Holldack (Informatik-Student im 5. Semester, Dez 2012)

Diese Seite soll ein wenig Licht auf den Sinn und Unsinn der Vorlesungen aus dem Bereich der theoretischen Informatik werfen. Natürlich ist das Thema umstritten und jeder Informatikstudent hat seine eigene Meinung dazu. Und natürlich sind diese Meinungen nicht identisch. Es kann daher sein, dass vieles von dem, was ich im Folgenden schreibe, vom Leser als völliger Unsinn angesehen wird. Ich werde dennoch versuchen, meine Argumente und Gedankengänge nachvollziehbar darzulegen und wenn sie schon nicht überzeugen, dann sollen sie wenigstens zum Nachdenken anregen.

Einleitung

Zu Beginn des Studiums werden viele davon überrascht, wie sehr mathematische Vorgehensweisen und Techniken in der Informatik eine Rolle spielen. Gerade mit einer anvisierten Berufstätigkeit im Bereich Softwareentwicklung stellt sich hier natürlich die Frage, inwieweit die ganze Mathematik und die formalen Methoden aus der theoretischen Informatik überhaupt für später gebraucht werden.
Werden Vorlesungsinhalte anhand spielerischer Anwendungsbeispiele erläutert, so scheint es auf den ersten Blick keinen sinnvollen Zusammenhang zu wirtschaftlich verwertbaren Fähigkeiten zu geben. Was soll es einem Arbeitgeber nutzen, wenn der studierte Informatiker ein Spiel Schere-Stein-Papier in mathematischer Notation zu Papier bringen kann? Schere-Stein-Papier wird einem in der echten Welt da draußen wohl kaum als Aufgabe über den Weg laufen, zu deren Lösung eine Firma einen Informatiker einstellt. Genauso werden die wenigsten Menschen im Berufsleben ihre Brötchen durch das Führen von Beweisen verdienen.
Dies hat die Industrie- und Handelskammer erkannt und legt in den von ihren Mitgliedern durchgeführten Berufsausbildungen im Informatiksektor den Fokus auf die praktische Anwendung der Erkenntnisse aus der Informatik. Die Auszubildenden beschäftigen sich mit der Funktionsweise von Rechnern, Rechnernetzen, der Softwareentwicklung und mit Datenbanken. Hinzu kommen kaufmännische Fertigkeiten aus dem Bereich Rechnungswesen, Marketing und Betriebsorganisation. Auf diese Weise sind die Auszubildenden oft schon während der Ausbildung oder direkt nach ihrem Abschluss produktiv und gewinnbringend im Betrieb einsetzbar. Nicht nur aus diesem Grund genießt das duale Ausbildungssystem international großes Ansehen und ist von vergleichsweiser hoher Qualität.
Wieso müssen Informatikstudenten an Universitäten dennoch eine so praxisferne Ausbildung hinnehmen? Wäre es nicht viel sinnvoller, Studenten auf die konkreten Anforderungen der Wirtschaft vorzubereiten?

Wieso es auch ohne Theorie gut geht

Informatik ist ein Handwerk. Dieses Handwerk soll unter Verwendung von Computern Probleme lösen oder Arbeitsabläufe unterstützen. Handwerk bedeutet Praxis und handwerkliches Geschick kann nur durch möglichst viel Praxis erlernt und auf ein hohes Niveau gebracht werden. Nicht umsonst gibt es viele Bücher, die sich nur dem Thema Programmierung widmen, geschickte Tricks für die Lösung konkreter Probleme aufzeigen und Standardtechniken im Bereich der Softwareentwicklung erläutern. All diese Bücher unterstützen den Softwareentwickler dabei, besser in seinem Handwerk zu werden. Auf diese Weise sind viele ausgezeichnete Stücke Software entstanden, da die Entwickler die realen Probleme detailliert analysierten und effiziente, vielseitig einsetzbare, wiederverwendbare und fehlerrobuste Implementierungen realisierten. Zweifelsohne kann ein Softwareentwickler ohne Probleme Fähigkeiten auf hohem Niveau erreichen, ohne sich auch nur einmal explizit mit theoretischer Informatik beschäftigt zu haben.
Doch was befähigt die Entwickler zu diesen enormen Leistungen? Die einfachste Antwort ist wohl zu sagen, dass sie einfach gut sind in dem, was sie tun. Einfach gut zu sein ist aber ein eher schwer erreichbares Ziel, da der Weg völlig unklar ist. Wie wird man einfach gut? Dazu gehört mit Sicherheit ein gutes analytisches Verständnis und ein Blick fürs Wesentliche. Nur so können die Kernfragen eines offenen Problems erkannt und systematisch gelöst werden.

Wieso es mit Theorie besser geht

Genau an dieser Stelle setzt die theoretische Informatik ein. Was auf den ersten Blick wie Formalismus um des Formalismus Willen aussieht, ist auf den zweiten Blick eine sehr gute Möglichkeit dem Gehirn die nötigen Denkmuster für das Lösen komplexer Probleme anzutrainieren. Das Gehirn wird umgekrempelt. Um ein Problem lösen zu können, muss man es erstmal verstehen: Aus welchen Teilproblemen besteht es? Wie stehen diese in Beziehung zueinander? Können diese Beziehungen irgendwie systematisiert werden? Wie können die aus der Systematisierung gewonnenen Informationen von einem Computer verarbeitet werden? Bei all diesen Fragen ist eine präzise Ausdrucksweise notwendig, denn in letzter Konsequenz sollen Computer zur Berechnung einer Lösung eingesetzt werden und Computer müssen eindeutige Handlungsanweisungen erhalten. Sie haben keinen Platz für Interpretationsspielräume. Trainiert man diese Präzision nicht, dann können Probleme ab einer gewissen Größe nicht mehr beherrscht werden. Sie sind dann schlichtweg nicht mehr überschaubar. Wie würde man herausfinden können, ob in einem Schere-Stein-Papier-Spiel mit mehreren Tausend verschiedenen Scheren-, Stein- und Papiersorten für einen Spieler eine Gewinnstrategie existiert? Da hilft reines Draufgucken nicht mehr weiter. Natürlich wird es im beruflichen Kontext höchstwahrscheinlich nicht mehr um Schere-Stein-Papier gehen, sondern um andere Entscheidungs- oder Optimierungsprobleme: Wo soll welcher Zug fahren? Welche Ware muss morgen in Frankfurt sein? Welche Fristen gibt es? All diese Fragen müssen erkannt und geordnet werden, um sie schließlich beantworten zu können.
Hierfür benötigen wir Modelle und Verfahren auf mathematischer Basis. Mit diesem Gedanken im Hinterkopf erscheinen die Theorie-Vorlesungen in einem ganz anderen Licht. In der Wirtschaft warten komplexe Aufgabenstellungen, die gelöst werden müssen. Die Universität bietet die Möglichkeit, sich diesen komplexen Aufgaben schrittweise anzunähern. Die Techniken, die wir an kleinen Problemen, oft auch an Spielen, üben, benötigen wir, um die großen Probleme aus der Praxis zu meistern und einfach gut zu werden.

Überblick über die Module im Bereich "Grundlagen der Informatik" im Bachelor-Studiengang: