Reasonable programming skills.
You will construct an experimental IDE to aid programmers in writing Cascading Style Sheets (CSS) for web applications. Style sheets dictate how a web page appears, and consist of a series of rules which are applied to elements of the web page.
Determining exactly which rule should be applied to which element is not entirely trivial, which can make maintaining large style sheets difficult. The goal of the IDE will be to enable developers to immediately see the impact of any changes they make to the style sheet, without having to think about complex properties like specificity and selector overlap.
The IDE may contain the usual IDE tools, such as syntax highlighting and auto completion. It’s unique feature will be the ability of the editor to visualise to the user the dependencies between CSS rules, making the impact of any additions or refactorings clear. If time allows, the IDE may also suggest refactorings that minimise the size of the CSS code.
The IDE will be built upon an existing Python program that performs the required analyses and can suggest refactorings. The focus of this project will be implementing the UI. This may be done in any language or framework.