Vai al contenuto principale
Oggetto:
Oggetto:

Istituzioni di Interazione Uomo Macchina

Oggetto:

Additional Human-computer Interaction

Oggetto:

Anno accademico 2023/2024

Codice dell'attività didattica
MFN0986
Docenti
Cristina Gena (Titolare)
Fabio Ciravegna (Titolare)
Corso di studi
[008515] Laurea magistrale in informatica
Anno
1° anno 2° anno
Periodo didattico
Primo semestre
Tipologia
A scelta dello studente
Crediti/Valenza
6 CFU - Numero di ore - Number of hours: 24 (in aula) + 30 (in laboratorio)
SSD dell'attività didattica
INF/01 - informatica
Modalità di erogazione
Tradizionale
Lingua di insegnamento
Italiano
Modalità di frequenza
Facoltativa
Tipologia d'esame
Scritto più orale obbligatorio
Prerequisiti

Si richiede una buona conoscenza delle basi di dati (fornita da Basi di Dati), dell'analisi e della progettazione object-oriented (fornita dagli insegnamenti di Programmazione II e di Algoritmi e strutture dati) e dei fondamenti della programmazione distribuita (fornita da Programmazione III). Lo/a studente/essa deve inoltre avere la capacità di scrivere, compilare e verificare la correttezza di programmi in Java.
Insegnamenti propedeutici (forniscono le competenze attese in ingresso): Basi di dati e sperimentazioni, Algoritmi e sperimentazioni, Programmazione II and III.
The student is requested to have good knowledge of data base systems (provided by the Basi di Dati course), object-oriented analysis and design (provided by courses such as Programmazione II, Algoritmi e Strutture Dati), foundations of distributed programming (provided by the Programmazione III course). Moreover the student must be able to write, compile and verify the correctness of Java programs.
Preparatory courses (providing the expected entry skills): Basi di dati e sperimentazioni, Algoritmi e sperimentazioni, Programmazione II and III. .

Mutuato da
Oggetto:

Sommario insegnamento

Oggetto:

Obiettivi formativi

Nella progettazione e sviluppo di un’applicazione software si devono infatti tenere in conto due aspetti fondamentali:

  1. l’interazione con l’utente che, indipendentemente dall’efficacia delle funzionalità offerte da un’applicazione, influenza sensibilmente il suo successo in termini di utilizzo. L’applicazione deve quindi essere usabile ed accessibile per permettere un uso agevole del software e prevenirne l’abbandono da parte degli utenti;
  2. l’implementazione dell’applicativo, che richiede di guardare “dietro all’interfaccia utente” per andare a fondo su aspetti architetturali e tecnologici che possono influenzare non solo le prestazioni dell’applicazione, la sua scalabilità e robustezza, ma anche le tipologie di servizio che possono effettivamente essere offerte.

Partendo da queste considerazioni, l’insegnamento concorre agli obiettivi formativi dell'ambito propedeutico del Corso di Laurea Magistrale in Informatica (LM18) e fa parte dell’area Informatica caratterizzante. È mirato a fornire alle studentesse e agli studenti solide conoscenze di base sull'interazione uomo-macchina e sulle metodologie per la progettazione e lo sviluppo di applicazioni mobili.

L'insegnamento si pone quindi un duplice obiettivo: da una parte, fornire la conoscenza di base necessaria per il disegno corretto di interazioni persona-macchina, che sta alla base della progettazione di applicazioni di ogni genere (web e non, mobili, etc.). Una parte dell’insegnamento sarà dedicata alla visualizzazione di dati di grandi dimensioni. Dall’altra, fornire la conoscenza di base necessaria per la progettazione e lo sviluppo di applicazioni Web interattive, accessibili da terminali desktop e mobili (come gli smartphones), e caratterizzate da una logica applicativa mediamente complessa.

Più precisamente, per quanto riguarda l'interazione persona-macchina, verranno acquisite competenze sia teoriche sia pratiche nel disegno corretto di interazioni, con specifico riferimento alla progettazione user-centered.

Per quanto riguarda la visualizzazione di dati verranno affrontate le principali basi teoriche dell’interazione con grandi quantità di dati e verranno poi introdotte le principali tecniche di analisi in Python, usando la libreria Pandas e la visualizzazione usando le librerie MatplotLib e Seaborn. 

When designing and developing software applications there are two fundamental aspects to be considered: (i) the role of the interaction with the user which, regardless of the efficacy of the functions offered by the application, sensibly influences its success in terms of usage. The application must be usable and accessible in order to allow an easy usage of the software and to avoid that users abandon it. (ii) the implementation of the application, which requires to look "behind the user interface" in order to analyze architectural and technological aspects that can affect not only the performance, scalability and robustness of an application, but also the types of services that can actually be offered.

Given these two considerations, in compliance with the training objectives of the Master's Degree in Computer Science (Corso di Laurea Magistrale in Informatica (LM18)) and being part of the area “Informatica caratterizzante”, this course aims at providing students with robust basic knowledge about Human-Computer Interaction and methodologies for the design and development of three-tier Web-based and mobile applications.

