Course information

Degree
Corso di Laurea Triennale in Informatica e Comunicazione Digitale (Marina Militare)Bachelor's degree in Computer Science and Digital Communication (Italian Navy)
Scheduling
3rd year, 1st semester
Institution
University of Bari Aldo Moro · Department of Computer Science

Informazioni utili

Settore Scientifico Disciplinare
INFO-01/A
Sede virtuale (e-learning)
https://elearning.uniba.it/course/view.php?id=13370

Obiettivi formativi

L’insegnamento di Interazione Uomo-Macchina riguarda la progettazione di sistemi software che, oltre ad essere funzionali, siano sicuri, efficienti, accattivanti e piacevoli da usare. Ciò include la progettazione di interfacce utente efficaci, ma implica anche la comprensione dei compiti che le persone vogliono svolgere e dell’ambiente in cui li svolgeranno.

Lo studente acquisirà principi, paradigmi, metodologie, tecniche e tecnologie fondamentali per la progettazione e la valutazione di sistemi interattivi usabili.

Prerequisiti

È richiesto che lo studente abbia le conoscenze di base della progettazione e sviluppo di sistemi acquisite durante l’insegnamento di “Ingegneria del Software”.

Contenuti di insegnamento (Programma)

  1. Sistemi interattivi e interfacce d’uso (6 ore)
    • Le dimensioni della complessità
    • La diversità degli utenti
    • La velocità del cambiamento
    • Il ruolo dell’interfaccia utente
    • La Human Computer Interaction
  2. Usabilità (8 ore)
    • Un modello dell’interazione
    • Affordance e feedback
    • Usabilità
    • User Experience (UX)
    • Standard ISO per l’usabilità, per la User Experience e per la qualità dei sistemi - interattivi
    • Obiettivi di usabilità e UX
    • Usabilità universale
  3. L’ingegneria della usabilità (6 ore)
    • Le diverse ingegnerie
    • Il modello “a cascata”
    • Il ciclo compito-artefatto
    • Modelli iterativi
    • Progettazione human-centred
    • Il modello ISO 9241-210
    • Il ruolo dell’utente nel processo di progettazione
    • Costi e benefici
  4. Raccolta dei dati (6 ore)
    • Che cosa sono i requisiti di prodotto
    • Il processo di definizione dei requisiti
    • Osservazioni sul campo
    • Interviste
    • Questionari
    • Focus group
    • Suggerimenti spontanei degli utenti
    • Analisi della concorrenza
    • Scenari d’uso
    • I casi d’uso
  5. I prototipi (4 ore)
    • Che cos’è un prototipo
    • Tipi di prototipi
  6. Principi e linee guida (5 ore)
    • Principi, linee guida, regole di progetto, standard
    • Gli standard della human-system interaction
    • I principi del dialogo secondo la ISO 9241-110
      • Adeguatezza al compito
      • Auto-descrizione
      • Conformità alle aspettative
      • Adeguatezza all’apprendimento
      • Controllabilità
      • Tolleranza verso l’errore
      • Adeguatezza all’individualizzazione
  7. Progettare per l’errore (3 ore)
    • L’errore umano
    • Prevenzione
    • Diagnosi
    • Correzione
  8. Interaction design (12 ore)
    • Design dell’interazione e comunicazione visiva
    • Le leggi della Gestalt
    • I manuali di stile
    • Design pattern
  9. Valutare l’usabilità (12 ore)
    • Verifiche e convalide
    • Valutazioni euristiche
    • Test di usabilità
    • Test formativi e test sommativi
    • Test di compito e test di scenario
    • Misure
    • Come condurre un test di usabilità
    • Il rapporto di valutazione
    • Test di usabilità: costi e benefici
    • Altre tecniche di valutazione
  10. Accessibilità

Testi di riferimento

  • Sharp, H., Rogers, Y., & Preece, J. (2021). Interaction design. Oltre l’interazione uomo-macchina.
  • R. Polillo, Facile da usare - Una moderna introduzione alla ingegneria dell’usabilità, Edizioni Apogeo, giugno 2010. Disponibile gratuitamente in vari formati presso la pagina web dell’autore

