Department of Computer Science

Publicly available software

Department members often develop software in the course of their research, teaching and administrative duties, and some has been made freely available for downloading.

Software developed by the department

Algorithm Animations
A full set of notes covering Data Structures and Algorithms includes animations of many common algorithms.

Lightweight Java Visualiser
The Lightweight Java Visualiser is a tool for visualising Java data structures. Download If you want to use the visualiser outside the Computer Science labs, you will also need to install Graphviz (it's free). Add the Graphviz bin directory to your PATH (or edit to set DOT_COMMAND to the location of dot.exe). Compile and make it available to your Java project. For more information, see the tutorial, or study the examples.

Marama is a set of tools for building diagramming applications in Eclipse. Marama provides a set of meta-tools to specify complex diagram-based meta-models, shapes and connectors and views. It also supports complex behaviour specification via OCL constraints, visual event handlers and a comprehensive API. Marama aims for very rapid prototyping of multi-view, multi-user diagramming apps with live update and end-user accessible meta-tools. See here for more information.

ALM - The Auckland Layout Model
The Auckland Layout Model (ALM) is a novel technique for specifying 2D layout as it is used for arranging the controls in a GUI. The model allows the specification of constraints based on linear algebra, and an optimal layout is calculated using linear programming. The described technique supports the dynamic adaptation of a layout to changes in the environment, e.g. window size, and offers more flexibility than other layout managers. There are implementations for Java, C# and C++. See the project page.


Other software

We also provide access a range of Open Source and Free software and Microsoft Corporation's MSDN software.

Free Software


A large repository of free software is available from the Computer Science software mirror, including operating systems, applications and documentation.

Microsoft Software

Microsoft Corporation provides a number of software packages as part of the Microsoft Developer Network (MSDN). You can download this software provided that you sign an intellectual property agreement and provided you are enrolled in a course that uses MSDN software such as .Net.