Visual programming was a popular field of study from the mid 1980's to the mid 1990's. The main aim was to advance the way programs are written and represented, from simple text files to graphically based or assisted systems. In view of general programming, this drive was largely unsuccessful. Despite this, a lot of interesting research has been generated and many interesting systems developed. These range from visual front-ends for existing textual languages, to purely graphical languages which spatially parse pictures and diagrams as code.
Modern IDEs have contributed solutions to many of the issues visual programming intended to address. They offer a number of tools to help navigate text files and generate commonly used templates of code. But the majority of IDEs tend to follow the same approach, usually consisting of a central text editor surrounded by tools to aid navigation and coding. Likewise, there are a number of visual programming packages available. But these too seem to follow a common approach, most often a series of graphical boxes that are linked together. This project aims to devise new representations, or bring together old representations in new ways, to help make the task of programming simpler, faster and less complicated.
This is a rough initial exploration of the topic, to help decide on the direction of the project. Some ideas are given only as rough points or questions, others are explored in more detail. Many of the ideas raised in this document have already been investigated in the literature. Others were interesting but out of the scope of the project. Finally a number of avenues and ideas are contained in the proposal that have either been implemented or added as possible extensions to the project.Download Project Proposal [ pdf (4.22 mb) | zip (3.96 mb) ].
This document provides more details about the intended implementation of the project interface. It encompasses a brief survey of the solutions that already exist, where there is room for improvement, and possible solutions that could have been considered for this project.Download Program Specification [ pdf (164 kb) | zip (154 kb) ].
Based on the program specification, the mock interface is a prototype of the possible end product produced in the course of the project. This prototype has been important in realising and finding solutions to issues likely to occur throughout the project's development. It has also been important in expressing the ideas and plans for the project to those interested. This has made feedback and critique possible, which has then been used in developing the final project interface.Download MockInterface (Win32/Win64) [ exe (1.77 mb) | zip (696 kb) ].
This is a poster detailing the project aims and the significant parts of the final program.Download Poster [ png (4.76 mb) | zip (4.56 mb) ].
This is the final presentation given on the project, presented to the honours class and any interested members of the Rhodes Computer Science faculty.Download Final Presentation [ ppt (1.09 mb) | zip (777 kb) ].
This is the final writeup of the project. The workings of the results which accompanied the writeup on a separate CD-Rom are also available below.