Computing Education Projects

As software engineers, many of our research projects naturally focus on developing learning resources for our own students.

Programming in General

Active Classroom Programmer (ACP)

An Eclipse plugin and web-based IDE to encourage hands-on programming engagement, with opportunities for students to program with the teacher.

Variables in Memory

Interactive web-based activities to understand how are C/C++ variables are allocated in memory.

Programming without Coding (Blockly)

Interactive web-based activities to practice introductory programming concepts, using Blockly.

Parallel Programming


An Augmented Reality (AR) mobile app for learning parallel scheduling concepts.

Concurrency vs Parallelism

A simple Java application demonstrating why concurrency and parallelism are essential.

Object-Oriented Programming

Polymorphism Visualiser

Using analogies and visualisation to understand key polymorphism concepts.


A game-like set of activities to help understand OOP concepts using a visual analogy.


A mobile and desktop app for engaging with inheritance concepts.

Objects in Memory

Interactive web-based activities to understand how objects are allocated in memory.

Data Structures


An interactive and visual approach to understand basic fundamental data structure concepts.



Various videos for students in this course.