Graduate Projects, Peter Andreae:

Programming by Demonstration Environment for 1st year students


Spreadsheets provide a wonderful way for users to construct their own applications; as long as the applications are of a certain restricted kind. A key feature that makes them so good is that the data structures that the application uses are all visible and directly manipulatable by the user. To bring the advantages of spreadsheets to a wider class of programming, we should enable programmers to see and manipulate the data structures of their programs.

A recent MSc student (David Gilligan) constructed two prototypes of a Programming by Demonstration environment ( abstract) for constructing small programs in Pascal. He also identified lots of ways in which these prototypes could be further developed and evaluated. There are a variety of projects to build on his work, some of which involve inference for machine learning, and others that have more to do with HCI and Software Engineering.

When David developed the system, we were still using Pascal for COMP102. We have now changed to Java. The underlying model of his system now needs to be changed to deal with the object oriented nature of Java.

This is an MSc or PhD project, rather than an honours project, though there may be specific components that could be identified and extracted to make a good honours project.