I'm a Senior Lecturer teaching computer science across a number of Abertay degrees, and in my spare time, a trad/folk musician and open source developer.
My background is in lightweight concurrency (designing, building and analysing software and hardware systems in which multiple activities take place at the same time) and programming language implementation.
I did my PhD at the University of Kent, then worked on the CoSMoS project (which aimed to build capacity in generic modelling tools and simulation techniques for complex systems) before joining Abertay as a lecturer in 2010.
My current research activity is focused around software engineering for cybersecurity and complex systems simulation. I'm particularly interested in projects that sit at the intersections of language design/implementation, digital media and secure software development.
If you'd like to work in this space, then please come and talk to me!
I teach a number of modules as part of Abertay's computer-science-related programmes, including:
CMP101 CHAOS, along with Ian Ferguson, which introduces students to the fundamentals of computer architecture through practical exercises with little electronic devices;
CMP201/202 Data Structures and Algorithms along with Ruth Falconer, which does exactly what it says on the tin, with a focus on the relationship between data design, algorithms and modern high-performance computer architecture;
CMP303 Network Systems for Games Development, which introduces our computer games students to network architecture and software development, and the high-performance distributed systems technology used in games;
CMP409 Languages and Compilers, which gives our students a broader background in language design and implementation;
CMP501 Network Games Development, which covers network games development for MSc students.
My research background is in concurrency: designing, building and analysing software and hardware systems in which multiple activities take place at the same time. Concurrency is a vital part of modern computer science: it gives us the conceptual tools that enable us to work effectively with the parallel processing architectures that have become ubiquitous over the last decade.
I'm on the committee of WoTUG, a research organisation that has promoted tools and techniques for concurrency for more than 25 years. I've been a member of the editorial board of WoTUG's CPA conference series several times, and hosted CPA 2012 at Abertay. I'm an external examiner at the University of the West of Scotland.