The course has indeed a double objective: on the one hand, providing students with the knowledge needed for a correct design of human-computer interaction, which underlies the design of all kinds of applications (web-based, mobile ones, etc.). On the other hand the objective is to learn how to analyse and visualise data over large scale. 

More specifically, as regards human-computer interaction, the course will provide theoretical and practical knowledge and skills for correct interaction design, with a specific focus on user-centered design.

Concernig data analysis and visualisation, we will cover the main theoretical basis of visualisation of analysis and interaction with large scale data and the main analysis techniques in Python (using Pandas) and visualisation techniques (using MatplotLib and Seaborn). 

 

Oggetto:

Risultati dell'apprendimento attesi

 CONOSCENZA E CAPACITÀ DI COMPRENSIONE. Acquisizione di conoscenze teoriche e applicative relative a:

  • progettazione centrata sull’utente e il processo di User Experience - UX (personas, rapid prototyping, ecc.)
  • valutazioni euristiche e testing  di usabilità per il responsive  web
  • analisi e visualizzazione di grandi quantità di dati
  • progettazione e organizzazione dell’architettura dell’informazione
  • valutazione dell’accessibilità web secondo le linee guida internazionali e nazionali

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE. Acquisizione della capacità di applicare le conoscenze teoriche relative alle tematiche di cui sopra.

AUTONOMIA DI GIUDIZIO. Acquisizione di consapevole autonomia di giudizio con riferimento alla progettazione e realizzazione di applicazioni web e mobili con interfacce utente accessibili e analisi di larghe quantità di dati.

ABILITÀ COMUNICATIVE. Acquisizione di competenze e strumenti per la comunicazione nella forma scritta e orale, in lingua italiana, unitamente all'utilizzo di linguaggi formali.

CAPACITÀ DI APPRENDIMENTO. Acquisizione di capacità autonome di apprendimento e di
autovalutazione della propria preparazione, atte ad intraprendere gli studi successivi con un alto
grado di autonomia.

KNOWLEDGE AND UNDERSTANDING. Acquisition of theoretical and applicative skills concerning:

  • user-centered design and the User Experience - UX process (personas, rapid prototyping, etc.)
  • usability heuristics and usability testing for responsive web
  • analysis and visualisation of large scale data
  • design and organisation of information architectures
  • evaluation of websites accessibility according to national and international guidelines

APPLYING KNOWLEDGE AND UNDERSTANDING. Acquisition of the ability to apply the above-listed theoretical and applicative skills.

MAKING JUDGMENTS. Acquisition of aware judgement autonomy concerning the design and implementation of web-based and mobile software applications with accessible user interfaces and the visualisation of large quantities of data.

COMMUNICATION SKILLS. Acquisition of oral and written communication skills and expertise, in the Italian language, as well as the ability to use formal languages.

LEARNING SKILLS. Acquisition of independent learning skills and the ability to self-evaluation of one's own preparation, apt to undertake further studies with a high degree of autonomy.

 

Oggetto:

Modalità di insegnamento

L’insegnamento è diviso in una parte di teoria e una di laboratorio.

Per la parte di teoria sono previste 24 ore di lezione frontali che seguono il programma sopra descritto, integrate da casi di studio e da esercitazioni volte ad illustrare l’applicazione pratica dei concetti appena studiati.

La parte di laboratorio consiste di 30 ore ed è focalizzata sulla analisi e visualizazione di dati in Python.

Le lezioni si svolgono in maniera interattiva e sono corredate da vari esercizi miranti a fornire esempi pratici. Le sperimentazioni che vengono effettuate durante le ore di laboratorio, strutturate come sequenze di esercizi specifici, sono fondamentali per aiutare gli studenti/studentesse a comprendere e assimilare i contenuti teorici spiegati a lezione in quanto permettono di mettere in pratica i concetti e le metodologie illustrate su esempi concreti. Inoltre lo sviluppo del progetto di laboratorio permette di consolidare le conoscenze teoriche in un caso realistico di media complessità. Si consiglia caldamente la frequenza costante alle lezioni teoriche e alle esercitazioni.

È inoltre fondamentale iscriversi ai corsi online su I-Learn (Interazione Uomo Macchina), all’interno dei quali è messo a disposizione materiale didattico di supporto.

Nota: dato il rapido evolversi della materia, una larga parte del materiale educativo sarà in inglese.

The course has a theory part and a laboratory part. For the theory part there are 24 hours of frontal lessons which follow the program described above, supplemented by case studies and exercises aimed at illustrating the practical application of the concepts studied. The laboratory part has 30 hours and is focused on data visualisation and analysis in Python. 

The lessons take place in an interactive way and are accompanied by various exercises aimed at providing practical examples. The experiments that are carried out during the laboratory hours, structured as sequences of specific exercises, help students to understand and assimilate the theoretical contents explained in class as they allow to put into practice the concepts and methodologies illustrated on concrete examples. Furthermore, the development of the laboratory project allows to consolidate the theoretical knowledge in a realistic case of medium complexity. Constant attendance at theoretical lessons and exercises is strongly recommended. It is also essential to enroll in online courses on I-Learn (Human-computer Interaction), where support teaching material is available.

