Teaching


Currently I am supervising postgraduate students in the field of Intelligent Systems at the Department of Computing in the School of Technology at Oxford Brookes University, and also help out with undergraduate teaching in artificial intelligence, computer vision, and logic.

If you are considering doing a PhD or MSc in a field related to intelligent systems, please think carefully before contacting me (a) why you wish to do this, and (b) how you will fund yourself. A part-funded or fully-funded studentship can be made available to exceptionally well qualified candidates.

I have had the privilege of supervising the following students for their PhD (showing brief topic and date of degree):
M.P. Shanahan (1988) Exploiting dependencies in search and inference mechanisms.
M.E. Leeser (1988) Reasoning about the function and timing of integrated circuits using Prolog and temporal logic.
A.J. Morgan (1989) Qualitative analysis of dynamic physical systems.
C.S. Klein (1990) Exploiting or-parallelism in Prolog using multiple sequential machines.
C.W.M. Restivo (1990) Some properties of first-order state-spaces.
K.L. Wrench (1990) A distributed multiprocessor AND/OR parallel Prolog system.
A.W. Moore (1991) Efficient memory-based learning for robot control.
R.P. Gore (1992) Cut-free tableau and sequent systems for normal propositional modal logics.
I.A. Benson (1992) Reasoning about contingent events in distributed systems.
T.U. Vogel (1992) Learning in large state spaces with an application in biped robot walking.
I.A. Ferguson (1993) An architecture for rational autonomous agents.
S. Saraswat (1996) Performance evaluation of the DelPhi machine.
K.F. MacDorman (1997) Symbol grounding: Learning categorical and sensorimotor predictions for coordination in autonomous robots.
I.J. Lewis (1998) PROLOGPF: Parallel logic and functions.
B. Reis (1999) Simulating music learning with autonomous learning agents.
M.S.M. Khorsheed (2000) Arabic handwriting recognition.
R. Nopsuwanchai (2004) Hidden Markov models for Thai handwriting recognition.
P.P.J. Fernando (2004) Generalised moments for Syriac handwriting recognition.
C. Restif (2006) Segmentation methods for biological cell images.

In the past I taught the following courses at Cambridge:
• Artificial Intelligence
• PROLOG Programming
• Data Structures and Algorithms
• Computer Vision
• Neural Computing
• Programming in LISP, POP-2, and assembly language.

For B.Sc. and M.Sc. students: Here are a few project ideas I am willing to supervise:
• Graphical Flow Chart Editor and Simulator in Java. The aim of this project is to implement a graphical flow chart editor that can also simulate the charts. Flow charts can provide a useful programming method, particularly in implementing industrial controls. Blocks of various kinds are connected by links. One programming challenge is to lay out the links in an intelligible way. ÊDepending on the application chosen, blocks could represent digital or analogue computing elements, or could represent a control system.
• Image Processing Workbench in Java. The Java Advanced Imaging API provides a number of useful image processing algorithms. A graphical front end would be useful for scientists and engineers who wish to try out image processing functions on various types of imagery. If time permits, a scripting language could also be implemented.
• Improvements to the Departmental Information System. This involves writing Java servlets to provide various web services related to the department's web-based information system.

I run a Summer Research Internship programme, in which a few volunteers participate in activities of my research groups during several weeks of the summer. If you think you would like to do this, you will need to find a research topic of interest (either your own or one shown elsewhere on this site) and figure out how you will get to and from the Wheatley Campus, near Oxford. At this stage I am unable to make offers of accommodation or payment. You will need to provide your own funding for living and travel expenses. Oxford is a relatively expensive place to live.