Skip to main content
CODE 86985
ACADEMIC YEAR 2026/2027
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR ING-INF/01
LANGUAGE Italian
TEACHING LOCATION
  • GENOVA
SEMESTER 2° Semester
TEACHING MATERIALS AULAWEB

OVERVIEW

The course introduces the principles of the Internet of Things (IoT) and the Web of Things (WoT), showing how to integrate physical devices and Web services to collect and process data and interact with the environment through actuators. Through practical activities, students develop systems that connect sensors, embedded devices, remote services and user interfaces, using technologies such as Arduino, HTTP, REST APIs, JavaScript, Node.js and MongoDB.

 

AIMS AND CONTENT

LEARNING OUTCOMES

By looking at real-world application scenarios, the students will understand the most important IoT technologies and the fundamental Web architectural principles. The students will have the opportunity to apply these technologies to develop some real-world use cases, using open-source platforms for implementing prototypes and testing them as running applications.

AIMS AND LEARNING OUTCOMES

By the end of the course, students will be able to:

  • define the requirements of an IoT system integrating sensors, actuators, local processing, remote services and interfaces accessible from mobile devices;
  • acquire and process sensor data using embedded systems and control actuators;
  • design and implement REST APIs using HTTP and Node.js;
  • manage data collection and persistence on a remote server using MongoDB;
  • develop interfaces for data visualisation and interaction with the system;
  • integrate hardware and software components into a working prototype and verify compliance with requirements;
  • justify design choices by comparing alternative solutions and discussing their advantages and limitations in relation to project requirements and constraints;
  • collaborate on project development by agreeing on task allocation, coordinating activities and contributing to component integration and problem-solving;
  • communicate and document their work using appropriate technical language, explaining the system architecture, implementation choices and verification results.

PREREQUISITES

Basic knowledge of C programming and digital system design principles is required.

TEACHING METHODS

The course alternates between lectures and practical sessions. Slides and source code will be made available before classes to support preparation and independent study.

During classes, the lecturer will explore the concepts presented in the materials in greater depth and demonstrate their application, guiding students through the design, implementation and verification of IoT components and systems. Practical sessions involve solving applied problems and integrating hardware devices with software services.

Practical activities will encourage comparison of alternative solutions, collaboration and discussion of any difficulties encountered. Students will be guided in documenting their work, justifying their choices and presenting their results.

Students may use their own computers during classes to carry out the proposed activities. In-person attendance at lectures and practical sessions is strongly recommended.

Students with valid certifications for Specific Learning Disabilities (SLD), disabilities, or other educational needs are invited to contact the teacher and the School Disability Coordinator at the beginning of the teaching unit to discuss possible teaching methods that, while respecting the teaching unit objectives, take into account individual learning styles. The contact details of the School Disability Coordinator are available at the following link: University Committee for the Inclusion of Students with Disabilities or SLD | UniGe | University of Genoa

SYLLABUS/CONTENT

The course covers the following topics:

  • Introduction to IoT, WoT and physical computing: principles, architectures and integration between the physical world and digital services.
  • Embedded devices and local processing: the role of edge devices and use of the Arduino platform.
  • Sensors and actuators: measurement acquisition and interaction with the physical environment.
  • JavaScript: language fundamentals and applications in IoT system development.
  • HTTP: communication between devices and Web services.
  • Node.js: development of server-side applications and services.
  • REST APIs: principles of interface design and implementation.
  • WoT proxy: integration of physical devices with Web services.
  • Data persistence: data collection and storage using non-relational databases, with a focus on MongoDB.
  • Security: principles for protecting devices, communications and services.
  • Interoperability and semantics: representation and sharing of information across systems.
  • User interfaces: data visualisation and interaction with the system, including through mobile devices.

Some teaching materials, including slides and source code for the practical exercises, are available in the course repository.

RECOMMENDED READING/BIBLIOGRAPHY

The slides, source code and other teaching materials will be available on aul@web. The materials provided, supplemented by notes taken during lectures and completion of the practical exercises, are sufficient to prepare for the examination.

The following books are recommended for further reading:

  • Michael Margolis, Arduino Cookbook, O’Reilly.
  • Dominique Guinard, Building the Web of Things, Manning.
  • Tom Hughes-Croucher, Node: Up and Running, O’Reilly.
  • Leonard Richardson, RESTful Web APIs, O’Reilly. 
  • Marijn Haverbeke, Eloquent JavaScript: A Modern Introduction to Programming, No Starch Press.

TEACHERS AND EXAM BOARD

LESSONS

Class schedule

The timetable for this course is available here: Portale EasyAcademy

EXAMS

EXAM DESCRIPTION

The examination consists of an oral assessment covering theoretical topics and a discussion of the practical exercises completed during the course.

Students must demonstrate an understanding of IoT system design principles, with particular emphasis on REST APIs, and the ability to apply them to the integration of hardware and software components. The discussion of the practical exercises will explore the solutions developed, the design choices made and the results obtained.

Students with valid certifications for Specific Learning Disabilities (SLD), disabilities, or other educational needs may request compensatory and/or exemption measures for the exam. The procedures will be defined on a case-by-case basis, in accordance with the University Regulations, in consultation with the instructor and the School's Disability and SLD Coordinator.

ASSESSMENT METHODS

The oral examination assesses students’ understanding of the course content and their ability to apply it to the design and implementation of IoT systems. Further guidance on the examination format and the required depth of understanding will be provided during lectures.

Students must:

  • explain the concepts and technologies covered, describing how they work, their conditions of application, advantages and limitations;
  • describe the architecture of the solutions developed and the interactions between devices, services and interfaces;
  • justify design choices by comparing them with possible alternatives;
  • describe the verification activities performed, the results obtained and the approaches used to resolve problems;
  • present their work clearly, using appropriate technical language.

For collaborative activities, students must also explain their individual contribution, the allocation of tasks and how the work was coordinated and integrated.

Assessment will take into account the accuracy and completeness of responses, the ability to connect theory and practice, independent judgement and clarity of technical communication.

FURTHER INFORMATION

For further information not included in the course description, please contact the lecturer.

Agenda 2030 - Sustainable Development Goals

Agenda 2030 - Sustainable Development Goals
Industry, innovation and infrastructure
Industry, innovation and infrastructure
Sustainable cities and communities
Sustainable cities and communities
Responbile consumption and production
Responbile consumption and production