BlueJ and Greenfoot



King's College London
BlueJ and Greenfoot logos
Figure 1: BlueJ and Greenfoot logos.


Currently I am appointed as a Research associate at the BlueJ team on King's College London. As part of the team I am responsible for maintaining, extending and refining the two development environments for programming education: BlueJ and Greenfoot.
These two software are designed to help novices learn Java through a simplified interface that removes unnecessary complexity without compromising language features.
Due to COVID-19 outbreak many intended user studies for BlueJ and Greenfoot have been postponed and any research activity is conducted based on data anonymised usage data gathered through these tools. An academic paper reflecting on the analysis of these data has been submitted into a computer science education conference.

Stride promo and extension

Stride is an novel editor for programming which combines the advantages of block based programming (like Scratch) and textual programming by using frames (draggable compounds of textual code). Stride is integrated in both BlueJ and Greenfoot.

Example of a program written in Stride.
Figure 2: Example of a program written in Stride. The different frames are coded with a different colour. They can be dragged and dropped and the programmer adds the frames through keywords (i.e. 'i' for 'if').


Stride Promo
In order to boost the popularity of Stride, I was assigned the creation of a pop-up message for BlueJ that will be informing the users for its availability in BlueJ and its features. The message can be seen on Figure 3.


Stride Extension
Lately, Stride started gaining increasing attention from the research community and the team decided to reproduce it for the development of another popular programming language; Python!
Currently, a web version of Stride for Python is being implemented with the use of modern web technologies (Vue.js and Typescript). I have been appointed the coordinator of this project and I am at the moment working with the team on the design and implementation.
The final outcome is intended to be used in conjunction with a popular educational hardware device in order to program it. More on this, and the on the tool in general, will be posted in my here as soon as the first prototype is functional.