A large part of the didactic material will be in English. 

 

Oggetto:

Modalità di verifica dell'apprendimento

L'esame è composto da una VERIFICA DI LABORATORIO che prevede la discussione dei  progetti di laboratorio svolti durante il semestre. I progetti si articola in due parti:

  • Ia) prototipo Figma consegnato insieme ad una presentazione delle scelte progettuali in termini di UX, le schede di Personas e Scenari realizzate, e i report delle valutazioni di usabilità.  Il prototipo deve essere accompagnato da una pagina web realizzata secondo le linee guida di accessibilità presentate nell’insegnamento;
  • Ib) un progetto di data analytics and visualisation scritto in Python. La discussione deve essere effettuata preferibilmente in unica soluzione, con tutti i membri del gruppo di laboratorio presenti.

Il voto per ciascuna parte di laboratorio è un numero compreso tra 0 e 15, si considerano sufficienti i voti >=9. CALCOLO DEL VOTO FINALE DI ESAME: Sia X il voto della parte Ia; sia Y il voto della parte Ib. Il voto Fin finale dell'esame si ottiene come segue: Fin = (X+Y). Note: i voti acquisiti durante le prove di laboratorio, rimangono validi fino al termine della terza sessione d’esame (quella che precede l'inizio del nuovo insegnamento).

Quando si superano entrambe le prove, è necessario registrare il voto finale entro i limiti imposti dal Regolamento di Ateneo.

The exam consists of a LABORATORY TEST that involves discussion of laboratory projects carried out during the course. The projects consist of two parts:

Ia) A Figma prototype, delivered together with a presentation of the design choices in terms of UX, the related Personas and Scenarios tabs, and reports of usability evaluations.  The prototype must be accompanied by a web page created according to the introduced accessibility approaches;
Ib) A data analytics and visualisation project written in Python. 

The discussion should preferably be done in one go, with all members of the lab group present.
The grade for each lab part is a number between 0 and 15, grades >=9 are considered sufficient. CALCULATION OF FINAL EXAMINATION VOTE: Let X be the grade for part Ia; let Y be the grade for part Ib. The final Fin grade of the exam is obtained as follows: Fin = (X+Y). Note: The grades acquired during the lab tests, remain valid until the end of the third exam session (the one before the start of the new course).

When both tests are passed, the final grade will be recorded.

Oggetto:

Programma

  • Parte Ia - Human-computer interaction (HCI)
    • I concetti e ai principi dell’Interaction Design e della User Experience (UX)
    • Il processo di UX e il rapid prototyping
    • Le linee guida di usabilità per il responsive web
    • Principi di architettura dell’informazione
    • Principi, linee guida e casi di studio di visualizzazione dell’informazione
    • Le linee guida di accessibilità internazionali e nazionali: le WCAG, le linee guida AGID
    • Il design centrato sull’utente e le metodologie di valutazione: la fase di valutazione preliminare, la fase di valutazione formativa e la fase sommativa.
    • La valutazione dell’accessibilità, sia oggettiva che soggettiva
  • Parte Ib - Analisi e visualizazione di grandi quantità di dati
    • Il linguaggio Python: introduzione al linguaggio 
    • Data Analytics in Python and Pandas
    • Data visualisation in Python (MatplotLib, Seaborn)

  • Part Ia - Human-computer interaction (HCI)
    • Concepts and principles of Interaction Design and User Experience (UX)
    • UX processes and rapid prototyping
    • Desktop and mobile web usability guidelines
    • Principles of information architecture
    • Principles and case study on information visualization 
    • International and national accessibility guidelines: the WCAGs, the AGID guidelines
    • User-centered design and evaluation methodologies: the preliminary evaluation phase, the formative evaluation phase, and the final phase.
    • The evaluation of accessibility, both objective and subjective
  • Part Ib - Anaysis and visualisation of large scale data
    • Python: introduction to the language
    • Data Analytics in Python and Pandas
    • Data visualisation in Python (MatplotLib, Seaborn)

Testi consigliati e bibliografia

Oggetto:

PARTE 1A:

Altri riferimenti (per consultazione):

  • Don't make me think. Un approccio di buon senso all'usabilità web e mobile, Steve Krug, Tecniche nuove
  • https://www.interaction-design.org/literature
  • Interaction Design: Beyond Human-computer Interaction, Preece et al., Wiley
  • Principi di Web design, di Joe Sklar, Apogeo

PARTE 1B:

1A:

Other references:

  • Don't make me think. Un approccio di buon senso all'usabilità web e mobile, Steve Krug, Tecniche nuove
  • https://www.interaction-design.org/literature
  • Interaction Design: Beyond Human-computer Interaction, Preece et al., Wiley
  • Principi di Web design, di Joe Sklar, Apogeo

1B:



Oggetto:
Ultimo aggiornamento: 11/09/2023 08:45
Location: https://magistrale.informatica.unito.it/robots.html
Non cliccare qui!