He was awarded a BSc in Computing Science from the University of Stirling, Scotland (1994). He is a member of the Discipline of Software Systems, the Foundations and Methods research group, the Centre for Research in IT and Education (CRITE), and the Computational Thinking for Life (CT4L) research group. His research interests include Functional Programming, Formal Methods, Type Theory, Computational Thinking, and Programming Education. He has taught on wide range of undergraduate and and postgraduate programmes in areas including functional programming, software engineering, object-oriented programming, networking.