Gli studenti che lo desiderano possono ottenere i testi in prestito dalla Biblioteca. Può convenire verificarne la disponibilità mediante il Sistema Bibliotecario di Ateneo e contattare la biblioteca per concordare il prestito.

Note ai testi di riferimento

Sulla piattaforma elearning il docente mette a disposizione degli studenti le slide utilizzate in aula ed eventuale altro materiale didattico a supporto delle lezioni.

Testo consigliato per approfondire specifici argomenti

  • Norman, D. A. (2019). La caffettiera del masochista. Il design degli oggetti quotidiani.

Organizzazione della didattica

Ore
Totali Didattica frontale Laboratorio ed esercitazioni Studio individuale
150 ore 32 ore 30 ore di laboratorio ed esercitazioni guidate 88 ore
CFU/ETCS
6 CFU 4 CFU 2 CFU /

Metodi didattici

  • Lezioni frontali con l’ausilio di slide che riportano esempi per illustrare gli argomenti trattati.
  • Esercitazioni pratiche sull’utilizzo dei vari principi e tecniche presentate a lezione attraverso esercizi da svolgere singolarmente.
  • Un caso di studio da svolgere, preferibilmente, in gruppo in cui gli studenti mettono in pratica i concetti presentati a lezione.
  • Gli studenti non frequentanti possono lavorare singolarmente prendendo accordi con il docente.
  • Utilizzo della piattaforma di e-learning del Dipartimento di Informatica per la distribuzione del materiale e per le interazioni tra docenti e studenti durante e dopo il corso.

Risultati di apprendimento previsti

Conoscenza e capacità di comprensione

Il principale risultato di apprendimento previsto è la conoscenza relativa a:

  • principi, paradigmi, metodologie, tecniche e tecnologie fondamentali per la progettazione dell’interazione con l’utente
  • caratteristiche di qualità che sono significative dal punto di vista dell’utente, in particolare usabilità e User eXperience (UX)

Gli studenti acquisiscono tale conoscenza sia attraverso le lezioni frontali ed eventuale partecipazione a seminari specifici, sia attraverso esercitazioni individuali e in laboratorio, che consentono loro di mettere in pratica e verificare quanto appreso, acquisendo così consapevolezza della loro capacità di comprensione e di come migliorarle.

Conoscenza e capacità di comprensione applicate

Per consentire agli studenti di applicare la conoscenza acquisita, essi svolgono:

  • esercitazioni individuali e in laboratorio.
  • un caso di studio, nel quale devono applicare alcune delle tecniche presentate a lezione, selezionando quelle più adeguate allo specifico caso.

La valutazione delle esercitazioni svolte in aula e del caso di studio contribuiscono alla valutazione finale dello studente e quindi al voto conseguito all’esame di profitto.

Competenze trasversali

Autonomia di giudizio

Obiettivo importante del corso è che lo studente raggiunga una significativa autonomia di giudizio per quanto riguarda: 1) le scelte di compromesso relativamente alle qualità del software da enfatizzare nel prodotto da sviluppare; 2) ulteriori scelte da operare durante la progettazione e lo sviluppo dei moduli di un sistema software relativi all’interazione con gli utenti; 3) la gestione delle problematiche relative all’uso di tecniche di progettazione e valutazione di usabilità e UX durante il processo di sviluppo del software.

Abilità comunicative

Gli studenti sono stimolati a lavorare in gruppo e sono spesso invitati a illustrare il risultato di esercizi svolti autonomamente o in gruppo, proprio con l’obiettivo di sviluppare le loro abilità comunicative. A questo scopo, agli studenti è anche richiesto di sviluppare casi di studio in gruppo, in cui applicare alcune delle tecniche che hanno appreso, eventualmente selezionando quelle che essi ritengono più appropriate (in base alla loro autonomia di giudizio). Per gli studenti che frequentano la presentazione di casi di studio avviene durante il semestre; per gli studenti che non frequentano è parte della prova orale d’esame e consente allo studente di mostrare le proprie abilità comunicative, visto che deve illustrare il lavoro svolto, eventualmente utilizzando delle slide che ha predisposto, secondo le indicazioni del docente.

