- To provide guidelines, concepts and models for designing and evaluating interactive systems.
- To provide an introduction to designing and implementing graphical user interfaces.
- Introduction (3 lectures)
What is human-centric computing? Principles of Human Computer Interaction; the human in the loop; user models; cognitive issues.
- The process of developing interactive products (7 lectures)
Lifecycle models; requirements; data gathering involving users; task analysis; design; purpose of evaluation and methods for conducting it.
Principles, standards and guidelines for interface design.
Case studies of development tasks in practice.
- Interactions (8 lectures)
Interaction styles: key based, menu based, form fill-in, command languages, natural language, direct manipulation, iconic languages.
Cultural considerations and constraints.
Affective computing; virtual characters; groupware and cooperative activity.
- Interface software design (4 lectures)
Event-driven software, state transition diagrams, statecharts.
- Implementing interfaces (8 lectures)
Overview of HTML and CSS; markup validation for Web standards.
Graphical user interfaces in Java: the Java AWT and Swing packages, components of GUIs; events and event-handlers; the Model-View-Controller architecture; Java applets.
- B. Shneiderman, C. Plaisant, M. Cohen, and S. Jacobs: Designing the user interface: strategies for effective human-computer interaction. Addison-Wesley (latest edition).
- Y. Rogers, H. Sharp, and J. Preece: Interaction design: beyond human-computer interaction. John Wiley (latest edition).
- R. Morelli and R. Wade: Java, Java, Java: object-oriented problem solving. Pearson/Prentice Hall (latest edition).
At the end of this module, students should be able to:
- identify or describe the tasks and issues involved in the process of developing interactive products for people, and the techniques used to perform these tasks;
- identify or describe and compare different styles of interaction for graphical user interfaces;
- evaluate and critique existing interactive systems, in accordance with human-centric guidelines;
- illustrate how event-driven software can be designed using standard, formal techniques;
- construct Web pages that conform to current Web standards;
- write Java programs that demonstrate simple examples of graphical user interfaces.
Formal lectures: Students will be expected to attend 3 hours of formal lectures in a typical week. Formal lectures will be used to introduce students to the concepts and methods covered by the module, reinforced by practical illustrations and exercises.
Practicals: Students will be expected to attend 1 hour of supervised computer lab practicals in a typical week. Computer lab practicals are intended to allow students to undertake practical exercises and participate in peer evaluation activities, with the possibility of immediate feedback.
Private study: In a typical week, students will be expected to devote 6-7 hours of unsupervised time to private study; private study will provide time for reflection and consideration of lecture material and background reading and completion of the assessment tasks.
Assessment: Continuous assessment will be used to test to what extent practical skills have been learnt. A final examination at the end of the module will assess the academic achievement of students.