Research highlights at the Department of Computer Science

ETH Zurich has a long and successful history of designing computer systems and developing software tools. It dates back to 1948 to the newly formed Institute for Applied Mathematics.

Zuse Z4 at ETH Zurich

Ambros Speiser und Heinz Rutishauser sitzen vor der Rechenmaschine Z4
Two employees of the Institute for Applied Mathematics are pictured on the Zuse Z4 control console: Ambros Speiser and Heinz Rutishauser, sitting here at the computer in 1955.

ETH Zurich played an important role in the beginnings of Swiss computer science research. Eduard Stiefel, originally Professor of Geometry foresaw the potential and importance of computer science for Switzerland and ETH. As a result, in 1949 he went to Germany and rented the Zuse Z4, a programmable computer from the German engineer Konrad Zuse after it endured World War II with little damage. Z4 was able to perform practical numerical tasks. The Z4 was in operation for several years and was further developed during this time, among others by Heinz Rutishauser and Ambros Speiser: Rutishauser was responsible for the software and Speiser for the electronics. The Z4 set many developments in motion at ETH. At the same time, the groundwork was being laid for ETH to build its own electronic computer, the ERMETH.

Development of ERMETH

ERMETH
The concept of ERMETH was based to a large extent on the knowledge that Eduard Stiefel, Ambros Speiser and Heinz Rutishauser had gathered on study trips in Europe and the USA.

In 1949, Eduard Stiefel sent his senior assistants Heinz Rutishauser and Ambros Speiser to the US to learn how to operate new electronic calculating machines, e.g. at Harvard. From these study trips, new research projects were launched, including the development of ETH's own computer, the "Electronic Calculating Machine of ETH" ("elektronische Rechenmaschine der ETH"). The ERMETH was a digital computer with 2000 electron tubes and 6000 germanium diodes. Diodes were still new at that time, but it was determined that they were already sufficiently reliable. The transistor, the main component of every computer today, had already been invented in 1948, but hardly anyone in Zurich had ever had seen one of these new components, let alone worked with it. At ETH Zurich, the main problem was the construction of the main memory, a magnetic drum that rotated at 6000 revolutions per minute. The ERMETH was partially operational by 1955 and was completed in 1957. It remained in full operation until October 1963. Since then, it stood as a museum piece in the Technorama in Winterthur until 2004, when it was moved to the Museum for Communication in Bern as a permanent loan from ETH Zurich.

In the beginning, the ERMETH could only be programmed by using machine language. However, Rutishauser and his European colleagues developed ALGOL, a language with a close relation to mathematics, for which Hans Rudolf Schwarz wrote the necessary compiler in 1960.

SRF podcast: external pageWhy Switzerland did not become a computer nation despite pioneering work (24.02.2024, German)

The innovation of ALGOL

Portrait Heinz Rutishauser
Heinz Rutishauser's major achievements in languages were his commitment to the universality of ALGOL and his dedication to numerical algorithms, which are still needed today.

Heinz Rutishauser realised early on that tedious programming could be shortened; that is, that the machine could write the program itself. He wanted to formulate this in a language that was close to mathematics, so that compiling would be easier. This idea of Rutishauser was very innovative for the time. His post-doctoral thesis revolved around the topic of "automatic computation plan production." This idea in turn inspired him further. In 1958, at a conference in Zurich, a first report of a new universal programming language called ALGOL (ALGOrithmic Language) was adopted. An important concern of the ALGOL 58 specification was the portability of existing programs to different computer architectures. ALGOL arose, among other things, from the will to counter the dominance of IBM with its wildly growing Fortran with a clean and systematically developed language. Heinz Rutishauser was a driving force in these early developments of ALGOL and made important contributions to the development of this programming language. The responsibility for the further development of ALGOL was handed over to the "International Federation for Information Processing" (IFIP) in 1962. Also in 1962, the groundbreaking ALGOL 60 Report was published. However, the IFIP, as a large international organisation, proved to be too cumbersome to further develop the programming language suitably. This eventually led to Niklaus Wirth leaving the project group and developing ALGOL-​W practically single-​handedly and implementing it at Stanford. Niklaus Wirth saw leaving the ALGOL committee as an act of liberation, which eventually led to the development of the programming language Pascal in Zurich.

Handbook for Automatic Computation

Cover image of the book "Description of ALGOL 60"
Algol 60 was a milestone in the history of programming languages: With it began the exact definition of language properties independent of (and before) any implementation.

The Handbook is a collection of software, the first volume of which was published by Springer Verlag in 1968. For the language of the Handbook one agreed on ALGOL. In book 1A the language ALGOL is explained. Heinz Rutishauser was again the driving force of this project. He wrote the whole volume on Flexowriter and was very careful that all the programs in the book were without errors. Finally, book 1B described how to make and implement the compiler for ALGOL.