Capacità di apprendere in modo autonomo

Per stimolare la capacità di apprendere in modo autonomo, agli studenti sono consigliati, oltre al libro di testo principale, altri testi in cui approfondire alcuni specifici argomenti, alcuni non trattati in dettaglio dal docente, sui quali lo studente può poi discutere a lezione e riferire anche durante l’esame. Gli studenti possono essere invitati a partecipare a eventi o seminari tenuti da altri docenti, interni o in visita al dipartimento, e nelle lezioni successive è richiesto agli studenti di discutere il contenuto di tali seminari.

Valutazione

Modalità di verifica dell’apprendimento

La verifica dei risultati formativi raggiunti avviene durante l’esame finale, che prevede:

  1. una prova scritta semi-strutturata (domande aperte e chiuse) che verte su tutti gli argomenti del corso (durata 120 minuti);
  2. un caso di studio sviluppato in gruppo.

Il risultato di ciascuna prova superata è valido per l’intero anno accademico in corso (8 appelli d’esame). La prova scritta è valutata in 27-esimi. Il caso di studio è valutato con un punteggio da 0 a 5. Il voto finale è ottenuto sommando i voti conseguiti alle due prove. Il voto finale viene comunicato tramite la piattaforma Esse3, dove lo studente può accettare o rifiutare il voto conseguito.

Il caso di studio viene assegnato durante il semestre di lezioni. Gli studenti che non frequenteranno le lezioni devono incontrare il docente all’inizio del semestre per definire il caso di studio.

La prova scritta e il caso di studio possono essere presentati in due appelli differenti dello stesso anno accademico.

La consegna del caso di studio deve avvenire 7 giorni prima della data di appello in cui si intende sostenere almeno la prova orale. Il voto acquisito per il caso di studio è valido per tutti gli appelli dell’a.a. 2025-2026.

NOTA 1: Una prima prova scritta di valutazione intermedia, con valore esonerante, si tiene in prossimità della settimana di interruzione delle lezioni, normalmente collocata intorno alla metà di novembre. Una seconda prova scritta di valutazione intermedia, con valore esonerante, si tiene in concomitanza della data degli appelli dello stesso anno accademico.

NOTA 2: Lo studente che vuole sostenere il proprio esame in un appello deve sempre prenotarsi su ESSE3 entro la data di scadenza, che usualmente è tre giorni prima della data della prova scritta.

Criteri di valutazione

Conoscenza e capacità di comprensione

Lo studente deve dimostrare di saper utilizzare metodologie appropriate per la progettazione e valutazione di un sistema software, valutare la corretta applicazione delle tecniche utilizzate e redigere una documentazione chiara e completa.

Conoscenza e capacità di comprensione applicate

Si valuta la presentazione del caso di studio per verificare le competenze acquisite dallo studente e la sua capacità di sintesi nonché la chiarezza di esposizione, la capacità di fare confronti significativi tra metodologie, tecniche e tecnologie diverse adottate e riportare un proprio giudizio critico.

Autonomia di giudizio

Lo studente dovrà essere in grado di applicare opportune soluzioni per lo sviluppo del sistema software.

Si valuta la presentazione del caso di studio per verificare le competenze acquisite dallo studente e la sua capacità di sintesi nonché la chiarezza di esposizione, la capacità di fare confronti significativi tra metodologie, tecniche e tecnologie diverse adottate e riportare un proprio giudizio critico.

Si valuta la prova scritta con domande a risposta multipla, chiuse e/o aperte, per accertare le conoscenze di base dello studente.

Abilità comunicative

Lo studente dovrà essere in grado di produrre una documentazione chiara e contenente le informazioni necessarie per il sistema software sviluppato.

Capacità di apprendere

Lo studente deve dimostrare abilità nell’approfondire i concetti mediante l’autoapprendimento attraverso lo studio del materiale fornito dal docente; capacità di completare in modo autonomo il percorso formativo previsto dal testo di riferimento, oltre ai contenuti previsti dal programma di insegnamento.

Criteri di misurazione dell’apprendimento e di attribuzione del voto finale

