Human - Computer Interaction


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 know how do 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-iterated 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.

General characterization





Responsible teacher

José Miguel de Oliveira Monteiro Sales Dias


Weekly - Available soon

Total - Available soon

Teaching language

Portuguese. If there are Erasmus students, classes will be taught in English


There are no specific course prerequisites, other than the ability to communicate in English.




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

Teaching method

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 method

  • 45% 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
  • 10% Personal evaluation, depending on how much each student interacts, participates, shows effort, etc.

Subject matter

  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.