Past Courses

Article Index


Identity card

Title: Human Computer Interaction
Credits: 6 credits
Year: 2nd year Master degree (elective courses)
Semester 1st semester (September-January)
Language: English
Official link: Portale della Didattica
Main teacher: Fulvio Corno
Other teachers: Luigi De Russis

Class hours

Tuesday 17:30-19:00 Room 10I Class
Wednesday 11:30-13:00 Room 10I Class
Thursday 10:00-11:30 LABINF Lab (group I)
Thursday 11:30-13:00 LABINF Lab (group II)

See the Schedule section for detailed information.

Course Contents

Nowadays, computing devices are ubiquitously present and integrated in our daily life. Sensors and actuators are, indeed, embedded in home appliances, lights, or cars; wearable devices like smart watches provide information at glance and act as always-on and personal digital extensions; smartphones and tablets are widely spread. Moreover, most of such devices are Internet-connected and people communicate with them by using various interaction paradigms, ranging from "click", to "touch", to gestures, speech, or tangible manipulation. As the technology improves, however, we are challenged of how to design suitable interfaces and interactions, so that people can use such technologies with "joy" rather than "frustration".
This course would provide a strong foundation to address this challenge. In addition, the course will give students hands-on practice to master this complexity and to develop innovative solutions by adopting a modern human-centered design process while building a web application to serve a set of target users. In the end, students will learn how to design and build technologies usable, useful, and used.
The course will be held in English.

Learning Outcomes

Knowledge: Concepts of Usability, User Experience. Human-centered design processes and their application. Novel Interaction Technologies.

Skills: Developing a working prototype according to a human-centered design process. Mastering some novel interaction technologies. Experience joint development of a project in a group of engineers.


Programming skills
Knowledge on web and related technologies/languages (e.g., HTML, JS, client-server architectures, …)
Attitude towards working in teams


Course topics will cover three areas:

  1. Introduction to Human-Computer Interaction: history, the human, the computer, vision of the future (0.5 credit).
  2. Building interactive applications with a human-centered process. The main tasks and methods to design, develop, and evaluate an interactive application: needfindings strategies, low- and high-fidelity prototypes, mental models and visual design, heuristic evaluation, and basic concepts and methods for controlled experiments (3 credits of lectures and exercises). This part will focus, in general, on the design process. In parallel, the concepts will be applied to a specific application domain and a specific interaction technology and carried on during the lab hours in the course projects developed by student groups (1.5 credits).
  3. "Beyond WIMP" paradigms: e.g., tangible interaction, wearables, voice user interfaces, gestures, eye tracking, and interaction with IoT systems. Each paradigm will be discussed from different perspectives, ranging from rationale and vision, to contemporary examples and development tools (1 credit). Thematic seminars on emerging topics will also be included, as well as the illustration of specific "case studies".

Most of the topics will have a theoretical (in-class) foundation plus hands-on (in-lab) experiences by using web technologies. Students' projects will follow the proposed human-centered design process and will submit intermediate deliverables. Projects will consist of a modern web application, in which one of the "beyond WIMP" technologies is exploited for user interaction.
During the course, communication within teams and with teachers as well as project development will adopt contemporary solutions and tools (e.g., Git and GitHub, Slack, …).


The learning method is both project-based (i.e., students learn by doing a project) and problem-based (i.e., the project work starts from real users' needs), with teams of students working together towards a common goal.

Project-related activities will start since the beginning of the course and teachers will provide support and guidance for the entire semester. The project will be accompanied by deliverables to be prepared before given deadlines. The course may include live seminars by people from industry or other organizations.


The course material is available in the Schedule section and in a dedicated GitHub repository. Lectures will be video-recorded and will be made available on the Portale della Didattica, on this website, in a YouTube playlist, and on BitTorrent.

Course material encompasses slides, readings, exercises and examples (both in class and in lab), as well as additional references and links.