Voto Descrittori
< 18 insufficiente Conoscenze frammentarie e superficiali dei contenuti, errori nell'applicare i concetti, descrizione carente.
18 - 20 Conoscenze dei contenuti sufficienti ma generali, descrizione semplice, incertezze nell'applicazione di concetti teorici.
21 - 23 Conoscenze dei contenuti appropriate ma non approfondite, capacità di applicare i concetti teorici, capacità di presentare i contenuti in modo semplice.
24 - 25 Conoscenze dei contenuti appropriate ed ampie, discreta capacità di applicazione delle conoscenze, capacità di presentare i contenuti in modo articolato.
26 - 27 Conoscenze dei contenuti precise e complete, buona capacità di applicare le conoscenze, capacità di analisi, descrizione chiara e corretta.
28 - 29 Conoscenze dei contenuti ampie, complete ed approfondite, buona applicazione dei contenuti, buona capacità di analisi e di sintesi, descrizione sicura e corretta.
30
30 e lode
Conoscenze dei contenuti molto ampie, complete ed approfondite, capacità ben consolidata di applicare i contenuti, ottima capacità di analisi, di sintesi e di collegamenti interdisciplinari, padronanza di descrizione.

Altre informazioni

Si suggerisce agli studenti di affidarsi esclusivamente alle informazioni/comunicazioni fornite sui siti ufficiali del Dipartimento di Informatica, ovvero sui gruppi social solo se costituiti e amministrati esclusivamente dai docenti dei relativi insegnamenti:

I programmi degli insegnamenti sono disponibili presso https://programmi.di.uniba.it/

Le informazioni che tutti gli studenti dovrebbero conoscere sono scritte nei Regolamenti didattici e manifesti degli studi disponibili nel sito https://www.uniba.it/it/ricerca/dipartimenti/informatica/didattica/corsi-di-laurea/corsi-di-laurea

Si suggerisce agli studenti di diffidare delle informazioni e dei materiali circolanti su siti o gruppi social non ufficiali, poiché spesso sono risultati non affidabili, non corretti o incompleti. Per ogni dubbio, chiedere un incontro al docente secondo le modalità previste per il ricevimento.


Link al corso sulla piattaforma e-learning: https://elearning.uniba.it/course/view.php?id=13370

Useful information

Scientific-disciplinary sector
INFO-01/A
Virtual classroom (e-learning)
https://elearning.uniba.it/course/view.php?id=13370

Learning objectives

The Human-Computer Interaction course focuses on the design of software systems that are not only functional but also safe, efficient, engaging, and pleasant to use. This encompasses the design of effective user interfaces but also entails understanding the tasks people wish to perform and the environments in which they will carry them out.

Students will acquire the fundamental principles, paradigms, methodologies, techniques, and technologies for the design and evaluation of usable interactive systems.

Prerequisites

Students are required to possess basic knowledge of system design and development, acquired during the “Software Engineering” course.

Course content (Syllabus)

  1. Interactive systems and user interfaces (6 hours)
    • Dimensions of complexity
    • User diversity
    • The pace of change
    • The role of the user interface
    • Human-Computer Interaction
  2. Usability (8 hours)
    • An interaction model
    • Affordance and feedback
    • Usability
    • User Experience (UX)
    • ISO standards for usability, User Experience, and interactive system quality
    • Usability and UX goals
    • Universal usability
  3. Usability engineering (6 hours)
    • Different engineering approaches
    • The “Waterfall” model
    • The task-artifact cycle
    • Iterative models
    • Human-centered design
    • The ISO 9241-210 model
    • The user’s role in the design process
    • Costs and benefits
  4. Data collection (6 hours)
    • What product requirements are
    • The requirements definition process
    • Field observations
    • Interviews
    • Questionnaires
    • Focus groups
    • Spontaneous user suggestions
    • Competitor analysis
    • Usage scenarios
    • Use cases
  5. Prototypes (4 hours)
    • What a prototype is
    • Types of prototypes
  6. Principles and guidelines (5 hours)
    • Principles, guidelines, design rules, standards
    • Human-system interaction standards
    • Dialogue principles according to ISO 9241-110
      • Suitability for the task
      • Self-descriptiveness
      • Conformity with user expectations
      • Suitability for learning
      • Controllability
      • Error tolerance
      • Suitability for individualization
  7. Designing for error (3 hours)
    • Human error
    • Prevention
    • Diagnosis
    • Correction
  8. Interaction design (12 hours)
    • Interaction design and visual communication
    • Gestalt principles
    • Style guides
    • Design patterns
  9. Evaluating usability (12 hours)
    • Verification and validation
    • Heuristic evaluations
    • Usability testing
    • Formative and summative testing
    • Task-based and scenario-based testing
    • Metrics
    • Conducting a usability test
    • The evaluation report
    • Usability testing: costs and benefits
    • Other evaluation techniques
  10. Accessibility

