All of the software required for this course is pre-installed on the Informatics DICE systems. It is also freely available for download onto your own machine, and the FAQ has some hints for installing this on your own Mac, Linux or Windows Machine. If you have any problems installing the sofware, then posting on the Forum is probably the best way of finding someone who knows the answer. Do let us know if you find something that doesn't work, or something we can add to the software pages to make life easier for other people.

Note that failure of your own machine will not be taken into account when assessing your demonstration or submission, so you may want to make sure that your code runs on the DICE systems as well (and that you take good backups!).


You will require Java Standard Edition 10 for this course - we do not use any specific features of this language version, but the libraries for the assignments will be distributed (only) for this version. (See the FAQ to install on your own machine).


BlueJ is an "interactive development environment" (IDE). This is an application that you use for writing Java programs. There are many different IDEs for Java, but BlueJ was developed specifically for teaching introductory object-oriented programming and it allows you to visualise object relationships. This means that you will need BlueJ initially for the lab exercises, although Eclipse (below) will be used for the assignments. (See the FAQ to install on your own machine).


Eclipse is a "professional" IDE. This has more features than BlueJ, but it does not include the object visualisation capabilities. Eclipse is required for the assignments (BlueJ does not support the assignment libraries). (See the FAQ to install on your own machine).

SceneBuilder & JavaFx

The IJP assignments use a toolkit called JavaFx for their graphical interfaces. This is a more modern system than the Swing toolkit used in the BlueJ book. Importantly, it also has a graphical SceneBuilder tool for designing interfaces interactively. JavaFx is now part of the standard Java distribution. SceneBuilder is distributed independently and must be installed separately. (See the FAQ to install on your own machine).