About Me

I am an associate professor at the School of Computing at Dublin City University, Dublin, Ireland.

I joined DCU at the start of 1998. Previously, I was a lecturer in the School of Computing and Mathematics at Keele University in England. I did my Ph.D. in the Department of Computing Science and Mathematics at the University of Stirling in Scotland.


Here’s my contact information.

Teaching and Learning

I teach the following modules:

  • CA4005 Cryptography and Security Protocols

  • CA642 Cryptography and Number Theory

  • CA648 Formal Programming

The resources for these courses can be found on Loop.


My early research work was in the areas of program analysis and program transformation. This included the first extension of the deforestation algorithm to higher-order languages. More recent research in the area of program transformation has resulted in the development of the distillation algorithm, which is a major advance over deforestation and gives orders of magnitude improvement in both the time and space usage of programs, as opposed to the higher-order deforestation algorithm, which can only give a linear improvement. It turns out that distillation can be applied in many different areas:

  • Theorem Proving

  • Automatic Program Construction

  • Program Verification

  • Program Improvement

  • Program Termination Checking

  • Program Parallelisation

  • Program Complexity Analysis

  • Energy Efficient Computing

Project Ideas

Here are some project ideas for undergraduate projects and M.Sc. practicums.