Reference texts

  • Sharp, H., Rogers, Y., & Preece, J. (2021). Interaction Design: Beyond Human-Computer Interaction.
  • R. Polillo, Facile da usare - Una moderna introduzione alla ingegneria dell’usabilità [Easy to Use: A Modern Introduction to Usability Engineering], Edizioni Apogeo, June 2010. Available for free in various formats on the author’s webpage

Students may borrow these texts from the Library. It is advisable to check availability via the University Library System and contact the library to arrange the loan.

Notes on reference texts

The lecturer makes the slides used in class, as well as any additional teaching materials supporting the lessons, available to students on the e-learning platform.

  • Norman, D. A. (2019). La caffettiera del masochista. Il design degli oggetti quotidiani [The Design of Everyday Things].

Course organization

Hours
Total Lectures Laboratory and exercises Individual study
150 hours 32 hours 30 hours of laboratory and guided exercises 88 hours
CFU/ECTS
6 CFU 4 CFU 2 CFU /

Teaching methods

  • Lectures supported by slides featuring examples to illustrate the topics covered.
  • Practical sessions focusing on the application of the principles and techniques presented in class, involving individual exercises.
  • A case study—ideally carried out in groups—where students apply the concepts presented in class.
  • Non-attending students may work individually, subject to prior agreement with the instructor.
  • Use of the Department of Computer Science’s e-learning platform for distributing materials and facilitating interaction between instructors and students during and after the course.

Expected learning outcomes

Knowledge and understanding

The primary intended learning outcome is knowledge regarding:

  • the principles, paradigms, methodologies, techniques, and technologies fundamental to user interaction design
  • quality characteristics significant from the user’s perspective, particularly usability and User Experience (UX)

Students acquire this knowledge through lectures and—where applicable—participation in specific seminars, as well as through individual and laboratory exercises; these allow them to put what they have learned into practice and verify their understanding, thereby gaining insight into their comprehension skills and how to improve them.

Applying knowledge and understanding

To enable students to apply the knowledge they have acquired, they carry out:

  • individual and laboratory exercises.
  • a case study, in which they must apply some of the techniques presented in class, selecting those most appropriate for the specific case.

The assessment of the in-class exercises and the case study contributes to the student’s overall evaluation and, consequently, to the grade achieved in the final exam.

Soft skills

Independent judgment

A key objective of the course is for students to achieve a significant level of independent judgment regarding: 1) trade-off decisions concerning which software qualities to emphasize in the product being developed; 2) decisions made during the design and development of software system modules related to user interaction; and 3) managing issues related to the use of usability and UX design and evaluation techniques throughout the software development process.

Communication skills

Students are encouraged to work in groups and are frequently asked to present the results of exercises—whether completed individually or collaboratively—specifically to foster the development of their communication skills. To this end, students are also required to develop group case studies, applying techniques they have learned and selecting those they deem most appropriate (exercising their independent judgment). For attending students, case study presentations take place during the semester; for non-attending students, the presentation is part of the oral exam, allowing them to demonstrate their communication skills by explaining their work—potentially using slides prepared according to the instructor’s guidelines.

Ability to learn independently

To foster independent learning, students are recommended—in addition to the main textbook—other resources for exploring specific topics in greater depth (including some not covered in detail by the instructor), which they can then discuss in class or report on during the exam. Students may also be invited to attend events or seminars led by other faculty members or visiting scholars, and are subsequently required to discuss the content of these seminars in class.

