Pat Terry - some biographical details
Curriculum Vitae
- Full Name: Patrick David Terry
- Born: 7 April 1945, in Johannesburg, South Africa
- Married: 27 June 1970, in England, to Sarah Fawcitt (Sally)
- Children: David (1981) and
Helen (1984)
- Presently: Professor, Computer Science
Department
- Employer: Rhodes University, 6140
GRAHAMSTOWN, South Africa
- Phone: (Work) +27 - (46) 603-8292 (Home) +27 - (46) 622-4470
Education
- 1959 - 1962: St Andrew's College, Grahamstown
- 1963 - 1968: Rhodes University, Grahamstown
- 1968 - 1972: Cambridge University, England
Academic qualifications
- 1962: Matriculated, JMB first class, 1962, distinctions in five of
seven subjects
- 1966: Bachelor of Science degree, with distinction in Physics, Rhodes
University
- 1967: Honours in Physics, with distinction, Rhodes University
- 1969: Master of Science degree, Rhodes University, 1969, with distinction.
Dissertation on "Radio ray tracing at very low frequencies when
the effects of heavy ions are included" (Ionospheric and magnetospheric
radio propagation)
- 1972: PhD degree, Cavendish Laboratory, Cambridge, United Kingdom.
Dissertation "Complex Ray Tracing in Ionospheric Radio Propagation"
discussed aspects of ionospheric radio propagation when the effects
of particle collisions and damping are taken into account.
My postgraduate studies in Physics, both at the MSc and PhD level, were
largely dependent on computer simulations. At Rhodes this led me to become
an early user of the newly installed ICL1301 computer, and to dabble extensively
in simple compiler writing and systems programming, so as best to exploit
the limited potential of the machine. My PhD studies in Cambridge, where
I was supervised by Kenneth Budden, FRS, also had the side effect of exposed
me for the first time to time-sharing computers at the famous Mathematical
Laboratory where Wilkes and others were developing the Atlas computer,
multi-access systems etc.
Major academic awards
- 1966: FR Furter Scholarship for Honours and MSc degree, Rhodes University
- 1968: Elsie Ballot Scholarship for study in Cambridge
- 1968: National Scholarship for postgraduate study in Cambridge
Academic positions
- 1971 - 1976: Lecturer in Applied Mathematics, Rhodes University
- 1977 - 1980: Senior Lecturer in Applied Mathematics and Computer Science,
Rhodes University.
- 1981 - 1993: Professor, Computer Science, Rhodes University.
(Here I have served two terms as Head of Department, from 1984 -1986, and
1988 - 1995)
- 1982 - 1984: Assistant and Deputy Dean, Faculty of Science
- 1987 - 1998: Deputy Dean, Faculty of Science
- 1999 - 2001: Elected to be Dean, Faculty of Science
I have served long spells as Assistant Dean, and later Deputy Dean of
the Faculty of Science over the period 1982 to the present. I declined
nomination to become Dean of the Faculty a few years ago, fearing too great
an impact on my departmental commitments. However, I have largely assumed
responsibility for administering the annual registration of students and
practical scheduling in the Faculty, and the scrutiny of examination results.
As from 1999 I shall be assuming the role of Dean of Faculty.
University Distinguished Teaching Award
In 1992 I was awarded the Vice-Chancellor's Award for Distinguished
Teaching. This I regard as one of the major highlights of a career which
I have very much enjoyed.
Other university commitments
- 1975 - 1976: Secretary, Rhodes University Staff Association
- 1989 - 1998: Executive Committee of Senate
- 1983 - 1988: Orientation Week Committee
- 1977 - 1996: Computer Steering Committee
- 1991 - 1992: Library Committee
- 1987 - 1989: New Lecturer's Orientation Committee
- 1987 - 1989, 1992 - 1994: Nominations Committee
- 1997 - 1998: Academic and Administrative Review Committee
- Various: Bursary (Financial Aid) Committee
In addition, I have been responsible over the years for development
of models to aid the budgetting for both Capital Equipment and Library
Grants across the University, and for the design of some of the present
lecturing and practical timetable as it affects the Sciences. I was also
largely responsible for designing the Faculty approach to providing
"Foundation Curricula" for handling the increasing number of
underprepared, underprivileged students entering the Science Faculty, which
has turned out to be successful. More recently I was chair of a subcommittee
looking into semesterization proposals for the Science Faculty. I have also
been responsible for developing various computer systems to assist with
the registration of new students arriving at the university, and to assist
with the analysis of various data required by the ministry of education.
Visiting positions
- 1977 - 1978: Visiting researcher, Cavendish Laboratory, Cambridge UK
(Further research into radio propagation)
- 1985 - 1986: Visitor, Department of Computer Science, Strathclyde University,
Glasgow, Scotland. (Completing work on three textbooks, and teaching various
courses)
Leisure interests
Choral music and the classical music of the Highland Bagpipe (Piobaireachd).
Teaching interests in Computer Science
My teaching interests since 1980 have mostly been in the areas of programming
languages, program design, and programming language implementation.
Besides my departmental teaching commitments, I have become involved
in other aspects of promoting teaching.
I have served as external examiner at both Wits (1987 - 1991) and UCT
(1988 - 1992). I have also examined several MSc and PhD theses here and
abroad.
I was one of the early contributors to the seminars run by the TLSC
in the late 70's, and helped organize and give lectures in the new lecturer's
orientation programme (NLOC) for several years from about 1987 - 1990.
Outside the university I have often contributed talks on teaching (and
in particular on our approach here at Rhodes) to the annual meetings of
SACLA (South African Computer Lecturers Association) - again, this group
is largely informal, and the material presented is not usually "published"
in the formal sense.
I gave an invited course on programming in Modula-2 to an audience at
Wits in 1988, and have given various lectures to schools at various times.
Current interests
In 1985-1986, while completing my book on Modula-2, I made contact with
the BSI standards group working on Modula-2, and was invited to join them.
In 1987 I was invited to join WG13, the ISO work group standardizing Modula-2,
and attended seven of their eight meetings since then, where I think I
made fairly major input contributions to the design of the proposed libraries
and to the scrutiny and revision of the English text that accompanies the
formal (VDM) definition. I was also a member of the P1151 US work group
engaged in the same process. None of this work resulted in any formal publications
(outside the draft standard itself, which has a very limited audience).
Find out more about WG13 from my page of reminiscences.
As a result of being part of this group, many contacts were established. I
have received invitations to visit Australia, and to act on program committees
for the Joint Modular Languages
Conference, the last of which, JMLC'97, took place at the Johannes Kepler
University in Linz, Austria in March 1997 (another is planned for September
2000). In addition, various small collaborative projects have been undertaken
with members of the WG13 group. For example, work was done on refining Coco/R, a Modula-2 compiler generator originally
developed in by Hanspeter Mössenböck in Linz, and work was also done
refining the FST Modula-2 compiler emanating originally from the USA. More
recently I have collaborated (entirely by e-mail, as it happens) with Frankie
Arzu in Guatemala on converting Coco/R to C++, and with Hanspeter
Mössenböck in refining a Java version of Coco/R
Publication effort
My major publication effort has been directed to the publication of
textbooks, which, of course, reflects my interest in teaching. While lecturing
in Applied Mathematics I worked up several courses to the point where text-books
would have evolved very quickly, but did not carry these through, partly
because the field was already over-subscribed, and partly because of the
change of direction towards computing. As a result of my teaching experience
in Computer Science four books have appeared to date, one of which has
been translated into Polish.
The first of these was quite widely used at senior undergraduate level
here and abroad. It is of interest to report that the material also spawned
various undergraduate and postgraduate projects, including a very interesting
one done in Ireland which led to various other collaborative work:
"Programming Language Translation -
a practical approach" (Addison-Wesley, 1986)
The second is the text used for our first year course from 1987 - 1995.
It developed out of an earlier course using Pascal, which was never published
formally, but which was distributed to many schools under the title "A
simplified introduction to Pascal" along with an instructor's manual
entitled "A Pascal work book" when Computer Studies took off.
This book appeared in English and Polish editions:
"Introduction to Programming with Modula-2"
(Addison-Wesley, 1987)
"Uczymy sie progromowac na przykladzie
Moduli-2" (Wydawnictwa Naukowo- Technizne, Warsaw, 1992)
A short, but effective book was written to capture a niche market that
existed at the time (1986) when students were largely being taught tp program
firstly in Pascal, and then being required to learn Fortran as a second
language:
"Fortran from Pascal" (Addison-Wesley,
1987)
During my last sabbatical leave (1995 - 1996) I produced a completely
new edition of my earlier compiler book, which recognized the importance
of C++, and also of using compiler generating tools as well as hand-crafted
techniques:
"Compilers and Compiler generators:
An introduction with C++" (International Thomson, 1997)
Journal articles published:
- "Radio Ray Tracing in complex space" Proc. Roy. Soc. Lond.,
A321, 275 (1970) (with K.G. Budden)
- "Complex ray theory for ion cyclotron whistlers" Nature,
229, 200 (1971)
- "A complex ray tracing study of ion cyclotron whistlers in the
ionosphere" Proc. Roy. Soc. Lond., A363, 425 (1978)
- "Clang - a simple teaching language" ACM SigPlan Notices,
20(12), 54 (1985)
- "A Modula-2 kernel for supporting monitors" Software,
Practice and Experience, 16(5), 457 (1986)
- "Software Engineering in Modula-2" Inf. and Soft. Tech,
36(6), 341-354 (1988)
- "Software Engineering in Modula-2" (invited contribution
to "The Software Life Cycle", edited by Ince and Andrews,
Butterworths, 1990)
- "Modula-2 as a vehicle for programming courses", SA Journ
Higher Education, 4(1), 100-106 (1990)
- "FidoNet - a freely available electronic mail system" (BIT
Magazine (SA), 2(4), 19-22, 1990)
- "Umbriel - another minimal programming language" ACM SIGPLAN
Notices 30(5), 11- 17, May 1995
- "Umbriel - imperative programming for unsophisticated students"
ACM SIGCSE Bulletin, 27(3), 7-14.
Conference papers on teaching Computer Science
- "Systems for teaching concurrent programming" - Proc 14th
SACLA meeting, 1984
- "Compiler writing courses" - Proc 17th SACLA meeting, 1987
(with P.G. Clayton)
- "Some thoughts on 'what makes a good science lecturer'" -
NLOC, 1987 (This was a formal version of a talk presented in the NLOC programme
for some years, which formed part of their reading material (and may still
do so))
- "Modula-2 as a first teaching language" - Proc 18th SACLA
meeting, 1988
- "Imperative programming in a Foundation Programme" - Proc
25th SACLA meeting, 1995
Internal papers contributed to the WG13 standardization effort
- Second Draft Proposal Modula-2 Standard (December 1993, one of several
contributing authors)
- "Further thoughts on Termination" (Internal working paper,
BSI Standardization group on Modula-2)
- "Problems with Module Import/Export" (Paper N98, BSI, 1986)
- "Problems with Type transfer functions" (Paper N99, BSI,
1986)
- "Further Problems with the Modula-2 report" (Paper N99, BSI,
1986)
- "Type conversions in Modula-2" (SC22/WG13, Portland, August
1988)
- "Alternative I/O library top layers" (SC22/WG13 Paper D75,
Portland, August 1988)
- "How Modula-2 programs could properly be terminated" (SC22/WG13
Paper D77, Portland, August 1988)
- "Problems with the English of the draft definition of Modula-2"
(SC22/WG13, Portland, August 1988)
- "Problems with the concrete syntax of the draft definition of
Modula-2" (SC22/WG13, Portland, August 1988)
- "Suggested English text for the draft definition of Modula-2"
(SC22/WG13, Portland, August 1988)
- "HALT, ABORT and the separate module Finish" (SC22/WG13 Paper
D93, Lintz, July 1989)
- "Standard separate modules - termination" (in SC22/WG13 Draft
D103, Lintz, July 1989)
- "Termination (again)" (SC22/WG13 Paper D123, Milton Keynes,
June 1990)
- "The Strings module reconsidered" (co-author) (SC22/WG13
Paper MK-5, Milton Keynes, June 1990)
- "Towards a simplified standard I/O library" (co-author) (SC22/WG13
Paper MK-6, Milton Keynes, June 1990)
- "The termination module" (SC22/WG13 Paper D154, Tuebingen,
July 1991)
Departmental technical reports
- "Simplified introduction to Pascal" (Tech Doc 87/1 - 1987)
- "Pascal Workbook" (Tech Doc 87/2 - 1987)
- "Modula-2 for Pascal Programmers" (Tech Doc 87/3 - 1987)
- "The Clang language" (Tech Doc 87/8 - 1987)
- "Pascal for Modula-2 programmers" (Tech Doc 87/27 - 1987)
- "DOS and Modula-2" (Tech Doc 87/35 - 1987)
- "Abstraction and abstraction in Modula-2" (Tech Doc 87/37
- 1987)
- "Semaphores in Modula-2" (Tech Doc 87/38 - 1987)
- "Introduction to MS-DOS" (Tech Doc 92/2 - 1992)
- "FST Modula-2 under MS-DOS" (Tech Doc 92/3 - 1992)
- "JPI Modula-2 under MS-DOS" (Tech Doc 92/4 - 1992)
- "The compiler generator Coco/R for MS-DOS" (Tech Doc 92/9
- 1992)
- "C for Modula-2 programmers" (Tech Doc 92/10 - 1992)
- "The common Modula-2 library at Rhodes" (Tech Doc 93/1 -
1993)
- "The high level Modula-2 library at Rhodes" (Tech Doc 93/2
- 1993)
- "Preliminary report on the Umbriel project" (Tech Doc 94/4
- 1994)
- "A collection of programming problems" (Tech Doc 94/11 -
1994)
- "Programming in Umbriel" (Tech Doc 95/1 - 1995) (long monograph)
- "Intermediate report on the Umbriel project" (Tech Doc 95/2
- 1995)
Back to Pat Terry's home page