Research interests fall roughly into two areas.
For a number of reasons, learning something new can always be challenging. Regardless of the targeted domain, technology often has the potential to be helpful in the learning process. However, this needs careful design considerations to ensure that learning is effective.
This research area includes the development of educational software applications, for a wide range of domains (e.g. programming, mathematics, te reo, sign language), delivered using a wide range of technologies (e.g. mobile apps, web-based apps, augmented reality, virtual reality). We believe each solution needs to be carefully customised to optise effectiveness.
Parallel computing involves employing more than one processing element to complete a common job in less time by decomposing it into smaller pieces and executing the pieces concurrently. Hence, developing a parallel program is notoriously more difficult in comparison to a sequential program and is further complicated for desktop or mobile applications as opposed to many scientific and engineering applications.
With mainstream processors widely becoming multi-core, parallelising desktop and mobile applications is a must if the concurrency potential of these processors is to be realised. This research aims at helping the programmer develop parallel programs with as little change to the familiar development process. This makes it easier to develop interactive parallel software.