Assessment

Assessment methods

Assessment of learning outcomes takes place during the final exam, which consists of:

  1. a semi-structured written test (open and closed questions) covering all course topics (duration: 120 minutes);
  2. a group-based case study.

The result of each successfully completed test is valid for the entire current academic year (8 exam sessions). The written test is graded out of 27. The case study is graded on a scale of 0 to 5. The final grade is the sum of the scores obtained in the two tests. The final grade is communicated via the Esse3 platform, where the student can accept or reject the grade.

The case study is assigned during the teaching semester. Students who do not attend classes must meet with the professor at the beginning of the semester to define the case study.

The written test and the case study may be completed during two different exam sessions within the same academic year.

The case study must be submitted 7 days prior to the exam session date on which the student intends to take the oral component (or the final assessment). The grade obtained for the case study is valid for all exam sessions in the 2025-2026 academic year.

NOTE 1: A first intermediate written test, which grants exemption from the corresponding part of the final exam, is held around the mid-semester break (usually mid-November). A second intermediate written test, which also grants exemption, is held concurrently with the scheduled exam sessions of the same academic year.

NOTE 2: Students wishing to take the exam during a specific session must always register via ESSE3 by the deadline, which is usually three days before the written test date.

Assessment criteria

Knowledge and understanding

Students must demonstrate that they can use appropriate methodologies for the design and evaluation of a software system, assess the correct application of the techniques used, and produce clear and complete documentation.

Applying knowledge and understanding

The case study presentation is evaluated to verify the skills acquired by the student and their ability to summarize, as well as the clarity of the presentation, the ability to make meaningful comparisons between the different methodologies, techniques, and technologies adopted, and to express their own critical judgment.

Independent judgment

Students must be able to apply appropriate solutions for the development of the software system.

The case study presentation is evaluated to verify the skills acquired by the student and their ability to summarize, as well as the clarity of the presentation, the ability to make meaningful comparisons between the different methodologies, techniques, and technologies adopted, and to express their own critical judgment.

The written test, with multiple-choice, closed, and/or open questions, is evaluated to ascertain the student’s basic knowledge.

Communication skills

Students must be able to produce clear documentation containing the information required for the software system developed.

Learning skills

Students must demonstrate the ability to deepen their understanding of the concepts through self-study of the material provided by the lecturer, and the ability to independently complete the learning path set out in the reference text, in addition to the contents of the course syllabus.

Grading criteria and final mark

Grade Descriptors
< 18 fail Fragmentary and superficial knowledge of the contents, errors in applying concepts, poor description.
18 - 20 Sufficient but general knowledge of the contents, simple description, uncertainty in applying theoretical concepts.
21 - 23 Appropriate but not in-depth knowledge of the contents, ability to apply theoretical concepts, ability to present the contents in a simple way.
24 - 25 Appropriate and broad knowledge of the contents, fair ability to apply knowledge, ability to present the contents in a structured way.
26 - 27 Precise and complete knowledge of the contents, good ability to apply knowledge, analytical skills, clear and correct description.
28 - 29 Broad, complete, and in-depth knowledge of the contents, good application of the contents, good analytical and synthesis skills, confident and correct description.
30
30 cum laude
Very broad, complete, and in-depth knowledge of the contents, well-established ability to apply the contents, excellent analytical and synthesis skills and ability to make interdisciplinary connections, mastery of description.

Other information

Students are advised to rely exclusively on information and communications provided on the official websites of the Department of Computer Science, or on social media groups only if they are established and administered solely by the course instructors:

Course syllabi are available at https://programmi.di.uniba.it/

Information that all students should be aware of is contained in the academic regulations and study program outlines available at https://www.uniba.it/it/ricerca/dipartimenti/informatica/didattica/corsi-di-laurea/corsi-di-laurea

Students are advised to be wary of information and materials circulating on unofficial websites or social media groups, as these have often proven to be unreliable, incorrect, or incomplete. If you have any questions, please request a meeting with the instructor during their scheduled office hours.


Link to the course on the e-learning platform: https://elearning.uniba.it/course/view.php?id=13370