COMP106

Human-Centric Computing

Aims

  • To provide guidelines, concepts and models for designing and evaluating interactive systems.
  • To provide an introduction to designing and implementing graphical user interfaces.

Syllabus

  • 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.

Recommended Texts

  • 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).

Learning Outcomes

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.

Learning Strategy

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.