Professor, Computer Science
My research centres around software design. This includes the design of the users' interface, the parts of software that users have to deal with every day, and the programmers' interface, the internal structures and organisations of software that programmers see only when they are designing, building, or modifying software. My research in both of these areas is coloured by my longstanding interest in object-oriented approaches to design. Topics I have studied range from aliasing and object ownership, design patterns, agile methodology, via usability, visualisation and computer music, to postmodernism and the semiotics of programming.