PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



Prototyping interactive systems

01WMJOA, 01WMJLM

A.A. 2026/27

Course Language

Inglese

Degree programme(s)

1st degree and Bachelor-level of the Bologna process in Ingegneria Informatica - Torino
1st degree and Bachelor-level of the Bologna process in Ingegneria Informatica (Computer Engineering) - Torino

Course structure
Teaching Hours
Lezioni 30
Esercitazioni in aula 30
Esercitazioni in laboratorio 20
Lecturers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Monge Roffarello Alberto   Ricercatore a tempo det. L.240/10 art.24-B IINF-05/A 30 30 0 0 1
Co-lectures
Espandi

Context
SSD CFU Activities Area context
ING-INF/05
ING-INF/05
6
2
B - Caratterizzanti
E - Per prova finale e conoscenza della lingua straniera
Ingegneria informatica
Per la prova finale
2026/27
Interactive systems have become deeply intertwined with our physical environment: smart objects, ambient displays, and wearable devices sense and react to people and contexts in ways that go well beyond traditional screen-based interfaces. Designing for such systems means moving fluidly between software, hardware, and the surrounding world, and being able to quickly turn ideas into something tangible that real users can experience and react to. This course teaches students to prototype across these layers: from web and mobile interfaces to physical computing with Raspberry Pi, using modalities such as voice, touch, and gesture. Working through a Human-Computer Interaction (HCI) lens, students learn not only how to build, but how to justify their design choices and refine them through user feedback.
Interactive systems have become deeply intertwined with our physical environment: smart objects, ambient displays, and wearable devices sense and react to people and contexts in ways that go well beyond traditional screen-based interfaces. Designing for such systems means moving fluidly between software, hardware, and the surrounding world, and being able to quickly turn ideas into something tangible that real users can experience and react to. This course teaches students to prototype across these layers: from web and mobile interfaces to physical computing with Raspberry Pi, using modalities such as voice, touch, and gesture. Working through a Human-Computer Interaction (HCI) lens, students learn not only how to build, but how to justify their design choices and refine them through user feedback.
Knowledge: • Understand the basic principles of HCI relevant to interaction design: affordances, feedback, mental models, and the conditions under which different interaction modalities are appropriate for a given context. • Know the role of prototyping in the design of interactive systems and the main techniques to move from idea to functional prototype. • Have an essential understanding of web technologies as a medium for building modern interactive systems. • Have an essential understanding of physical computing platforms and common sensors/actuators. • Be familiar with lightweight methods to evaluate interactive prototypes with users. Skills: • Develop a working prototype that integrates web technologies and basic hardware components. • Use single-board computers (e.g., Raspberry Pi) and a small set of sensors and actuators to support new interaction ideas. • Critically review the design choices of other students. • Work effectively in a small team across the whole prototyping cycle.
Knowledge: • Understand the basic principles of HCI relevant to interaction design: affordances, feedback, mental models, and the conditions under which different interaction modalities are appropriate for a given context. • Know the role of prototyping in the design of interactive systems and the main techniques to move from idea to functional prototype. • Have an essential understanding of web technologies as a medium for building modern interactive systems. • Have an essential understanding of physical computing platforms and common sensors/actuators. • Be familiar with lightweight methods to evaluate interactive prototypes with users. Skills: • Develop a working prototype that integrates web technologies and basic hardware components. • Use single-board computers (e.g., Raspberry Pi) and a small set of sensors and actuators to support new interaction ideas. • Critically review the design choices of other students. • Work effectively in a small team across the whole prototyping cycle.
• Basic programming skills (familiarity with Python is helpful). • Curiosity and willingness to learn by tinkering with software and hardware. • Attitude towards working in groups and giving/receiving feedback.
• Basic programming skills (familiarity with Python is helpful). • Curiosity and willingness to learn by tinkering with software and hardware. • Attitude towards working in groups and giving/receiving feedback.
The course is organized in four content areas: • Introduction to HCI, prototyping, and interaction modalities (approx. 1 credit): shared language on affordances, feedback, and mental models; the prototyping mindset and the iterative design cycle; overview of common interaction modalities (touch, voice, gesture, tangible, ambient) and what makes a modality appropriate for a specific context. • Web technologies as a medium for interactive systems (approx. 2 credits): practical foundations of HTML, CSS, and JavaScript for interactive interfaces; client-side architectures for prototyping; the Web Speech API for voice input/output; mobile sensor and device APIs (e.g., geolocation, device orientation, camera, vibration); touch and pointer events. • Physical computing with Raspberry Pi (approx. 2 credits): single-board computers and the rationale of physical computing; GPIO basics; a small set of representative sensors and actuators; connecting hardware to a software application (Python, simple networking). • Putting it all together and lightweight evaluation (approx. 1 credit): Composing software and physical components into a single interactive system; lightweight evaluation methods (think-aloud sessions, structured observation); elaborating and applying evaluation findings. Such topis are complemented by a substantial block of lab activities (approx. 2 credits), dedicated to hands-on activities tied to each content area, including practice with web APIs, voice and mobile sensors, and Raspberry Pi, as well as supervised time on the course projects (see Course structure).
The course is organized in four content areas: • Introduction to HCI, prototyping, and interaction modalities (approx. 1 credit): shared language on affordances, feedback, and mental models; the prototyping mindset and the iterative design cycle; overview of common interaction modalities (touch, voice, gesture, tangible, ambient) and what makes a modality appropriate for a specific context. • Web technologies as a medium for interactive systems (approx. 2 credits): practical foundations of HTML, CSS, and JavaScript for interactive interfaces; client-side architectures for prototyping; the Web Speech API for voice input/output; mobile sensor and device APIs (e.g., geolocation, device orientation, camera, vibration); touch and pointer events. • Physical computing with Raspberry Pi (approx. 2 credits): single-board computers and the rationale of physical computing; GPIO basics; a small set of representative sensors and actuators; connecting hardware to a software application (Python, simple networking). • Putting it all together and lightweight evaluation (approx. 1 credit): Composing software and physical components into a single interactive system; lightweight evaluation methods (think-aloud sessions, structured observation); elaborating and applying evaluation findings. Such topis are complemented by a substantial block of lab activities (approx. 2 credits), dedicated to hands-on activities tied to each content area, including practice with web APIs, voice and mobile sensors, and Raspberry Pi, as well as supervised time on the course projects (see Course structure).
The course follows a project-based approach. Students will work on two projects: an individual warm-up, followed by a more ambitious group project. 1) Individual warm-up project (first 4-6 weeks). Each student designs and builds a small interactive prototype of their own choice, using web technologies and at least one of the interaction modalities covered in class (e.g., voice, touch, mobile sensors). The prototype is submitted together with a short design rationale document that explains the main choices made (e.g., why a given modality, why a given software architecture, etc.). Each warm-up project will then be peer-critiqued by other students using a rubric provided by the teachers. 2) Group project (remainder of the semester). Students work in small groups (typically 3-5 people) to design and build an interactive prototype that combines the web technologies seen in the course with a Raspberry Pi and basic sensors/actuators. The group proposes its concept in the first week of the project, as a one-page brief, within one of a small set of application domains chosen by the teachers. Each group will have access to hardware starter kits; groups are free, and encouraged, to extend the kit with additional components and to explore solutions on their own. Each group project will and receive feedback and a light evaluation, e.g., through think aloud sessions, by components of other groups. Communication and project development will rely on contemporary tools (e.g., Figma, Telegram).
The course follows a project-based approach. Students will work on two projects: an individual warm-up, followed by a more ambitious group project. 1) Individual warm-up project (first 4-6 weeks). Each student designs and builds a small interactive prototype of their own choice, using web technologies and at least one of the interaction modalities covered in class (e.g., voice, touch, mobile sensors). The prototype is submitted together with a short design rationale document that explains the main choices made (e.g., why a given modality, why a given software architecture, etc.). Each warm-up project will then be peer-critiqued by other students using a rubric provided by the teachers. 2) Group project (remainder of the semester). Students work in small groups (typically 3-5 people) to design and build an interactive prototype that combines the web technologies seen in the course with a Raspberry Pi and basic sensors/actuators. The group proposes its concept in the first week of the project, as a one-page brief, within one of a small set of application domains chosen by the teachers. Each group will have access to hardware starter kits; groups are free, and encouraged, to extend the kit with additional components and to explore solutions on their own. Each group project will and receive feedback and a light evaluation, e.g., through think aloud sessions, by components of other groups. Communication and project development will rely on contemporary tools (e.g., Figma, Telegram).
• Course slides and accompanying materials (links, tutorials, datasheets, code examples). • Online resources, including official documentation and tutorials for Raspberry Pi and selected sensor platforms, and reference materials from related international courses on prototyping with hardware. • Selected chapters of: o Donald A. Norman: The Design of Everyday Things, Revised and Expanded Edition, Basic Books, 2013. o Bill Buxton: Sketching User Experiences: Getting the Design Right and the Right Design, Morgan Kaufmann, 2007. o Alan Dix, Janet Finlay, Gregory Abowd, Russell Beale: Human Computer Interaction, 3rd Edition, Prentice Hall, 2004.
• Course slides and accompanying materials (links, tutorials, datasheets, code examples). • Online resources, including official documentation and tutorials for Raspberry Pi and selected sensor platforms, and reference materials from related international courses on prototyping with hardware. • Selected chapters of: o Donald A. Norman: The Design of Everyday Things, Revised and Expanded Edition, Basic Books, 2013. o Bill Buxton: Sketching User Experiences: Getting the Design Right and the Right Design, Morgan Kaufmann, 2007. o Alan Dix, Janet Finlay, Gregory Abowd, Russell Beale: Human Computer Interaction, 3rd Edition, Prentice Hall, 2004.
Slides; Video lezioni dell’anno corrente; Strumenti di collaborazione tra studenti;
Lecture slides; Video lectures (current year); Student collaboration tools;
Modalita di esame: Prova orale obbligatoria; Elaborato progettuale individuale; Elaborato progettuale in gruppo;
Exam: Compulsory oral exam; Individual project; Group project;
... The assessment is based on the two projects developed during the course (see the “Course structure” section). The individual warm-up project is submitted in the first part of the semester, together with its design rationale document, and undergoes peer critique using the provided rubric. For the group project, each group submits the final prototype (source code and any hardware-related material, final report) seven days before the official exam date. The exam is then held as an oral session in which all group members must be present, presenting and demonstrating the working prototype. The final demo and Q&A are evaluated according to technical execution, appropriateness of the chosen interaction modalities, and clarity and correctness of the discussion. The assessment is expressed on a scale of 30 points: • Individual warm-up project (prototype + design rationale): up to 8 points. • Group project (prototype + final report): up to 18 points. • Final demo, oral discussion, and Q&A on the group project: up to 4 points. Additional points (up to 2) may be awarded for high-quality peer evaluation activities, for the originality, complexity, or richness of the work (including effective use of the chosen interaction modalities and of hardware), and for the quality of the oral discussion. These additional points may allow students to reach 30L. Since the final exam for the Bachelor’s Degree in Computer Engineering is combined with a third-year course, an additional question on the topics of that course will be asked individually to each student during the oral exam. The courses for the second semester of the third year (Table C) from which Bachelor's Degree in Computer Engineering students may choose are the following: • Introduction to Embedded Systems Electronics - 8 credits • Introduction to Web Applications - 8 credits • Introduction to Data Science and Visualization - 8 credits • Technologies for IoT Ecosystems - 8 credits • Introduction to Multimedia in Computer Graphics – 8 credits • Prototyping Interactive Systems – 8 credits Students who enrolled in the first year before the 2023/24 academic year and do not have one of the previous courses in their career plan will be paired with Computer Networks, and will therefore not be asked this additional question.
Gli studenti e le studentesse con disabilita o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unita Special Needs, al fine di permettere al/la docente la declinazione piu idonea in riferimento alla specifica tipologia di esame.
Exam: Compulsory oral exam; Individual project; Group project;
The assessment is based on the two projects developed during the course (see the “Course structure” section). The individual warm-up project is submitted in the first part of the semester, together with its design rationale document, and undergoes peer critique using the provided rubric. For the group project, each group submits the final prototype (source code and any hardware-related material, final report) seven days before the official exam date. The exam is then held as an oral session in which all group members must be present, presenting and demonstrating the working prototype. The final demo and Q&A are evaluated according to technical execution, appropriateness of the chosen interaction modalities, and clarity and correctness of the discussion. The assessment is expressed on a scale of 30 points: • Individual warm-up project (prototype + design rationale): up to 8 points. • Group project (prototype + final report): up to 18 points. • Final demo, oral discussion, and Q&A on the group project: up to 4 points. Additional points (up to 2) may be awarded for high-quality peer evaluation activities, for the originality, complexity, or richness of the work (including effective use of the chosen interaction modalities and of hardware), and for the quality of the oral discussion. These additional points may allow students to reach 30L. Since the final exam for the Bachelor’s Degree in Computer Engineering is combined with a third-year course, an additional question on the topics of that course will be asked individually to each student during the oral exam. The courses for the second semester of the third year (Table C) from which Bachelor's Degree in Computer Engineering students may choose are the following: • Introduction to Embedded Systems Electronics - 8 credits • Introduction to Web Applications - 8 credits • Introduction to Data Science and Visualization - 8 credits • Technologies for IoT Ecosystems - 8 credits • Introduction to Multimedia in Computer Graphics – 8 credits • Prototyping Interactive Systems – 8 credits Students who enrolled in the first year before the 2023/24 academic year and do not have one of the previous courses in their career plan will be paired with Computer Networks, and will therefore not be asked this additional question.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.
Esporta Word