Current Activities

YACRS (Yet Another Classroom Response System)

YACRS is a web application that allows teachers to include multiple choice and short text answer questions during lectures. The students respond using their mobile phones or other internet devices. Teachers control the software using a small floating application that can sit on top of PowerPoint or other presentation software.


ErysNotes is a lightweight alternative to JupyterNotes for introductory courses on Python programming. The main difference in the ErysNotes is designed from the start to be a web application, whereas JupyterNotes is really a desktop application that uses web technology for the user interface. In practice that means a different set of compromises, and Erys is less flexible and is note suitable for working with really big data sets, but it is a simple LTI tool that can run on a small web server.


ACJ-LTI is a proof of concept tool for using Adaptive Comparative Judgement to rank pieces of work.It can be used in a few different ways:

  • As a peer assessment tool, where students both submit and judge the work.
  • As a way of developing critical skills, where the teacher uploads a set of artefacts, and the students then rank them.
  • As an efficient and fair grading tool, where students upload work which is then ranked by teachers.

Tools for Generative Programming

Over the years I have developed quite a few software wizards to help with repetitive aspects of programming. More recently I have also been writing wizards to write these wizards. This approach programming, where a code generator is used to translate a specification in a high-level language into a customised version of a module in a conventional programming language is known as Generative Programming. These code generators will be the starting point for my Ph.D.