«Forschung ist nicht nur aus Freude wichtig, sondern essentiell für eine gute Lehre»
ETH Professor Thomas Gross wurde vor fünf Jahren emeritiert, betreute anschliessend aber weiterhin die Vorlesung «Einführung in die Programmierung». Nun steht sein endgültiger Abschied bevor. Im Interview beschreibt er seine Erlebnisse an der ETH Zürich, die Entwicklungen seines Forschungsfelds in den letzten dreissig Jahren und was er von KI-Assistenz bei der Programmierung hält.
Professor Gross, Sie stehen vor Ihrer endgültigen Emeritierung von der ETH Zürich. Wie fühlen Sie sich?
Thomas Gross: Bestens, bestens. Dass man irgendwann pensioniert wird oder aufhört, ist ja eigentlich klar. Hier in der Schweiz wird der Zeitpunkt bereits anhand des Geburtsdatums festgelegt.
Gehen wir ein paar Jahre zurück. Was hat Ihr Interesse an der Informatik geweckt?
Während meiner Schulzeit hatte ich eine Lehrerin, die mich darauf aufmerksam machte, dass Informatik ein neuer Studiengang werden wird und das interessant sein könnte. Als ich dann mit Informatik anfing, gab es das Fach an meiner Universität noch gar nicht als richtigen Studiengang. Und tatsächlich ist mir von manchen Leuten auch abgeraten worden, dieses Fach zu studieren, da einige die Meinung vertraten, dass es für nichts zu gebrauchen sei. Der Stoff würde nämlich auch durch andere Fächer wie Mathematik oder Elektrotechnik abgedeckt. Damals musste man sich entscheiden, ob man im ersten Jahr mit den Physikern zusammen studieren will oder mit den Mathematikern. Ich habe mich für die Physiker entschieden, was gut war, denn nach einem Jahr war mir klar, dass ich ganz sicher nicht Physik studieren wollte. Letztlich fand ich aber die Informatik besonders interessant, weil man selbst im ersten Semester schon auf Probleme stösst, die in anderen Fachgebieten erst viel, viel später kommen. Zum Beispiel Funktionen, die man nicht berechnen kann und für die es keine Lösungen gibt.
Sie hatten also nicht so viele Mitstudierende im Hörsaal?
Nein, wir waren entweder mit den Mathematikern oder den Physikern zusammen. Die Physikvorlesungen konnten einen Hörsaal mit etwa 450 Plätzen füllen. Davon waren etwa 400 Physikanfänger und ungefähr 50 Informatikstudierende.
Nach Ihrem Studium in München sind Sie während der 1980er-Jahre nach Stanford gegangen und haben dort unter der Silicon-Valley-Legende John Hennessy als Doktorand gearbeitet. Wie haben Sie diese Zeit erlebt?
Es war eine interessante Zeit, aber die Möglichkeiten, die wir heute haben, sind natürlich mit den damaligen nicht zu vergleichen. Man musste mehr oder länger arbeiten, bis man etwas erreichen konnte, weil die Simulationen so lange dauerten. Als ich nach Stanford kam, bestand die Ausrüstung des Computer-System-Labors gerade mal aus vier Terminals mit einem 300-Baud-Modem, mit dem man einen Computer anwählen konnte. Aus heutiger Sicht nicht wirklich beeindruckend. Ich bin in Stanford zur Elektrotechnik gewechselt, unter anderem auch, weil John Hennessy in diesem Gebiet tätig war. Aber das hat mir, sagen wir mal, intuitiv gefallen, da die praktischen Themen oft an der Schnittstelle zwischen Informatik und Elektrotechnik lagen. Wir haben in Stanford früh eine Spende von Xerox PARC erhalten, nämlich die ersten Altos. Diese Modelle gehörten zu den ersten PCs, mit Bitmap-Display und Maus. Dazumal war das revolutionär, und man bemühte sich, die Geräte in der Forschung wie im Unterricht einzusetzen. Es war auch die Zeit, in der man sich überlegte, wie man Very Large Scale Integration Devices einsetzen könnte. Ich habe in meinem zweiten Jahr einen Kurs besucht, in dem wir einen Prozessor bauen wollten. Wir haben uns überlegt, wie wir einen Teil der Schwierigkeiten, die beim Bau eines Prozessors auftauchen, mithilfe von Software ausklammern könnten. So bin ich dann in diesen Bereich hereingerutscht.
Warum haben Sie sich für eine akademische Karriere entschieden
Bereits während meiner Schulzeit habe ich vielen Leuten Dinge erklärt, nicht nur in der Mathematik, sondern auch in anderen Bereichen. Und meine Klassenkameraden meinten öfter zu mir, dass ich doch Lehrer werden oder in der Lehre arbeiten sollte. In Stanford habe ich dann an einem Kurs für ältere Doktorierende und jüngere Assistenzprofessorinnen und -professoren zum Thema Karrieremöglichkeiten in der Informatik teilgenommen, der vom damaligen Departementsvorsteher gehalten wurde. Darin erklärte er uns, dass, wenn man als Informatiker in ein Forschungslabor gehe, mit jedem vorbeiziehenden Jahr das Laborpersonal älter werde und es dort an jungen Einflüssen fehle. Wenn man aber an der Universität bleibe, komme man immer wieder mit jungen Leuten in Kontakt. Man habe dann die Möglichkeit, sich immer wieder mit neuen Ideen und Perspektiven auseinanderzusetzen. Diesen Ausblick fand ich interessant.
Dann wäre auch die Industrie nie eine Option für Sie gewesen?
Wenn ich in eine Firma gegangen wäre, hätte ich vielleicht mehr Geld verdient, aber auch nicht unbedingt. Ich kenne viele, die damit nicht reich geworden sind. Es ist aber auch so, dass zum Beispiel in den USA Industrie und Forschung gar nicht so strikt getrennt werden. Dort bekommen Professorinnen und Professoren neun Monate Gehalt, da nur neun Monate im Jahr unterrichtet wird. Für die restlichen drei Monate können sie dann selber Finanzplanungen anstellen. Manche verfolgen während dieser Zeit Forschungsprojekte, die finanziert werden, und andere arbeiten in oder mit Firmen. Deshalb habe ich innerhalb der Forschung die praktischen Herausforderungen nie wirklich vermisst. In den USA sind, im Vergleich zur Schweiz, die Firmen mehr daran interessiert, universitäre Forschung zu unterstützen. Die Förderinstrumente, die es gibt, sind oft wesentlich zielgerichteter als hier.
«Programmieren ist eine zentrale Tätigkeit, die man als Informatikerin und Informatiker verstehen und abschätzen können muss.»Professor Thomas Gross
1994 wurden Sie ausserordentlicher Professor an der ETH Zürich. Wie kam es dazu?
Ein Freund von mir, den ich an der Carnegie Mellon University kennengelernt habe, hat nach ein paar Jahren an die ETH gewechselt. Er hat mich dann nach Zürich eingeladen, und ich habe mir vor Ort alles angeschaut. Als dann eine Professur ausgeschrieben wurde, habe ich mich beworben. Und ich habe die Stelle bekommen, obwohl jemand in meinem Vorstellungsgespräch meinte, dass das Gesagte das Dümmste sei, was er je gehört habe. Ich habe mich also entschieden, in die Schweiz zu kommen. Aber zu der Zeit war ich noch stark in Projekten in Carnegie Mellon involviert. Zudem war ich der einzige Festangestellte, also «Tenured Professor», in meinem Fachgebiet. So handelte ich die Option aus, nach zwei Jahren zu 50 Prozent in die USA zurückzukehren. Ab 1996 bin ich für vier Jahre zwischen der Schweiz und den USA gependelt, was ich im Nachhinein niemandem empfehlen würde. Ab 2000 kehrte ich vollständig an die ETH Zürich zurück.
Worin lag der Schwerpunkt Ihrer Forschung?
Der Schwerpunkt meiner Forschung ist eigentlich das, was wir leider immer noch nicht gelöst haben: Softwareentwicklung. Wie entwickeln wir Software? Was für Werkzeuge brauchen wir dazu? Was für Abstraktionen? Welche Konzepte? Und wie bringen wir das alles anderen Leuten bei? Ich habe lange Zeit im Bereich der Compiler gearbeitet. Compiler sind Werkzeuge, die eine Programmiersprache in eine andere übersetzen. Dabei handelt es sich um ein fundamentales Problem. Man muss diese Technologie umfassend verstehen, um Software entwickeln zu können. Ich habe mit meinen Kolleginnen und Kollegen an parallelen Computern gearbeitet, lange bevor das modern war. Ich habe Hardware gebaut, wenn es unbedingt sein musste. Vor allem aber habe ich Software entwickelt, in Zusammenarbeit mit Hardwarespezialisten. Wir mussten uns jeweils entscheiden, wo wir die Grenze ziehen wollten: Was macht die Software, was macht die Hardware? Mich hat auch stets die Frage beschäftigt, wie wir beurteilen können, dass Software korrekt ist. Es ist nämlich nach wie vor schwierig, sich in dieser Frage absolut sicher zu sein. Softwareentwicklung bleibt anspruchsvoll, aber wir können heute durch Werkzeuge das Repertoire von Möglichkeiten erhöhen, Software zu analysieren, zu optimieren und zu verifizieren.
Wie haben Sie die Entwicklung Ihres Forschungsfelds in den letzten 30 Jahren miterlebt?
Vor allem im Bereich der Programmiersprachen ist es zu einer gigantischen Ausdehnung gekommen. Als Beispiel: Anfang der 1990er-Jahre hat die Technologiefirma Sun Microsystems die Programmiersprache Java entwickelt. Ich selbst habe sie zum ersten Mal im Herbstsemester 1996 in einer Vorlesung eingesetzt. Es gab damals Leute, die meinten: Sun wird die Welt kontrollieren, denn Sun hat Java. Das war damals der Gedanke von vielen. Inzwischen ist Sun eine Fussnote in der Geschichte der Computerfirmen geworden. Anders sieht die Entwicklung bei Java aus: Als die erste Version von Java 1995 veröffentlicht wurde, bestand das Handbuch noch aus 85 Seiten, inklusive Vorwort. Die nächste Version umfasste dann schon 400 und die übernächste 800 Seiten.
Sie sind seit mehreren Jahren für die Vorlesung «Einführung in die Programmierung» verantwortlich und führten diese auch noch nach Ihrer Emeritierung weiter. Was verbindet Sie damit?
Ungefähr drei Jahre vor meiner Pensionierung wurde der Vorschlag an mich herangetragen, diese Vorlesung zu übernehmen. Ich durfte dann auch diverse Änderungen einführen, etwa dass die Studierenden während der Prüfung richtige Programme erstellen müssen, statt nur auf Papier irgendwelche Zeilen zu schreiben. Programmieren ist nicht alles, das habe ich immer gesagt, aber es ist eine zentrale Tätigkeit, die man als Informatikerin und Informatiker verstehen und abschätzen können muss. Und wie vieles ist auch das Entwickeln einer Vorlesung ein iterativer Prozess, von daher war ich interessiert, diese Entwicklung eine Zeitlang zu begleiten.
Im Verlauf der Jahrzehnte waren Programmiersprachen und Werkzeuge einem ständigen Wandel unterworfen. Wie hat sich das auf Ihre Unterrichtsmethoden ausgewirkt?
Mit jeder neuen Version der Programmiersprache Java muss auch die Vorlesung angepasst werden. Auch wenn jeweils nicht alle Änderungen relevant sind, so musste ich doch jedes Jahr rund ein Viertel meiner Slides überarbeiten und sicherstellen, dass die Studierenden die aktuelle Sprachversion auf ihrem Rechner haben.
Die Grundaufgabe ist aber während all dieser Zeit gleichgeblieben: Junge Menschen zu eigenständigem Denken und Handeln motivieren. Ich habe meinen Studierenden immer gesagt, dass man programmieren nicht allein dadurch lernt, dass man mir zuhört oder Sachen liest. Man muss es selbst machen und ausprobieren.
Können Sie sich einen Punkt vorstellen, der sich bei der Wissensvermittlung im Bereich Softwareentwicklung in Zukunft ändern sollte?
Ich denke, es gibt insbesondere im Bereich der KI-basierten Werkzeuge Fragen, die geklärt werden müssen. Diese Werkzeuge bringen zwar viele Vorteile mit sich, aber auch Nachteile. So sind sie zum Beispiel sehr rechenintensiv. Ab diesem Semester müssen alle neu eintretenden Studierenden ihre eigenen Rechner mitbringen. Wenn nun KI-Werkzeuge in einer Prüfung genutzt werden dürfen, kann dies dazu führen, dass Studierende, die ein leistungsstarkes Multiprozessoren-Gerät besitzen, im Vorteil sind gegenüber denjenigen mit einfachen Rechnern. Wie stellen wir sicher, dass da keine Unfairness entsteht?
Bei der Programmierung auf KI-Tools wie ChatGPT zu setzen, ist inzwischen gang und gäbe. Wie schätzen Sie diese Entwicklung ein?
Wissen Sie, als die ersten Compiler kamen, sagten die Leute: «Oh, das ist ja schlimm.» Der Compiler sei ineffizient gegenüber dem Assembly-Language-Programmierer. Der Compiler hat sich aber dennoch durchgesetzt. Ich denke, dass auch diese KI-basierten Systeme Vorteile bringen. Werden die Werkzeuge aber alle Probleme lösen können? Ganz und gar nicht. Denn man muss sich ja auch sicher sein, dass das Werkzeug nicht nur die Aufgabe löst, sondern dass auch keine Sicherheitslücken oder Bugs entstehen, die später Schwierigkeiten bereiten. Eine weitere spannende Frage, die sich stellt: Wie kann ich sicher sein, dass Studierende, die denselben Prompt benutzen, auch dieselbe Antwort vom KI-System erhalten? Am Ende entscheidet das Glück, ob jemand auf schnelle Art ein Programm entwickeln kann, das die Anforderungen erfüllt – das darf doch nicht der Fall sein.
Welche Aspekte des Programmierens werden Ihrer Einschätzung nach auch zukünftig relevant bleiben?
Die Frage der Abhängigkeiten: Was will ich erledigen? Wenn Sie ein Programm entwickeln müssen, hat jemand normalerweise eine bestimmte Anforderung. Und die Aufgabe besteht dann darin, ein Programm zu schreiben, das alle Aspekte umfasst, an die man in diesem Zusammenhang momentan denkt. Aber das ist ja nicht alles. Ihr Programm muss auch die Probleme behandeln, an die Sie nicht denken. Ich will ein Beispiel nennen: Es gab in der Schweiz die Möglichkeit, sich online als Organspender zu registrieren. Bei der Umsetzung des Systems hatte zunächst niemand daran gedacht, irgendeine Form der Bestätigung einzubauen. So konnte man auch für seinen Nachbarn ungefragt einen Eintrag machen. Softwareentwicklung wird weiterhin anspruchsvoll bleiben.
Konnten Sie im Laufe der Jahre innerhalb der ETH und innerhalb des Departements einen Wandel feststellen?
Mein Eindruck ist, dass in den vergangenen 30 Jahren ein gewisses Umdenken stattgefunden hat an der ETH Zürich. Auch dadurch bedingt, dass die ETH mehr Professorinnen und Professoren aus dem angelsächsischen Raum eingestellt hat. Im amerikanischen System trägt zum Beispiel das ganze Departement die Verantwortung für die Ausbildung der Doktorandinnen und Doktoranden. Ich merke, dass sich zwischenzeitlich immer mehr Leute in unserem Departement an diesem angelsächsischen Modell orientieren. Insbesondere der Aspekt, dass man als Departement Verantwortung dafür übernimmt, wie es den Leuten geht, hat unserer Institution gutgetan.
«An einer Universität hat man die Möglichkeit, sich regelmässig mit neuen Ideen und Perspektiven auseinanderzusetzen.»Professor Thomas Gross
Im Lauf der Jahrzehnte erhöhte sich auch die Anzahl Frauen im Informatikstudium. Hat sich das auf Ihre Vorlesung ausgewirkt?
Ich finde es wichtig, dass alle, die sich für Informatik interessieren, die Chance haben, dieses Fach zu studieren. Niemand sollte denken, dass Informatik nur etwas für «Geeks» ist oder dass man es nicht schaffen könnte. Deshalb haben wir in den letzten drei Jahren einen Vorkurs für die Vorlesung «Einführung ins Programmieren» angeboten. Dieser gab Studierenden ohne oder mit wenig Programmiererfahrung die Möglichkeit, zwei Wochen vor Semesterbeginn einfache Übungen zu machen. Löst das alle Probleme? Nein. Aber ich habe festgestellt, dass prozentual mehr Frauen an diesem Vorkurs teilgenommen haben als am eigentlichen Studium. Einige dieser Frauen haben im folgenden Jahr sogar als Assistierende gearbeitet. Das zeigt, dass der Kurs einen positiven Effekt hatte.
Was hat Ihnen am Universitätsalltag am meisten Spass gemacht?
Ganz klar die Fragen der Studierenden. Zu beobachten, wie Studierende interessante Gedanken entwickeln, und sie in ihrem Lernprozess zu begleiten. Es gibt Studierende, die zu Beginn des Semesters kaum Fachwissen mitbringen und zum Ende hin plötzlich richtig gute Fragen stellen. Oder wenn ich Doktorierende sehe, die am Anfang vielleicht noch zurückhaltend, schüchtern und unkritisch gegenüber dem sind, was andere sagen, und dann plötzlich in der Lage sind, ein System zu entwickeln und eine Grenze zu ziehen. Plötzlich können sie klar benennen, was sie machen oder eben nicht machen möchten, und sind auch mal bereit, mir zu widersprechen. Nichts ist langweiliger, als wenn man immer nur Zustimmung erhält.
Die ETH Zürich ist voll von jungen Menschen. Hält das einen auch selbst jung?
Wie bereits erwähnt, haben wir jedes Jahr mit neuen Leuten zu tun, die verschiedene Vorkenntnisse und Voraussetzungen mitbringen und denen wir etwas beibringen wollen. Das hält, so hoffe ich, tatsächlich etwas jung. Aber auch in Unternehmen oder Industrielabors kann man sich mit neuen Dingen auseinandersetzen und dadurch jung bleiben.
Gibt es eine besonders wertvolle Erinnerung an Ihre Zeit an der ETH Zürich, die Sie mit uns teilen möchten?
An der ETH hängt vieles von Einzelpersonen ab, mehr als an anderen Institutionen. Diese Organisation kann weitgehend mit wenigen Strukturen arbeiten, was mir sehr gefällt. An der Carnegie Mellon gab es nur zwei Regeln: «Ich werde eine vernünftige Person sein» und «Ich werde davon ausgehen, dass alle anderen vernünftige Personen sind». Auch die ETH Zürich hat lange Zeit gut ohne umfangreiche Regelwerke funktioniert. Wenn man sich auf die Ausbildung von Fachkräften für den hiesigen Wirtschaftsraum konzentriert, ergibt sich vieles von selbst. Natürlich bilden wir auch Doktorandinnen und Doktoranden aus, von denen einige in der Schweiz bleiben und andere ins Ausland gehen. Ebenso nehmen wir internationale Studierende auf. Der Grundgedanke ist, dass wir aktuelle Themen in der Ausbildung behandeln, was erfordert, dass wir selbst aktuell bleiben. Forschung ist nicht nur aus Freude wichtig, sondern essenziell für eine gute Lehre. Ein Kollege sagte mir einmal, dass wir durch Spitzenforschung in der Lehre einen Vorsprung von etwa fünf Jahren haben. Natürlich holen andere irgendwann auf, aber es hilft, wenn wir ein bisschen vorausdenken. Das macht die ETH, wie einige nordamerikanische Universitäten, sehr gut und sollte es auch weiterhin tun. Das ist wichtiger als umfangreiche Regelwerke.
Gibt es einen Tipp, den Sie Ihren Studierenden seit jeher mitgeben, der die Zeit überdauert hat und auch künftig überdauern wird?
Es gibt viele, die hier zufrieden sind, aber ich finde es gut, wenn man mal ins Ausland geht. Ich selbst habe Praktika in Südafrika und in Japan absolviert und in den USA studiert. Die gemachten Erfahrungen haben mir in vielerlei Hinsicht die Augen geöffnet. Und ich weiss auch von meinen Studierenden, die jetzt im Ausland leben, dass solche Auslandaufenthalte für sie in vielerlei Hinsicht eine interessante Erfahrung waren. Ich hatte zum Beispiel einen Studenten, der in Indien bei einem Unternehmen mit 120 000 Mitarbeitenden gearbeitet hat. Solche Dimensionen sind für uns schwer vorstellbar. Diese Art von Erfahrungen ist jedoch entscheidend, um sich in einer globalisierten Welt zurechtzufinden.
Und jetzt? Wie sehen Ihre Zukunftspläne aus?
Ich plane nicht so viel und habe aktuell genug zu tun. Ich engagiere mich weiterhin bei verschiedenen Konferenzen und Organisationen. Und für die Vorlesung «Einführung in die Programmierung» gibt es nach wie vor Themen, die uns beschäftigen: Welche Faktoren beeinflussen die Prüfungsleistungen der Studierenden im ersten Semester? Wie können wir ihnen helfen, bessere Ergebnisse zu erzielen? Wenn man sich mit ausreichend Interesse einem Thema widmet, stösst man immer wieder auf neue Fragen. Da gibt es einiges, was man noch machen könnte.
Thomas Gross war von 1994 bis 2024 als Professor für Software-Entwicklung an der ETH Zürich tätig. Seine Forschungsinteressen umfassen die Entwicklung verschiedener Werkzeuge zur Analyse und Messung der Leistung paralleler Programme. Zudem hat er sich der mit der Frage beschäftigt, inwieweit Software auf modernen Prozessoren komplizierte Hardware ersetzen kann. Vor seiner ETH-Professur hat er an der Stanford University in Elektrotechnik promoviert und war anschliessend als Postdoc an der Carnegie Mellon University beschäftigt. Am 7. Oktober 2024 wird er seine Abschiedsvorlesung an der ETH Zürich zum Thema Statische und Dynamische Abhängigkeiten halten.