The second volume was written by the two researchers Christian Reinsch and James H. Wilkinson: This book describes linear algebra. It is a collection of algorithms written by different people. The authors have collected algorithms, tested them, and seen if they work correctly. If the algorithms passed this test, they were included in the Handbook. As a reference, the Handbook is still relevant today, but it is no longer needed.

Pascal: a programming language that conquered the world

Niklaus Wirth
Professor Niklaus Wirth has significantly advanced computer science in Switzerland and at ETH Zurich.

The programming language Pascal was developed by Niklaus Wirth between 1968 and 1972. It is based to a large extent on Algol 60 and adopted the concepts of Algol W in its core. Wirth had two intentions. Firstly, the language was to be suitable for teaching and thus simple and based on fundamental principles. Secondly, it should also be an efficient tool for the development of large programs in order to disprove the common opinion that software written in high-​level languages was was slow and error-​ridden. Compared to Algol 60, Pascal offered more extensive possibilities in the area of usable data structures. Inspired by the increased use of Pascal on platforms other than CDC-​6000 systems, the compiler was modified in 1973 so that instead of machine code it generated so-​called p-​code, which was then executed by an interpreter tailored to the corresponding computer. Due to the small size and the openly published source code, Pascal was suitable for use on the minicomputers evaluated by various institutes at that time. At ETH and numerous other universities, Pascal was used in education for many years. The success of this programming language brought international recognition to computer science research at ETH Zurich. Niklaus Wirth was awarded the Turing Award in 1984 for Pascal and for his other achievements in the field of programming languages.

Computer Lilith

Lilith
Wirth had come up with the name "Lilith" through a psychiatrist friend who told him about a seductive demoness from Jewish mythology with that name. Wirth saw how the men at the institute worked at the workstation even at night and on weekends and literally succumbed to her.

The development of ETH's own computer was re-​initiated after an interval of nearly two decades with Lilith. The personal workstation, inspired by the Bell Labs' Alto, was developed under Niklaus Wirth's direction from 1978 to 1980. Lilith was put into operation about five years before the first Macintosh and was used at ETH Zurich until 1990. Based on the experience gained in previous projects, Lilith came with a graphic-​enabled monitor and a mouse and thus provided the department with a five-​year head-​start in its daily work, as similar graphical user interfaces only became commercially available in 1984. Wirth also hired a typographer who was responsible for the WYSIWYG text editor. Lilith had to fulfill two functions: first, it served as a working tool in the groups of Niklaus Wirth and Carl August Zehnder. Not only the professors and assistants worked with it, but also the administrative staff. For the students, a workroom was equipped with Liliths. The workstation enabled programming lessons with the most modern means. The exercise programs could be compiled and started directly; in case of errors, the code could be changed immediately and a new attempt could be made. The long wait for reactions from a mainframe was eliminated. The second function of Lilith was that, from 1980 onwards, it became a nucleus for numerous other research projects. Various applications and even games were programmed on it. For example, the relational database system LIDAS and the information retrieval system Caliban were developed based on Lilith. Both projects paid particular attention to the design of the user interface. Lilith strongly influenced the research activities of the ensuing years and can be regarded as the nucleus of computer science research at ETH Zurich during the 1980s.

Ceres Workstation

ceres
The name Ceres comes from the Roman goddess of agriculture.

Ceres is the name of the computer system developed in 1986 by Niklaus Wirth and his group. The basis was a 32-​bit processor (NS32032). At the same time, the associated operating system, the Oberon System, was developed. It was programmed in the Oberon programming language, which was defined in parallel. The computers were used for training computer science students at ETH Zurich until about 2003. Over time, the ETH Oberon System was ported to other platforms such as Windows or Solaris to be independent of the old and now error-​prone Ceres hardware.

Services of the Oberon System

Oberon
The system was programmed in the Oberon language and requires only a fraction of the resources needed by commercial systems.

Between 1986 and 1988, Niklaus Wirth and Jürg Gutknecht developed Oberon – both an operating system and an object-​oriented programming language. Oberon subsequently became the standard language for programming courses at ETH Zurich, where it remained into the new century. The Oberon System is a modular, single-​user, single-​process, multitasking operating system written in the programming language Oberon. It was originally developed as part of the NS32032-​based Ceres workstation project. Its design and implementation are fully documented in Wirth’s and Gutknecht’s book "Project Oberon". The Oberon System has an unconventional visual text user interface (TUI) instead of a conventional command-​line interface (CLI) or graphical user interface (GUI). This TUI was very innovative in its time and influenced the design of the Acme text editor for the operating system Plan 9 from Bell Labs. The latest version of the Oberon System, Project Oberon 2013, is still maintained by Niklaus Wirth and several collaborators, but older ETH versions of the system have been orphaned.

With the rapid growth of the institute and, later on, the department, research activities steadily expanded. Like in other departments, a characteristic of late 1980 research policy was to collaborate closely with external partners and to explore new financing options.

Today, the department comprises more than 40 renowned faculty members doing research in seven key areas.

JavaScript has been disabled in your browser