You are here: Home » Study Plan » Subject




Course year 3
Teaching units Unit intelligent internet of things
Computer Engineering (lesson)
  • TAF: Compulsory subjects, characteristic of the class SSD: ING-INF/05 CFU: 9
Teachers: Marco PICONE
Mandatory prerequisites Inglese
Exam type written
Evaluation final vote
Teaching language Italiano
Contents download pdf download




In terms of knowledge and understanding, the objectives of the course are as follows:

● Provide the student with a basic knowledge of the main operating principles of Internet of Things systems, with particular attention to communication protocols, distributed architectures and principles of design and development;
● Provide the student with applied knowledge based on the use of a testbed and IoT devices in the laboratory
● Provide an insight into the technological and research trends affecting the world of the Internet of Things and Edge Computing

Admission requirements

No mandatory prerequisites, but strongly recommended:
● Programming
● Internet, Web and Cloud

Course contents

The course is divided into a part of frontal teaching and a part of workshops and practical exercises. The first part is dedicated to the introduction to the Internet of Things (IoT), with a description of the main communication protocols, paradigms and architectural approaches, issues related to the Web of Things and interoperability and topics related to the relationship between IoT, Cloud and Edge Computing. The second part is dedicated to the laboratory and to the direct experimentation of IoT technologies. Students will be introduced to the main operating systems, protocols, programming languages and libraries and to application level development tools.

The laboratory part ends with the assignment of a project (single or group), which consists in the design and development of a complete IoT application (also using the laboratory nodes and devices) and in the subsequent drafting of a report of project. The final mark is an average (weighted) value of the marks of a written test of the project.

The structure of the defined topics and the associated lectures can be summarized as follow:

(A) IoT Introduction & IoT Networking [1CFU]

- IoT Physical / Link Layer
- IoT Network and Transport Layer
- TCP & UDP Overview

(B) IoT Application Layer Protocols & Communication Paradigms [3CFU]

- Protocol & Communication Paradigms Overview
- HTTP RESTFul API Laboratory
- MQTT (MQ Telemetry Transport)
- MQTT HandsOn Session
- MQTT Laboratory
- Constrained Application Protocol (CoAP)
- CoAP HandsOn Session
- CoAP Laboratory

(C) IoT Discoverability & Interoperability [2CFU]

- Resource & Service Discovery, CoRe Interfaces & IoT Media Types
- IoT Smart Object Design - HandsOn Session
- IoT Interoperability Laboratory
- IoT & Web Of Things

(D) IoT Architecture & Design [2CFU]

- IoT & Edge Computing
- IoT End - To - End Design
- Monolithic and Microservice Architectures for the IoT
- IoT Hardware & Software
- IoT Security & Privacy

(C) Advanced Application & IoT Intelligence [1CFU]

- Virtual Objects & Digital Twins
- IoT Data Processing, Visualization & Machine Learning

Teaching methods

The course is balanced between lectures and practical lessons (hands on) in the laboratory both individually and in groups. In addition, there are two seminar lessons related to the world of companies operating in the IoT sector and to the future vision of upcoming technological developments. The course is delivered in the Italian language, the attendance mode is in-person, and there is no attendance requirement. The lessons of the course (both as regards the frontal and laboratory part) will focus on the use of slides (regularly provided to students), with exclusive material for the course and also with precise references to textbooks and others adopted articles / teaching material.

Assessment methods

The exam consists of the following tests: ● Written exam (typically 4 questions) on the theoretical and design aspects related to the IoT world and the topics presented in class. ● Realization of a project (single and / or in a group) starting from a list of projects and topics presented in class, with report and discussion of the same during the examination The final mark is an average (weighted) value of the marks in the first test and in the project.

Learning outcomes

(1) Knowledge and understanding.
Understand and apply skills and knowledge presented in the course

(2) Ability to apply knowledge and understanding.
Design, programming and management skills for modern distributed and IoT software systems and architectures

(3) Autonomy of judgment.
Capability of evaluating architectural and design choices for IoT pervasive and distributed systems.

(4) Communication skills.
Capability to organize and present with the necessary technicality the results of own study, work and project.

(5) Learning skills.
Methodological tools to update in autonomy the acquired skills, a critical aspect in a continuously evolving technical scenario


- J. P. Vasseur and A. Dunkels, “Interconnecting Smart Objects with IP,” Morgan Kaufmann, 2010
- Scientific papers
- Lectures handouts