Oxford University Computing Laboratory

INTRODUCTION

By Oxford's standards computing is a very recent newcomer to the academic scene. Even the basic term "computing" still has very different meanings in differing contexts: thus "computing science" means a quite different activity from "scientific computing"; and substituting the term "computation" offers no escape from the dilemma. In these Web pages, we shall endeavour to explain what we mean by the word "Computing" in our title, the range of our teaching and research, how it relates to activities in other departments of the University and in the world at large, and something of the background to and organisation of the department.

For us the term "computing" covers all of the very wide range of activities that have stemmed from the modern development of computers --- from the design of the computers themselves, of the software needed to control them, and of the languages in which this is written, to the many applications that are only made possible by their development and interact intimately with that development. The distinctive composition of the department reflects this breadth of interest, with the Programming Research Group (PRG) more concerned with topics at the beginning of this list and the Numerical Analysis Group with those at the end. This structure has evolved through three phases of the Laboratory's development, and doubtless it will evolve further as the range of activities increases and changes.


HISTORY AND STRUCTURE

Oxford University Computing Laboratory was set up in 1957 under the direction of Leslie Fox. Within a short time from its foundation it was providing undergraduate lectures in the Faculty of Mathematics, training a number of research students, and running a mainframe computer which provided a computing service to the University generally. During this initial period the research efforts of the Laboratory were directed almost entirely towards numerical analysis and led to the establishment of the Numerical Analysis Group.

The seeds of a radical shift of emphasis and broadening of scope were sown in 1965, with the foundation within the Laboratory of the Programming Research Group (PRG) under the leadership of Christopher Strachey. The Computing Service split off from the Laboratory in 1977 and for the next several years the two small tightly-knit groups pursued their own individual research and teaching initiatives with little day-to-day contact, partly because until 1984 they were in separate rather isolated buildings.

However, since that time, from the rapid development in the number of staff and the range of their interests, and the steady improvement in the accommodation, has emerged a major department with a clear identity and common objectives. Tony Hoare succeeded Christopher Strachey in 1977, Bill Morton succeeded Leslie Fox in 1984 and Joseph Goguen filled a new chair from 1988 until 1996. The number of established academic staff grew steadily from eight in 1980 to the present strength of about thirty.

The initial accommodation at Keble Road consisted of the converted Victorian houses comprising Nos 8-11, and its inadequacy soon led to some members of the staff having to occupy accommodation in 2 South Parks Road; but in 1986 it was decided to seek permission and funding, through the University's Campaign for Oxford, for a major extension to the rear of the Keble Road houses. The planning, funding and construction of the new Wolfson Building has given the Laboratory a great sense of achievement; and its occupation since the summer of 1993 has for the first time provided us with purpose-built accommodation capable of bringing all the staff together and meeting most of our needs.

The Laboratory now has responsibility within the University for all academic aspects of computing --- for teaching, basic research and collaboration with other departments and with industry on applied research. Its research attempts both to solve problems by the use of computers and to address problems in the design and programming of computing systems themselves. In both areas it couples rigorous theory with industrial application, with each acting as a strong stimulus to the other, and this is reflected in the teaching.

The combination of the two differing disciplines in the PRG and NA Group within the Laboratory is seen as one of its strengths. Much teaching and research in computing is interdisciplinary, involving close links with mathematics, engineering and other scientific disciplines: and the development of the required inter-disciplinary skills is encouraged by this juxtaposition of the two groups. A good example has been the setting up of Oxford Parallel (an autonomous organisation housed in the Laboratory) which encompasses all aspects of parallel computing and has initiated several projects in which members of both groups are engaged.


The strongly held common philosophy of the two groups is admirably expressed in the following quotation from Christopher Strachey,the founder of the PRG:

It has long been my personal view that the separation of practical and theoretical work is artificial and injurious. Much of the practical work done in computing, both in software and in hardware design, is unsound and clumsy because the people who do it have not any clear understanding of the fundamental design principles of their work. Most of the abstract mathematical and theoretical work is sterile because it has no point of contact with real computing. One of the central aims of the Programming Research Group as a teaching and research group has been to set up an atmosphere in which this separation cannot happen.


www@comlab.ox.ac.uk