Course Objectives

The objective of this course is to provide a broad but complete view on the problems, methodologies and practices of designing human-computer interaction experiences, as a part of the software engineering life-cycle or of other product design processes.

Students will learn the historical background and the current technological context, the enabling technologies and, notably, the state-of-the-art interaction technologies. Students will understand how to obtain information about end user's needs and goals, their current and desired tasks, while taking into account their perception and cognitive capabilities, so that the interaction designing process can be effective. Students will follow the full HCI design process:

·        Requirements Gathering: Students will understand what HCI to design and build as a solution to an identified problem, taking into account the profile of the end-user, his/her abilities and current tasks and adopting appropriate data collection methods.

·        Design: Students will learn how to build the best UI for the problem at hand, using low-fidelity and high-fidelity prototyping approaches.

·        Heuristic Evaluation: Students will make sure people can use the proposed HCI design and will re-iterate the design appropriately, adopting heuristic evaluation principles.

·        User Studies and data collection and analysis: Students will collect user feedback and analyze, using descriptive statistics, the usability and satisfaction of the HCI design.

Curricular unit content:

  1. Introduction and basic concepts of HCI design
  2. We, the humans
  3. Them, the computers
  4. The user-centered HCI design process
  5. Analysis of users and tasks
  6. Data collection
  7. Principles and rules of interface design
  8. Visual Interfaces
  9. Low-fidelity and high-fidelity prototyping
  10. HCI design for the World Wide Web and mobility
  11. Heuristic and predictive design evaluation
  12. Design evaluation with users
  13. Statistical analysis of evaluation data
  14. Universal design and accessibility
  15. Advanced topics of HCI

The program includes a group project.

Teaching methods:

We will start with theoretical introduction to a concept, optionally followed by a discussion. Then, students will be assigned some key tasks, in the scope of a given deliverable of the course project, to test their knowledge while developing such project, allowing them to deepen their understanding of the content. The project deliverables will be discussed in class together with the Professor, to make sure of the effectiveness of the various theoretical principles that have been applied.

Evaluation methods:

50% Course project, comprising 7 deliverables, with due dates every 15 days developed during classes and finalized with a class presentation and discussion

45% A final exam over the general content

5% Personal evaluation, depending on how much each student interacts, participates and shows effort.

Teaching languageEnglish



Manuel J. Fonseca, Pedro Campos, Daniel Gonçalves, Introdução ao Design de Interfaces, FCA,

Portugal, 2012

Alan Dix et al., Human Computer Interaction. 3rd Edition, Prentice Hall, 2003, ISBN 0130461091 Web


Marc Rettig, Prototyping for Tiny Fingers, Communications of The ACM,1994