Dr Adam Sampson

Contact info

Biography

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.

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.

In addition, I supervise a variety of student research projects at undergraduate and postgraduate levels. I'm particularly interested in projects that sit at the intersection(s) 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!

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.

One focus of my current work is the use of concurrency in scientific simulation, to model naturally-concurrent systems with very large numbers of interacting entities, and to exploit that natural concurrency in order to obtain efficient parallel execution. I work within the cancer and games groups at Abertay -- and with colleagues at other universities -- on a variety of scientific problems.

A particular interest is in multi-scale simulations of cancer cell growth, linking detailed low-level models of chemical signalling within the cell to larger-scale physical simulations of cell interactions. However, I'm interested in developing reusable technologies for these kinds of problems -- and the approaches that we use to study the treatment of cancer can equally well be applied to the development of electricity distribution networks.

My other major area of interest is in the tools that we use to build software systems -- in particular, support for safe, efficient, concurrent software development in modern programming languages. The last five years have seen a resurgence in interest in message-passing concurrency, with languages such as Go and Rust showing substantial influence from CSP and CSP-derived languages (e.g. occam, which I spent most of my formative years as a researcher working with). This period has also -- finally -- started to show a shift away from unsafe languages such as C and C++, and a move towards safety and security by construction in software engineering. Along with cybersecurity colleagues within AMG, I work on projects that aim to improve the correctness and security of complex software systems.

2009

More Information

Esteem

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.