In October 2018 I was delighted and honoured that the Worcester College senior Tutorial Fellowship in Computer Science was named the Bernard Sufrin Fellowship. One formal announcement is here.
I retired formally from the University on 30th September 2010, but I still lecture and examine in the Faculty of Computer Science, tutor at Magdalen College, and run a (very) small consulting practice.
I have been an academic computer scientist -- programming, and teaching about programming and the mathematics of programming -- for most of my working life, although I spent some time in the early 1970s working for Bolt Beranek and Newman in Cambridge Massachussetts helping build the second generation Arpanet: this later became the Internet.
I aim to help my students get to grips with the challenges of working creatively in a demanding medium that requires a mathematician's eye for detail and an engineer's determination to build useful things.
I am still happy to supervise interesting undergraduate or M.Sc. student projects: see http://www.cs.ox.ac.uk/people/bernard.sufrin/personal/projects.html for a few suggestions.(October 2018)
The Oxford Web site -- describes a generic framework, developed at Oxford and QMW, for building interactive proof editors. See here for the current distribution, and access to a few more general papers.
CSO (Communicating Scala Objects) is a library for Scala that implements a generalization of the occam model of concurrent programming. It is under active development and has been used in courses in Concurrent and Distributed Programming at the Computing Laboratory.
Here's a short overview paper: Communicating Scala Objects describing the current implementation of CSO. It is a revision of the paper presented at the 2008 Communicating Process Architectures Conference in York.
Here's a directory containing the current version of the library and its API, parts of the course material, and a few very small example programs: Communicating Scala Objects Materials.
Eclectic CSP (ECSP) is a higher order modular concurrent programming language. An early version of the language is described in this presentation and this document and a prototype implementation (which, incidentally, translates ECSP to Java) can be made available available on request. Development effectively ceased when Marconi became defunct as a research organization.
Obol is an object-oriented language that was originally designed in around 2003 to introduce the conceptual foundations of object-oriented programming with minimal fuss. The current version of the language is described in An Introduction to Obol. The Obol installer can be found here. It can be run on a Windows or a Unix machine, providing the java runtime environment has been installed first. Development has ceased.
If you are looking for the security-protocol programming language Obol, you have come to the wrong place. Please go here http://www.pasta.cs.uit.no/~perm/Obol
I spent three years collaborating with a tiny company called BrainBoost on the design, development and clinical evaluation of a computer-based system to aid the diagnosis and monitoring of patients with mild cognitive impairment who may be in the early stages of Alzheimer's disease. BrainBoost recently merged with another small company called MindWeavers to form a more commercially-oriented enterprise. I learned a lot from the collaboration -- not all of it technical or clinical -- and I am still interested in collaborative work in this area.
The (extensible, unicode) text editor dred that I still use is not a research interest, but it grew out of an interest I once had in the relationship between the quality (cognitive ergonomics) of user interfaces and the abstract specifications of the systems they iterfaced to.
Its documentation is: here and it can be downloaded as an OS/X disk image and as a Java .jar file. The former is specifically for use on OS/X (Snow Leopard and later); the latter may be used on any machine with a modern Java runtime environment (including OS/X, in which case a little OS/X-specific functionality such as drag-and-drop is lost.
Although literate programming has never been a research interest, I wrote my first literate programs starting in about 1972 as part of the course materials for my data structures courses at Essex University -- somewhat before Donald Knuth popularized the idea and the term.
Over the years since I got the habit I've usually developed course materials and written 'practical' papers, using one or another form of home-grown literate programming system to drive TeX or LaTeX. I always grew my own because I found it easier to do that than to learn other tools and/or adapt to the workflow they imposed on me.
TexTract is the latest, the last, and the least ad-hoc: it was developed with the assistance of Fr. Saul N. Braindrane. If you like the idea -- whose essential documentation consists of a couple of pages, then download the jar file from here. A few tex resources that can be used with TexTract are here.
2006: Many colleagues at Oxford are concerned that the problems of organisation and underfunding faced by the University should be properly understood and responded to by those whom we have elected to run the University. With that in mind we have published a ''blue paper'' in response to what we consider to be the inadequate response of the Governance Working Party.
The blue paper was originally published internally, but we have recently been informed that it has been published on the Web in altered form without our permission.
2007: I wrote the above remarks during the summer of 2006. Since that time the University's sovereign legislative body, Congregation, has rejected the proposals of the Governance Working Party by decisive majority of 3:2 on the largest turnout in its history.
The HEFCE has now asked the Audit and Scrutiny committee of the University to explain our system of governance, and to make suggestions for "improvements". It is clear that while the HEFCE is unwilling to enforce prescriptions on the University at this stage, it is using language designed to suggest to the University that it would be a good idea to make changes in line with what HEFCE deems "best practice" -- a governing body with a majority of external members. This suggestion is made by asking us to compare our governance, point by point, with the Code of Practice recommended by the Conference of University Chairmen (CUC) -- to which Oxford and Cambridge do not belong.
It is noteworthy in these circumstances that the CUC itself has published research that includes the remarkable statement that high-performance of a University in the various league tables is inversely correlated with "best practice" as recommended by the CUC. "11. In such a situation some HEIs believe that despite the Higgs and Smith Reports and the importance of the Combined Code, the appropriateness of private sector models of governance has yet to be proven. Increasingly in the private sector high performing companies [...] require high performing boards, and it is difficult to conceive of a board being held to be effective where a company is performing less than satisfactorily. [...] However, in higher education corporate governance has usually had little relationship to the effectiveness of teaching and research; indeed, some of the universities who score most highly in the various performance league tables may have weak systems of governance if measured against best practice in the sector and the Combined Code." A Final Report to the CUC on Good Practice in Six Areas of the Governance of Higher Education Institutions. (CUC-CHEMS, 2004)
My personal view is that our discussions on governance ought not to be driven by the idea of structural change for its own sake.
We have to achieve a system of governance which is fit for the purpose of maintaining the University's excellence and which starts from the current reality, rather than just complying with a general structural schema that has not been empirically validated in either of the ancient Universities.
In Richard Layard's words: "Reorganisation is much less important than some think. In fact, many different organisational structures can be made to work equally well. What cannot work is constant reorganisation, where nobody understands what is happening, institutional memory is lost, and everybody worries about their future rather than the job in hand. No change should be introduced without being piloted. The speed of any change is much less important than its sustainability, and over-hasty change can even lead to cycles which eventually return the system to where it started."
As I wrote the above in the autumn of 2007 the newspapers were full of accounts of the near-disastrous consequences for the Northern Rock Bank (a privatised former Mutual society) of its "adventurous" business policies -- policies endorsed by a board with a majority of external directors. So much for "best practice".
And as I write in the late autumn of 2008 we have seen a near meltdown of the global financial system precipitated by the activities of banks and other companies whose boards no doubt conformed to "best practice".
David Colquhoun has some interesting things to say about the use of non-scientific methods of evaluating organisational structures.
I demitted office in May 2006 after 7 years' service as Trustee and Honorary Secretary of the Oxfordshire Dyslexia Association. In April 2010 I was re-elected as a Trustee.
I left office in 2005 after eight years' service as a Foundation Governor of Saint Mary and Saint John First School in Oxford. People who know my views on religion will appreciate the irony of my having been appointed to this position by the Bishop of Oxford! People who have served as Governors will understand just what I mean when I say ''Responsibility without power is frustrating.''
I have nothing but admiration for schoolteachers, and little but contempt for governments who are content to blame schools and teachers for social problems that are beyond their control.
|Public PGP/GPG Key||(download). Please don't use public keys that I made before 2000; I no longer have access to the corresponding private keys.|