End User Programming  (Module M13 for the Masters in Industrial Design)

Tutors: P. Markopoulos and Jean Bernard Martens

Goals of the module

Motivation of the Course

Recent technological visions of ambient intelligence, ubiquitous computing or pervasive computing, typically proclaim the penetration of computing to more of our activities in daily and professional lives. Applications and devices are increasingly used in a social, physical and technological context that is not anticipated by the designers and developers. One plausible way for letting users control and manage the array of technologies surrounding them is to empower them to programme and develop their own applications. This observation concerns the future but is already evident in current computing practices. For example, spreadsheets allow non programmers who are specialists in their own domain to create complex applications that suit their professional requirements. Simulations are another such example. This course looks at interaction design from the perspective of handing over some programming/configuration tasks to end-users. It examines the potential of this approach, known solutions and techniques for assessing such solutions.

Course Organisation

The course shall begin with a review of the most influential works in end user programming. Students will be asked to review and present works such as Lego Mindstorms, Agent Sheets, Spreadsheets, visual languages, KidSim, etc.

An introduction to the “Cognitive Dimensions” theory for the qualitative evaluation of information artefacts will be given and students will be asked to evaluate some exemplar systems using this approach.

Finally, students will be asked to develop their own end-user programming application and to rationalise their design on the basis of the cognitive dimensions theory. To help relate the material to their current interests, we shall seek to develop an exercise involving tangible interaction for gaming.




Lecture / Presentations

Deadlines/Presentations by students

Homework Description

Wed 9/11/2005



Introduction to end user programming




Read research paper from reading list and prepare presentation

Thu 10/11




Evaluation of End-User Programming

Assignment 2: Presentation of research papers



Read tutorial on Cognitive Dimensions and design guidelines for end-user programming environments based on flow

Fri 11/11



Assignment 2.  Upload the minutes/summary of the 2-pair discussion on the examples of T.Green by 17:00.


Work through one example of Thomas Green as a pair. 

Discuss it with another team. 

Summarize your discussion orally to the tutors and keep a summary on a 1A4.


Optional Exra Assignment. (Individual work) - evaluate the environment you presented based on the Cognitive dimensions. 


Mon 14/11 9:30-11:00 Briefing for mini-project   In teams of 3. Evaluate the CanData environment using Cognitive Dimensions.

Redesign using one of the different EUP paradigms explored in the first assignment..

Prepare a concept prototype of the notation/enviornment in whatever form you like (physical model, storyboard, flash, powerpoint, etc.)

Conduct a short concept evaluation.

Tue 15/11


Intermediate feedback from tutors


Panos and J-B do a walk around and discuss your progress and problems.

Wed 16/11 9:30-12:00   Presentations of mini project Present your desing in 10 minutes to the group.

A report should be prepared to describe the concept, its rationale, linking to the evaluation and the ideas from EUP literature you hav used.

Wed 16/11 17:30  Deadline for handing in reports


Ground Rules for Presentations

Ground Rules for Reporting

  1. Each report should have a cover, including the names of the contributors (individual or team members)/
  2. The report must be handed in as paper by the stated deadline and also sent by email as a pdf file.
  3. Reports should be formatted in any professional format you like...but, you could use the simple template provided.

Reading List