Official website of the course "Human Computer Interaction" (code 02JSKOV) offered to students in the 2nd year of the M.S. in Computer Engineering (among elective courses).
This page contains the archived version for the 2019/2020 edition of the course. Short link to the current edition: http://bit.ly/polito-hci
Basic info
Title: | Human Computer Interaction |
Credits: | 6 credits |
Year: | 2nd year Master degree (elective courses) |
Semester | 1st semester (September-January) |
Language: | English |
Main teacher: | Luigi De Russis |
Other teachers: | Fulvio Corno |
Official link: | Portale della Didattica |
GitHub organization: | https://github.com/polito-hci-2021 |
Videolectures: | YouTube Playlist |
Class hours
See the Schedule section for detailed information.
Day | Hour | Location | Type | Note |
---|---|---|---|---|
Tuesday | 13:00-14:30 | Room 7T | Class | |
Thursday | 08:30-10:00 | Room 8I | Class | |
Thursday | 10:00-11:30 | LABINF | Lab (group I) | |
Thursday | 11:30-13:00 | LABINF | Lab (group II) |
Schedule
This section hosts the schedule and learning materials of all the lectures and labs, with topics and deadlines described for each of them. Please consider the following information as a tentatitive preview of the course organization; it is provided only for helping students organize and plan, and is subject to change without notice.
All slides, examples, exercises, and any other material used in the classroom and in the lab will be also posted in a GitHub repository. Moreover, all lectures will be video-recorded and will be available on the Portale della Didattica, as well as here and in a dedicated YouTube playlist.
Date | Type | Details | Time | Video | Teacher |
---|---|---|---|---|---|
28/09/2021 | Lecture | 13:00-14:30 | Luigi De Russis | ||
30/09/2021 | Lecture | 08:30-10:00 | Fulvio Corno | ||
30/09/2021 | Lab | Hall of (Sh|F)ame: UI edition (group I) | 10:00-11:30 | - | Luigi De Russis |
30/09/2021 | Lab | Hall of (Sh|F)ame: UI edition (group II) | 11:30-13:00 | - | Luigi De Russis |
05/10/2021 | Lecture | Needfinding (part I) | 13:00-14:30 | Fulvio Corno | |
07/10/2021 | Lecture | Needfinding (part II) | 08:30-10:00 | Fulvio Corno | |
07/10/2021 | Lab | Getting started with projects (group I) | 10:00-11:30 | - | Luigi De Russis |
07/10/2021 | Lab | Getting started with projects (group II) | 11:30-13:00 | - | Luigi De Russis |
07/10/2021 | Milestone 0 due | EOD | |||
12/10/2021 | Exercise |
Needfinding: exercise (part I)
|
13:00-14:30 | Fulvio Corno | |
14/10/2021 | Lecture |
Needfinding: exercise (part II) |
08:30-10:00 | Fulvio Corno | |
14/10/2021 | Lab | Needfinding: preparation (group I) | 10:00-11:30 | - | Luigi De Russis |
14/10/2021 | Lab | Needfinding: preparation (group II) | 11:30-13:00 | - | Luigi De Russis |
19/10/2021 | Lecture | Task Analysis | 13:00-14:30 | Fulvio Corno | |
21/10/2021 | Lecture | Prototyping (part I) | 8:30-10:00 | Fulvio Corno | |
21/10/2021 | Lab | Needfinding (cont'd, group I) |
10:00-11:30 |
- | Luigi De Russis |
21/10/2021 | Lab | Needfinding (cont'd, group II) | 11:30-13:00 | - | Luigi De Russis |
26/10/2021 | Lecture | Prototyping (part II) | 13:00-14:30 | Fulvio Corno | |
27/10/2021 | Milestone 1 due | EOD | |||
28/10/2021 | Lecture | Design Principles | 8:30-10:00 | Fulvio Corno | |
28/10/2021 | Lab | Storyboard and paper prototypes (group I) | 10:00-11:30 | - | Luigi De Russis |
28/10/2021 | Lab | Storyboard and paper prototypes (group II) | 11:30-13:00 | - | Luigi De Russis |
02/11/2021 | Lecture | Visual design (part I) | 13:00-14:30 | Fulvio Corno | |
04/11/2021 | Lecture | Visual design (part II) | 8:30-10:00 | Fulvio Corno | |
04/11/2021 | Lab | Storyboard and paper prototypes (cont'd, group I) | 10:00-11:30 | - | Luigi De Russis |
04/11/2021 | Lab | Storyboard and paper prototypes (cont'd, group II) | 11:30-13:00 | - | Luigi De Russis |
09/11/2021 | Lecture | 13:00-14:30 | Luigi De Russis | ||
11/11/2021 | Lecture | Heuristic evaluation (part II) | 8:30-10:00 | Luigi De Russis | |
11/11/2021 | Lab | Storyboard and paper prototypes (cont'd, group I) | 10:00-11:30 | - | Luigi De Russis |
11/11/2021 | Lab | Storyboard and paper prototypes (cont'd, group II) | 11:30-13:00 | - | Luigi De Russis |
16/11/2021 | Exercise | Heuristic Evaluation and Visual Design: exercise | 13:00-14:30 | Fulvio Corno | |
18/11/2021 | Lecture | Designing for diversity | 8:30-10:00 | Luigi De Russis | |
18/11/2021 | Lab | Heuristic evaluation (group I) | 10:00-11:30 | - | Luigi De Russis |
18/11/2021 | Lab | Heuristic evaluation (group II) | 11:30-13:00 | - | Luigi De Russis |
23/11/2021 | Lecture | Multimodal interaction (part I) | 13:00-14:30 | Luigi De Russis | |
24/11/2021 | Milestone 2 due | EOD | |||
25/11/2021 | Lecture | Multimodal interaction (part II) | 8:30-10:00 | Luigi De Russis | |
25/11/2021 | Lab | Wireframe (group I) | 10:00-11:30 | - | Luigi De Russis |
25/11/2021 | Lab | Wireframe (group II) | 11:30-13:00 | - | Luigi De Russis |
30/11/2021 | Lecture |
Multimodal Interaction (part III) |
13:00-14:30 | Luigi De Russis | |
02/12/2021 | Lecture | Interacting with AI | 8:30-10:00 | Luigi De Russis | |
02/12/2021 | Lab | Wireframe (con't, group I) | 10:00-11:30 | - | Luigi De Russis |
02/12/2021 | Lab | Wireframe (cont'd, group II) | 11:30-13:00 | - | Luigi De Russis |
07/12/2021 | Lecture | Evaluation: usability testing (part I) | 13:00-14:30 | Luigi De Russis | |
09/12/2021 | Lecture | Evaluation: usability testing (part II) | 8:30-10:00 | Luigi De Russis | |
09/12/2021 | Lab | Hi-fi prototype implementation (group I) | 10:00-11:30 | - | Luigi De Russis |
09/12/2021 | Lab | Hi-fi prototype implementation (group II) | 11:30-13:00 | - | Luigi De Russis |
12/12/2021 | Milestone 3 due (extended!) | EOD | |||
14/12/2021 | Exercise | Planning for usability testing (draft plan created during the lecture) |
13:00-14:30 | Luigi De Russis | |
16/12/2021 | Lecture | Evaluation: controlled experiments (part I) | 8:30-10:00 | Luigi De Russis | |
16/12/2021 | Lab | Usability testing: protocol (group I) | 10:00-11:30 | - | Luigi De Russis |
16/12/2021 | Lab | Usability testing: protocol (group II) | 11:30-13:00 | - | Luigi De Russis |
21/12/2021 | Lecture |
Evaluation: controlled experiments (part II) |
13:00-14:30 | Luigi De Russis | |
Christmas vacation | |||||
11/01/2022 | Exercise | Controlled experiments: exercise [on Zoom] | 13:00-14:30 | Luigi De Russis | |
13/01/2022 | Lab | Hi-fi prototype implementation (group I + II) [on Zoom] | 10:00-11:30 | - | Luigi De Russis |
13/01/2022 | Exercise | Written exam simulation (solutions in the "Exam" section) [on Zoom] | 11:30-13:00 | - | Luigi De Russis |
Video Lectures
Development Resources
This section presents some resources useful for software development that may be relevant for (final) interactive prototypes. Moreover, it lists the software applications and libraries used during the course.
Do you need to refresh your memory about web development? Web Fundamentals is "Google's opinionated reference for building amazing web experiences".
Software In Use
- Node.js 14.17 (LTS) and npm
- Visual Studio Code
- git
- ngrok
Design Resources
- Fonts: Google Fonts is a great resource of easy-to-use fonts, while FontPair may help you pair them
- Icons: Font Awesome and Noun Project are a good free icons package
- Subtle Patterns is useful if you want to add some light patterns to any plain background color
- Sample images: Wunderstock and Unsplash are a good starting point to find Creative Commons photos
- Colors: Adobe Color is an interactive web app to help you choose nice color schemes
Web Development Resources
- Simulate a mobile device from a desktop browser (e.g., with Chrome's Device Mode)
- Geolocation:
- Device orientation: you can access the device gyroscope/accelerometer through dedicate HTML5 API
- Microphone and camera: get audio and take photos with the HTML5 Media Capture API
- Camera roll: to open the smartphone's camera roll, just use
<input type="file" accept="image/*" capture="camera">
- Vibration: make the phone vibrate with the HTML5 Vibration API
- Touch gesture: enable advanced touch gestures (e.g., multi-touch, force touch, etc.) thanks to the HTML5 Touch events
- Notifications: HTML5 Notifications API allows the generation of notifications from the browser
- useful read: Web Workers and PWA
- Examples of usages in the 2020 GitHub course organization: https://github.com/polito-hci-2020?q=sample
Exam
The exam consists of two parts:
- Written test [40%: 13 points, minimum 7]
- Design methods, design processes, design and analysis instruments, ...
- No coding
- Evaluation of the projects (by group) [60%: 20 points]
- Milestones
- Source code
Both parts must be passed in the same academic year, in any order. Material for the projects evaluation must be available on the GitHub repositories assigned to each group.
Next exams, with deadlines:
- [written test] 12/09/2022, h. 08:00, room 4T
- remember to enroll at the exam, by 06/09/2022, on the Portale della Didattica
- [project eval] 12/09/2022, h. 09:30, room 4T
- communicate via Slack your interest in participating by 06/09/2022
- all the milestones (including the code) must be on the group's GitHub repository by 07/09/2022
- specify any request via Slack at the teachers (#discussion channel), by 07/09/2022
Group Projects (with Milestones)
All the deadlines are EOD (End Of Day).
- Description of the Project Work
- Group composition
- Deadline: October 7, 2021
- Submit the form
- Some reasoned examples of project ideas from past years (on GitHub)
- GitHub repositories will be created after the deadline
- Milestone 1
- Project description and needfinding
- Deadline: October 27, 2021
- Template (.md), to be put in the group repository in a "M1" folder
- Milestone 2
- Low-Fi Prototyping and Heuristics
- Deadline: November 24, 2021
- Template (.md), to be put in the group repository in a "M2" folder
- Milestone 3
- Deadline: December 12, 2021 (extended!)
- Template (.md), to be put in the group repository in a "M3" folder
- Milestone 4
- Usability testing and hi-fi prototype code
- Deadline: 7 days before the oral exam
- Template (.md) for the usability testing, to be put in the group repository in a "M4" folder
- Prototype code must be in the "-code" group repository
Written Exams
- Sample exam questions (2019-12-18)
- Exam simulation (2020-01-16), with some possible solutions
- Written exam of 2020-01-29: text, possible solutions
- Written exam of 2020-02-10: text, possible solutions
- Exam simulation (2021-01-14), with some possible solutions
- Written exam of 2021-01-28: text, possible solutions
- Exam simulation (2022-01-13), with some possibile solutions
- Written exam of 2022-02-04