After graduating,
Derek Andrews worked for one year as a Research Assistant in the Computer Science
Department at Bristol University, designing and implementing a simple programming
language for interactive computing. In 1970 he took a Masters Degree in
General Relativity at London University and then taught mathematics for two years
at a College of Further Education in the City of London. In 1972 he was appointed
as a Research Assistant at Cambridge University and worked on various compilers
for Algol 68.
This
was followed by eight years with IBM at Hursley. During
this period, he was the technical editor of the ANSI/ECMA/ISO
PL/I Standard and, as well as writing part of the
text, was responsible for the technical and editorial
correctness of the document. He also wrote a formal
definition of minimal BASIC using the Vienna Development
Method (denotational) meta-language, META-IV, and
also a version using the BASIS meta-language that
had been used to define PL/I. He also worked on early
OO languages as part of IBM's bid for what was to
become the ADA project.
In
1981 he was appointed as Senior Lecturer and Head
of Department in Computing at Leicester University
to establish the Computing Studies Unit and to initiate
a program of computing education and research. During
this period at Leicester he was involved in writing
formal specifications of the programming languages
Pascal and Modula-2 and developing tools for prototyping
software systems.
While
at Leicester he carried out consultancy work for industry,
in the area of Software Engineering and Formal Methods.
The work has been mainly in advising on software engineering
topics, though he was also been involved in advising
on computer science education in general for IBM.
He was also a consultant to the Open University for
an advanced (postgraduate) course on software engineering,
and prepared four units on software specification
and development. Other consultancy includes work with
Lucas on the use of Pascal as an application and system
programming language, work with Learning Tree teaching
(industrial) courses on software engineering and software
development.
Since
1999 he has been working for Trireme concerned with
UML and component based systems. Companies worked
with include: First-e, Reef and Deutche Bank.